#ifndef __LINUX_BZIMAGE_H__\r
#define __LINUX_BZIMAGE_H__\r
\r
-#define BOOTSIG 0x1FE\r
-#define SETUP_HDR 0x53726448 /* 0x53726448 == "HdrS" */\r
+#define BOOTSIG 0x1FE\r
+#define SETUP_HDR 0x53726448 /* 0x53726448 == "HdrS" */\r
\r
-#define E820_RAM 1\r
-#define E820_RESERVED 2\r
-#define E820_ACPI 3\r
-#define E820_NVS 4\r
-#define E820_UNUSABLE 5\r
+#define E820_RAM 1\r
+#define E820_RESERVED 2\r
+#define E820_ACPI 3\r
+#define E820_NVS 4\r
+#define E820_UNUSABLE 5\r
\r
#pragma pack(1)\r
\r
struct setup_header {\r
- UINT8 setup_secs; /* Sectors for setup code */\r
- UINT16 root_flags;\r
- UINT32 sys_size;\r
- UINT16 ram_size;\r
- UINT16 video_mode;\r
- UINT16 root_dev;\r
- UINT16 signature; /* Boot signature */\r
- UINT16 jump;\r
- UINT32 header;\r
- UINT16 version;\r
- UINT16 su_switch;\r
- UINT16 setup_seg;\r
- UINT16 start_sys;\r
- UINT16 kernel_ver;\r
- UINT8 loader_id;\r
- UINT8 load_flags;\r
- UINT16 movesize;\r
- UINT32 code32_start; /* Start of code loaded high */\r
- UINT32 ramdisk_start; /* Start of initial ramdisk */\r
- UINT32 ramdisk_len; /* Length of initial ramdisk */\r
- UINT32 bootsect_kludge;\r
- UINT16 heap_end;\r
- UINT8 ext_loader_ver; /* Extended boot loader version */\r
- UINT8 ext_loader_type; /* Extended boot loader ID */\r
- UINT32 cmd_line_ptr; /* 32-bit pointer to the kernel command line */\r
- UINT32 ramdisk_max; /* Highest legal initrd address */\r
- UINT32 kernel_alignment; /* Physical addr alignment required for kernel */\r
- UINT8 relocatable_kernel; /* Whether kernel is relocatable or not */\r
- UINT8 min_alignment;\r
- UINT16 xloadflags;\r
- UINT32 cmdline_size;\r
- UINT32 hardware_subarch;\r
- UINT64 hardware_subarch_data;\r
- UINT32 payload_offset;\r
- UINT32 payload_length;\r
- UINT64 setup_data;\r
- UINT64 pref_address;\r
- UINT32 init_size;\r
- UINT32 handover_offset;\r
+ UINT8 setup_secs; /* Sectors for setup code */\r
+ UINT16 root_flags;\r
+ UINT32 sys_size;\r
+ UINT16 ram_size;\r
+ UINT16 video_mode;\r
+ UINT16 root_dev;\r
+ UINT16 signature; /* Boot signature */\r
+ UINT16 jump;\r
+ UINT32 header;\r
+ UINT16 version;\r
+ UINT16 su_switch;\r
+ UINT16 setup_seg;\r
+ UINT16 start_sys;\r
+ UINT16 kernel_ver;\r
+ UINT8 loader_id;\r
+ UINT8 load_flags;\r
+ UINT16 movesize;\r
+ UINT32 code32_start; /* Start of code loaded high */\r
+ UINT32 ramdisk_start; /* Start of initial ramdisk */\r
+ UINT32 ramdisk_len; /* Length of initial ramdisk */\r
+ UINT32 bootsect_kludge;\r
+ UINT16 heap_end;\r
+ UINT8 ext_loader_ver; /* Extended boot loader version */\r
+ UINT8 ext_loader_type; /* Extended boot loader ID */\r
+ UINT32 cmd_line_ptr; /* 32-bit pointer to the kernel command line */\r
+ UINT32 ramdisk_max; /* Highest legal initrd address */\r
+ UINT32 kernel_alignment; /* Physical addr alignment required for kernel */\r
+ UINT8 relocatable_kernel; /* Whether kernel is relocatable or not */\r
+ UINT8 min_alignment;\r
+ UINT16 xloadflags;\r
+ UINT32 cmdline_size;\r
+ UINT32 hardware_subarch;\r
+ UINT64 hardware_subarch_data;\r
+ UINT32 payload_offset;\r
+ UINT32 payload_length;\r
+ UINT64 setup_data;\r
+ UINT64 pref_address;\r
+ UINT32 init_size;\r
+ UINT32 handover_offset;\r
};\r
\r
struct efi_info {\r
- UINT32 efi_loader_signature;\r
- UINT32 efi_systab;\r
- UINT32 efi_memdesc_size;\r
- UINT32 efi_memdesc_version;\r
- UINT32 efi_memmap;\r
- UINT32 efi_memmap_size;\r
- UINT32 efi_systab_hi;\r
- UINT32 efi_memmap_hi;\r
+ UINT32 efi_loader_signature;\r
+ UINT32 efi_systab;\r
+ UINT32 efi_memdesc_size;\r
+ UINT32 efi_memdesc_version;\r
+ UINT32 efi_memmap;\r
+ UINT32 efi_memmap_size;\r
+ UINT32 efi_systab_hi;\r
+ UINT32 efi_memmap_hi;\r
};\r
\r
struct e820_entry {\r
- UINT64 addr; /* start of memory segment */\r
- UINT64 size; /* size of memory segment */\r
- UINT32 type; /* type of memory segment */\r
+ UINT64 addr; /* start of memory segment */\r
+ UINT64 size; /* size of memory segment */\r
+ UINT32 type; /* type of memory segment */\r
};\r
\r
struct screen_info {\r
- UINT8 orig_x; /* 0x00 */\r
- UINT8 orig_y; /* 0x01 */\r
- UINT16 ext_mem_k; /* 0x02 */\r
- UINT16 orig_video_page; /* 0x04 */\r
- UINT8 orig_video_mode; /* 0x06 */\r
- UINT8 orig_video_cols; /* 0x07 */\r
- UINT8 flags; /* 0x08 */\r
- UINT8 unused2; /* 0x09 */\r
- UINT16 orig_video_ega_bx;/* 0x0a */\r
- UINT16 unused3; /* 0x0c */\r
- UINT8 orig_video_lines; /* 0x0e */\r
- UINT8 orig_video_isVGA; /* 0x0f */\r
- UINT16 orig_video_points;/* 0x10 */\r
-\r
- /* VESA graphic mode -- linear frame buffer */\r
- UINT16 lfb_width; /* 0x12 */\r
- UINT16 lfb_height; /* 0x14 */\r
- UINT16 lfb_depth; /* 0x16 */\r
- UINT32 lfb_base; /* 0x18 */\r
- UINT32 lfb_size; /* 0x1c */\r
- UINT16 cl_magic, cl_offset; /* 0x20 */\r
- UINT16 lfb_linelength; /* 0x24 */\r
- UINT8 red_size; /* 0x26 */\r
- UINT8 red_pos; /* 0x27 */\r
- UINT8 green_size; /* 0x28 */\r
- UINT8 green_pos; /* 0x29 */\r
- UINT8 blue_size; /* 0x2a */\r
- UINT8 blue_pos; /* 0x2b */\r
- UINT8 rsvd_size; /* 0x2c */\r
- UINT8 rsvd_pos; /* 0x2d */\r
- UINT16 vesapm_seg; /* 0x2e */\r
- UINT16 vesapm_off; /* 0x30 */\r
- UINT16 pages; /* 0x32 */\r
- UINT16 vesa_attributes; /* 0x34 */\r
- UINT32 capabilities; /* 0x36 */\r
- UINT8 _reserved[6]; /* 0x3a */\r
+ UINT8 orig_x; /* 0x00 */\r
+ UINT8 orig_y; /* 0x01 */\r
+ UINT16 ext_mem_k; /* 0x02 */\r
+ UINT16 orig_video_page; /* 0x04 */\r
+ UINT8 orig_video_mode; /* 0x06 */\r
+ UINT8 orig_video_cols; /* 0x07 */\r
+ UINT8 flags; /* 0x08 */\r
+ UINT8 unused2; /* 0x09 */\r
+ UINT16 orig_video_ega_bx; /* 0x0a */\r
+ UINT16 unused3; /* 0x0c */\r
+ UINT8 orig_video_lines; /* 0x0e */\r
+ UINT8 orig_video_isVGA; /* 0x0f */\r
+ UINT16 orig_video_points; /* 0x10 */\r
+\r
+ /* VESA graphic mode -- linear frame buffer */\r
+ UINT16 lfb_width; /* 0x12 */\r
+ UINT16 lfb_height; /* 0x14 */\r
+ UINT16 lfb_depth; /* 0x16 */\r
+ UINT32 lfb_base; /* 0x18 */\r
+ UINT32 lfb_size; /* 0x1c */\r
+ UINT16 cl_magic, cl_offset; /* 0x20 */\r
+ UINT16 lfb_linelength; /* 0x24 */\r
+ UINT8 red_size; /* 0x26 */\r
+ UINT8 red_pos; /* 0x27 */\r
+ UINT8 green_size; /* 0x28 */\r
+ UINT8 green_pos; /* 0x29 */\r
+ UINT8 blue_size; /* 0x2a */\r
+ UINT8 blue_pos; /* 0x2b */\r
+ UINT8 rsvd_size; /* 0x2c */\r
+ UINT8 rsvd_pos; /* 0x2d */\r
+ UINT16 vesapm_seg; /* 0x2e */\r
+ UINT16 vesapm_off; /* 0x30 */\r
+ UINT16 pages; /* 0x32 */\r
+ UINT16 vesa_attributes; /* 0x34 */\r
+ UINT32 capabilities; /* 0x36 */\r
+ UINT8 _reserved[6]; /* 0x3a */\r
};\r
\r
struct boot_params {\r
- struct screen_info screen_info;\r
- UINT8 apm_bios_info[0x14];\r
- UINT8 _pad2[4];\r
- UINT64 tboot_addr;\r
- UINT8 ist_info[0x10];\r
- UINT8 _pad3[16];\r
- UINT8 hd0_info[16];\r
- UINT8 hd1_info[16];\r
- UINT8 sys_desc_table[0x10];\r
- UINT8 olpc_ofw_header[0x10];\r
- UINT8 _pad4[128];\r
- UINT8 edid_info[0x80];\r
- struct efi_info efi_info;\r
- UINT32 alt_mem_k;\r
- UINT32 scratch;\r
- UINT8 e820_entries;\r
- UINT8 eddbuf_entries;\r
- UINT8 edd_mbr_sig_buf_entries;\r
- UINT8 _pad6[6];\r
- struct setup_header hdr;\r
- UINT8 _pad7[0x290-0x1f1-sizeof(struct setup_header)];\r
- UINT32 edd_mbr_sig_buffer[16];\r
- struct e820_entry e820_map[128];\r
- UINT8 _pad8[48];\r
- UINT8 eddbuf[0x1ec];\r
- UINT8 _pad9[276];\r
+ struct screen_info screen_info;\r
+ UINT8 apm_bios_info[0x14];\r
+ UINT8 _pad2[4];\r
+ UINT64 tboot_addr;\r
+ UINT8 ist_info[0x10];\r
+ UINT8 _pad3[16];\r
+ UINT8 hd0_info[16];\r
+ UINT8 hd1_info[16];\r
+ UINT8 sys_desc_table[0x10];\r
+ UINT8 olpc_ofw_header[0x10];\r
+ UINT8 _pad4[128];\r
+ UINT8 edid_info[0x80];\r
+ struct efi_info efi_info;\r
+ UINT32 alt_mem_k;\r
+ UINT32 scratch;\r
+ UINT8 e820_entries;\r
+ UINT8 eddbuf_entries;\r
+ UINT8 edd_mbr_sig_buf_entries;\r
+ UINT8 _pad6[6];\r
+ struct setup_header hdr;\r
+ UINT8 _pad7[0x290-0x1f1-sizeof (struct setup_header)];\r
+ UINT32 edd_mbr_sig_buffer[16];\r
+ struct e820_entry e820_map[128];\r
+ UINT8 _pad8[48];\r
+ UINT8 eddbuf[0x1ec];\r
+ UINT8 _pad9[276];\r
};\r
\r
typedef struct {\r
- UINT16 limit;\r
- UINT64 *base;\r
+ UINT16 limit;\r
+ UINT64 *base;\r
} dt_addr_t;\r
\r
#pragma pack()\r
\r
-extern EFI_STATUS setup_graphics(struct boot_params *buf);\r
+extern EFI_STATUS\r
+setup_graphics (\r
+ struct boot_params *buf\r
+ );\r
\r
#endif /* __LINUX_BZIMAGE_H__ */\r