fd699c7655
Add support for saving OFW's cif, and later calling into it to run OFW commands. OFW remains resident in memory, living within virtual range 0xff800000 - 0xffc00000. A single page directory entry points to the pgdir that OFW actually uses, so rather than saving the entire page table, we grab and install that one entry permanently in the kernel's page table. This is currently only used by the OLPC XO. Note that this particular calling convention breaks PAE and PAT, and so cannot be used on newer x86 hardware. Signed-off-by: Andres Salomon <dilinger@queued.net> LKML-Reference: <20100618174653.7755a39a@dev.queued.net> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
33 lines
1.4 KiB
Text
33 lines
1.4 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
|
|
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)
|
|
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)
|