Lines Matching +full:0 +full:x90000

28 Protocol 2.02	(Kernel 2.4.0-test3-pre3) New command line protocol.
99 0A0000 +------------------------+
121 0x100000 ("high memory"), and the kernel real-mode block (boot sector,
123 0x10000 and end of low memory. Unfortunately, in protocols 2.00 and
124 2.01 the 0x90000+ memory range is still used internally by the kernel;
139 0x90000 segment, the boot loader should make sure not to use memory
140 above the 0x9A000 point; too many BIOSes will break above that point.
149 0A0000 +------------------------+
180 following header at offset 0x01f1. The real-mode code can total up to
195 01FE/2 ALL boot_flag 0xAA55 magic number
200 020C/2 2.00+ start_sys_seg The load-low segment (0x1000) (obsolete)
232 (1) For backwards compatibility, if the setup_sects field contains 0, the
241 If the "HdrS" (0x53726448) magic number is not found at offset 0x202,
247 Real-mode kernel must be located at 0x90000.
250 e.g. protocol version 2.01 will contain 0x0201 in this field. When
273 Offset/size: 0x1f1/1
278 0, the real value is 4. The real-mode code consists of the boot
284 Offset/size: 0x1f2/2
295 Offset/size: 0x1f4/4 (protocol 2.04+) 0x1f4/2 (protocol ALL)
307 Offset/size: 0x1f8/2
316 Offset/size: 0x1fa/2
324 Offset/size: 0x1fc/2
334 Offset/size: 0x1fe/2
338 Contains 0xAA55. This is the closest thing old Linux kernels have
344 Offset/size: 0x200/2
348 Contains an x86 jump instruction, 0xEB followed by a signed offset
349 relative to byte 0x202. This can be used to determine the size of
355 Offset/size: 0x202/4
359 Contains the magic number "HdrS" (0x53726448).
364 Offset/size: 0x206/2
369 e.g. 0x0204 for version 2.04, and 0x0a11 for a hypothetical version
375 Offset/size: 0x208/4
384 Offset/size: 0x20c/2
388 The load low segment (0x1000). Obsolete.
393 Offset/size: 0x20e/2
398 human-readable kernel version number string, less 0x200. This can
400 should be less than (0x200*setup_sects).
402 For example, if this value is set to 0x1c00, the kernel version
403 number string can be found at offset 0x1e00 in the kernel file.
407 0x1c00 < 15*0x200 (= 0x1e00) but
408 0x1c00 >= 14*0x200 (= 0x1c00)
410 0x1c00 >> 9 = 14, So the minimum value for setup_secs is 15.
415 Offset/size: 0x210/1
420 0xTV here, where T is an identifier for the boot loader and V is
421 a version number. Otherwise, enter 0xFF here.
423 For boot loader IDs above T = 0xD, write T = 0xE to this field and
424 write the extended ID minus 0x10 to the ext_loader_type field.
428 For example, for T = 0x15, V = 0x234, write::
430 type_of_loader <- 0xE4
431 ext_loader_type <- 0x05
432 ext_loader_ver <- 0x23
437 0 LILO
438 (0x00 reserved for pre-2.00 bootloader)
441 (0x20, all other values reserved)
453 F Special (0xFF = undefined)
466 Offset/size: 0x211/1
472 Bit 0 (read): LOADED_HIGH
474 - If 0, the protected-mode code is loaded at 0x10000.
475 - If 1, the protected-mode code is loaded at 0x100000.
483 - If 0, KASLR disabled.
487 - If 0, print early messages.
510 Offset/size: 0x212/2
515 loaded at 0x90000, it gets moved there later in the loading
523 if the real-mode code is loaded at 0x90000.
528 Offset/size: 0x214/4
547 Offset/size: 0x218/4
557 Offset/size: 0x21c/4
567 Offset/size: 0x220/4
576 Offset/size: 0x224/2
581 code) of the end of the setup stack/heap, minus 0x0200.
586 Offset/size: 0x226/1
592 (type_of_loader & 0x0f) + (ext_loader_ver << 4).
602 Type: write (obligatory if (type_of_loader & 0xf0) == 0xe0)
603 Offset/size: 0x227/1
608 type_of_loader field. If the type in type_of_loader is 0xE, then
609 the actual type is (ext_loader_type + 0x10).
611 This field is ignored if the type in type_of_loader is not 0xE.
619 Offset/size: 0x228/4
625 the setup heap and 0xA0000; it does not have to be located in the
637 Offset/size: 0x22c/4
643 field is not present, and the maximum address is 0x37FFFFFF. (This
646 0x37FFFFFF, you can start your ramdisk at 0x37FE0000.)
651 Offset/size: 0x230/4
668 Offset/size: 0x234/1
680 Offset/size: 0x235/1
698 Offset/size: 0x236/2
704 Bit 0 (read): XLF_KERNEL_64
706 - If 1, this kernel has the legacy 64-bit entry point at 0x200.
720 given at handover_offset + 0x200.
730 Offset/size: 0x238/4
742 Offset/size: 0x23c/4
754 0x00000000 The default x86/PC environment
755 0x00000001 lguest
756 0x00000002 Xen
757 0x00000003 Moorestown MID
758 0x00000004 CE4100 TV Platform
764 Offset/size: 0x240/8
775 Offset/size: 0x248/4
793 Offset/size: 0x24c/4
802 Offset/size: 0x250/8
815 u8 data[0];
819 linked list, the next field of the last node is 0; the type is used
853 __u64 next = 0 or <addr_of_next_setup_data_struct>;
858 __u32 reserved = 0;
872 Offset/size: 0x258/8
887 Offset/size: 0x260/4
907 Offset/size: 0x264/4
919 Offset/size: 0x268/4
972 .long 0x01234567 /* Some fixed size data for the bootloaders. */
978 .long 0x89012345
992 without \0 at the end of the string, which does not collide with
1001 Offset/size: 0x0000/4
1004 Contains the magic number "LToP" (0x506f544c).
1008 Offset/size: 0x0004/4
1018 Offset/size: 0x0008/4
1026 Offset/size: 0x000c/4
1036 the entire file using the characteristic polynomial 0x04C11DB7 and an
1037 initial remainder of 0xffffffff. The checksum is appended to the
1039 syssize field of the header is always 0.
1058 heap and 0xA0000.
1063 - At offset 0x0020 (word), "cmd_line_magic", enter the magic
1064 number 0xA33F.
1066 - At offset 0x0022 (word), "cmd_line_offset", enter the offset
1086 Unfortunately, under the following circumstances the 0x90000 memory
1089 - When loading a zImage kernel ((loadflags & 0x01) == 0).
1095 relocated to 0x90000. For the "old" protocol, the
1096 real-mode code must be loaded at 0x90000.
1098 When loading at 0x90000, avoid using memory above 0x9a000.
1115 When loading below 0x90000, use the entire segment:
1118 0x0000-0x7fff Real mode kernel
1119 0x8000-0xdfff Stack and heap
1120 0xe000-0xffff Kernel command line
1123 When loading at 0x90000 OR the protocol version is 2.01 or earlier:
1126 0x0000-0x7fff Real mode kernel
1127 0x8000-0x97ff Stack and heap
1128 0x9800-0x9fff Kernel command line
1135 if ( setup_sects == 0 ) {
1139 if ( protocol >= 0x0200 ) {
1146 if ( protocol >= 0x0202 && loadflags & 0x01 )
1147 heap_end = 0xe000;
1149 heap_end = 0x9800;
1151 if ( protocol >= 0x0201 ) {
1152 heap_end_ptr = heap_end - 0x200;
1153 loadflags |= 0x80; /* CAN_USE_HEAP */
1156 if ( protocol >= 0x0202 ) {
1160 cmd_line_magic = 0xA33F;
1168 heap_end = 0x9800;
1170 cmd_line_magic = 0xA33F;
1174 loaded at 0x90000 */
1176 if ( base_ptr != 0x90000 ) {
1178 memcpy(0x90000, base_ptr, (setup_sects+1)*512);
1179 base_ptr = 0x90000; /* Relocated */
1182 strcpy(0x90000+cmd_line_offset, cmdline);
1185 memset(0x90000 + (setup_sects+1)*512, 0,
1194 in the kernel file (again, if setup_sects == 0 the real value is 4.)
1195 It should be loaded at address 0x10000 for Image/zImage kernels and
1196 0x100000 for bzImage kernels.
1198 The kernel is a bzImage kernel if the protocol >= 2.00 and the 0x01
1201 is_bzImage = (protocol >= 0x0200) && (loadflags & 0x01);
1202 load_address = is_bzImage ? 0x100000 : 0x10000;
1205 the entire 0x10000-0x90000 range of memory. This means it is pretty
1207 0x90000. bzImage kernels allow much more flexibility.
1224 "normal" (meaning 0xFFFF), "ext" (meaning 0xFFFE) or "ask"
1225 (meaning 0xFFFD). This value should be entered into the
1263 located at *segment* offset 0x20 from the start of the real mode
1265 0x90000, the kernel entry point is 9020:0000.
1268 kernel code (0x9000 if the code is loaded at 0x90000), sp should be
1277 be == 0x90000 at this point; see the previous sample code */
1288 jmp_far(seg+0x20, 0); /* Run the kernel */
1320 set them up to BOOT_DS (0x18) yourself.
1339 from offset 0x01f1 of kernel image on should be loaded into struct
1343 0x0202 + byte value at offset 0x0201
1359 __BOOT_CS(0x10) and __BOOT_DS(0x18); both descriptors must be 4G flat
1375 Then, the setup header at offset 0x01f1 of kernel image on should be
1379 0x0202 + byte value at offset 0x0201
1392 64-bit kernel plus 0x200.
1398 __BOOT_CS(0x10) and __BOOT_DS(0x18); both descriptors must be 4G flat
1438 loading protocol (refer to [0] for an example of the bootloader side of
1444 [0] https://github.com/u-boot/u-boot/commit/ec80b4735a593961fe701cc3a5d717d4739b0fd0