mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 01:41:39 +00:00
![H. Peter Anvin](/assets/img/avatar_default.png)
Define the 2.12 bzImage boot protocol: add xloadflags and additional fields to allow the command line, initramfs and struct boot_params to live above the 4 GiB mark. The xloadflags now communicates if this is a 64-bit kernel with the legacy 64-bit entry point and which of the EFI handover entry points are supported. Avoid adding new read flags to loadflags because of claimed bootloaders testing the whole byte for == 1 to determine bzImageness at least until the issue can be researched further. This is based on patches by Yinghai Lu and David Woodhouse. Originally-by: Yinghai Lu <yinghai@kernel.org> Originally-by: David Woodhouse <dwmw2@infradead.org> Acked-by: Yinghai Lu <yinghai@kernel.org> Acked-by: David Woodhouse <dwmw2@infradead.org> Acked-by: Matt Fleming <matt.fleming@intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Link: http://lkml.kernel.org/r/1359058816-7615-26-git-send-email-yinghai@kernel.org Cc: Rob Landley <rob@landley.net> Cc: Gokul Caushik <caushik1@gmail.com> Cc: Josh Triplett <josh@joshtriplett.org> Cc: Joe Millenbach <jmillenbach@gmail.com>
37 lines
1.6 KiB
Text
37 lines
1.6 KiB
Text
The additional fields in struct boot_params as a part of 32-bit boot
|
|
protocol of kernel. These should be filled by bootloader or 16-bit
|
|
real-mode setup code of the kernel. References/settings to it mainly
|
|
are in:
|
|
|
|
arch/x86/include/asm/bootparam.h
|
|
|
|
|
|
Offset Proto Name Meaning
|
|
/Size
|
|
|
|
000/040 ALL screen_info Text mode or frame buffer information
|
|
(struct screen_info)
|
|
040/014 ALL apm_bios_info APM BIOS information (struct apm_bios_info)
|
|
058/008 ALL tboot_addr Physical address of tboot shared page
|
|
060/010 ALL ist_info Intel SpeedStep (IST) BIOS support information
|
|
(struct ist_info)
|
|
080/010 ALL hd0_info hd0 disk parameter, OBSOLETE!!
|
|
090/010 ALL hd1_info hd1 disk parameter, OBSOLETE!!
|
|
0A0/010 ALL sys_desc_table System description table (struct sys_desc_table)
|
|
0B0/010 ALL olpc_ofw_header OLPC's OpenFirmware CIF and friends
|
|
0C0/004 ALL ext_ramdisk_image ramdisk_image high 32bits
|
|
0C4/004 ALL ext_ramdisk_size ramdisk_size high 32bits
|
|
0C8/004 ALL ext_cmd_line_ptr cmd_line_ptr high 32bits
|
|
140/080 ALL edid_info Video mode setup (struct edid_info)
|
|
1C0/020 ALL efi_info EFI 32 information (struct efi_info)
|
|
1E0/004 ALL alk_mem_k Alternative mem check, in KB
|
|
1E4/004 ALL scratch Scratch field for the kernel setup code
|
|
1E8/001 ALL e820_entries Number of entries in e820_map (below)
|
|
1E9/001 ALL eddbuf_entries Number of entries in eddbuf (below)
|
|
1EA/001 ALL edd_mbr_sig_buf_entries Number of entries in edd_mbr_sig_buffer
|
|
(below)
|
|
1EF/001 ALL sentinel Used to detect broken bootloaders
|
|
290/040 ALL edd_mbr_sig_buffer EDD MBR signatures
|
|
2D0/A00 ALL e820_map E820 memory map table
|
|
(array of struct e820entry)
|
|
D00/1EC ALL eddbuf EDD data (array of struct edd_info)
|