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
886 Offset/size: 0x260/4
906 Offset/size: 0x264/4
918 Offset/size: 0x268/4
971 .long 0x01234567 /* Some fixed size data for the bootloaders. */
977 .long 0x89012345
991 without \0 at the end of the string, which does not collide with
1000 Offset/size: 0x0000/4
1003 Contains the magic number "LToP" (0x506f544c).
1007 Offset/size: 0x0004/4
1017 Offset/size: 0x0008/4
1025 Offset/size: 0x000c/4
1035 the entire file using the characteristic polynomial 0x04C11DB7 and an
1036 initial remainder of 0xffffffff. The checksum is appended to the
1038 syssize field of the header is always 0.
1057 heap and 0xA0000.
1062 - At offset 0x0020 (word), "cmd_line_magic", enter the magic
1063 number 0xA33F.
1065 - At offset 0x0022 (word), "cmd_line_offset", enter the offset
1085 Unfortunately, under the following circumstances the 0x90000 memory
1088 - When loading a zImage kernel ((loadflags & 0x01) == 0).
1094 relocated to 0x90000. For the "old" protocol, the
1095 real-mode code must be loaded at 0x90000.
1097 When loading at 0x90000, avoid using memory above 0x9a000.
1114 When loading below 0x90000, use the entire segment:
1117 0x0000-0x7fff Real mode kernel
1118 0x8000-0xdfff Stack and heap
1119 0xe000-0xffff Kernel command line
1122 When loading at 0x90000 OR the protocol version is 2.01 or earlier:
1125 0x0000-0x7fff Real mode kernel
1126 0x8000-0x97ff Stack and heap
1127 0x9800-0x9fff Kernel command line
1134 if ( setup_sects == 0 ) {
1138 if ( protocol >= 0x0200 ) {
1145 if ( protocol >= 0x0202 && loadflags & 0x01 )
1146 heap_end = 0xe000;
1148 heap_end = 0x9800;
1150 if ( protocol >= 0x0201 ) {
1151 heap_end_ptr = heap_end - 0x200;
1152 loadflags |= 0x80; /* CAN_USE_HEAP */
1155 if ( protocol >= 0x0202 ) {
1159 cmd_line_magic = 0xA33F;
1167 heap_end = 0x9800;
1169 cmd_line_magic = 0xA33F;
1173 loaded at 0x90000 */
1175 if ( base_ptr != 0x90000 ) {
1177 memcpy(0x90000, base_ptr, (setup_sects+1)*512);
1178 base_ptr = 0x90000; /* Relocated */
1181 strcpy(0x90000+cmd_line_offset, cmdline);
1184 memset(0x90000 + (setup_sects+1)*512, 0,
1193 in the kernel file (again, if setup_sects == 0 the real value is 4.)
1194 It should be loaded at address 0x10000 for Image/zImage kernels and
1195 0x100000 for bzImage kernels.
1197 The kernel is a bzImage kernel if the protocol >= 2.00 and the 0x01
1200 is_bzImage = (protocol >= 0x0200) && (loadflags & 0x01);
1201 load_address = is_bzImage ? 0x100000 : 0x10000;
1204 the entire 0x10000-0x90000 range of memory. This means it is pretty
1206 0x90000. bzImage kernels allow much more flexibility.
1223 "normal" (meaning 0xFFFF), "ext" (meaning 0xFFFE) or "ask"
1224 (meaning 0xFFFD). This value should be entered into the
1262 located at *segment* offset 0x20 from the start of the real mode
1264 0x90000, the kernel entry point is 9020:0000.
1267 kernel code (0x9000 if the code is loaded at 0x90000), sp should be
1276 be == 0x90000 at this point; see the previous sample code */
1287 jmp_far(seg+0x20, 0); /* Run the kernel */
1319 set them up to BOOT_DS (0x18) yourself.
1338 from offset 0x01f1 of kernel image on should be loaded into struct
1342 0x0202 + byte value at offset 0x0201
1358 __BOOT_CS(0x10) and __BOOT_DS(0x18); both descriptors must be 4G flat
1374 Then, the setup header at offset 0x01f1 of kernel image on should be
1378 0x0202 + byte value at offset 0x0201
1391 64-bit kernel plus 0x200.
1397 __BOOT_CS(0x10) and __BOOT_DS(0x18); both descriptors must be 4G flat
1437 loading protocol (refer to [0] for an example of the bootloader side of
1443 [0] https://github.com/u-boot/u-boot/commit/ec80b4735a593961fe701cc3a5d717d4739b0fd0