iPXE
Data Structures | Defines | Functions | Variables
bzimage.h File Reference
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  bzimage_header
 A bzImage header. More...
struct  bzimage_cmdline
 bzImage command-line structure used by older kernels More...

Defines

#define BZI_HDR_OFFSET   0x1f1
 Offset of bzImage header within kernel image.
#define BZI_BOOT_FLAG   0xaa55
 bzImage boot flag value
#define BZI_SIGNATURE   0x53726448
 bzImage magic signature value
#define BZI_LOADER_TYPE_ETHERBOOT   0x40
 bzImage boot loader identifier for Etherboot
#define BZI_LOADER_TYPE_IPXE   ( BZI_LOADER_TYPE_ETHERBOOT | 0x06 )
 bzImage boot loader identifier for iPXE
#define BZI_LOAD_HIGH   0x01
 bzImage "load high" flag
#define BZI_LOAD_HIGH_ADDR   0x100000
 Load address for high-loaded kernels.
#define BZI_LOAD_LOW_ADDR   0x10000
 Load address for low-loaded kernels.
#define BZI_CAN_USE_HEAP   0x80
 bzImage "kernel can use heap" flag
#define BZI_VID_MODE_NORMAL   0xffff
 bzImage special video mode "normal"
#define BZI_VID_MODE_EXT   0xfffe
 bzImage special video mode "ext"
#define BZI_VID_MODE_ASK   0xfffd
 bzImage special video mode "ask"
#define BZI_INITRD_MAX   0x37ffffff
 bzImage maximum initrd address for versions < 2.03
#define BZI_CMDLINE_OFFSET   0x20
 Offset of bzImage command-line structure within kernel image.
#define BZI_CMDLINE_MAGIC   0xa33f
 bzImage command line present magic marker value
#define BZI_ASSUMED_RM_SIZE   0x8000
 Assumed size of real-mode portion (including .bss)
#define BZI_STACK_SIZE   0x1000
 Amount of stack space to provide.
#define BZI_CMDLINE_SIZE   0x7ff
 Maximum size of command line.

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
struct bzimage_header __attribute__ ((packed))

Variables

uint8_t setup_sects
 The size of the setup in sectors.
uint16_t root_flags
 If set, the root is mounted readonly.
uint16_t syssize
 DO NOT USE - for bootsect.S use only.
uint16_t swap_dev
 DO NOT USE - obsolete.
uint16_t ram_size
 DO NOT USE - for bootsect.S use only.
uint16_t vid_mode
 Video mode control.
uint16_t root_dev
 Default root device number.
uint16_t boot_flag
 0xAA55 magic number
uint16_t jump
 Jump instruction.
uint32_t header
 Magic signature "HdrS".
uint16_t version
 Boot protocol version supported.
uint32_t realmode_swtch
 Boot loader hook (see below)
uint16_t start_sys
 The load-low segment (0x1000) (obsolete)
uint16_t kernel_version
 Pointer to kernel version string.
uint8_t type_of_loader
 Boot loader identifier.
uint8_t loadflags
 Boot protocol option flags.
uint16_t setup_move_size
 Move to high memory size (used with hooks)
uint32_t code32_start
 Boot loader hook (see below)
uint32_t ramdisk_image
 initrd load address (set by boot loader)
uint32_t ramdisk_size
 initrd size (set by boot loader)
uint32_t bootsect_kludge
 DO NOT USE - for bootsect.S use only.
uint16_t heap_end_ptr
 Free memory after setup end.
uint16_t pad1
 Unused.
uint32_t cmd_line_ptr
 32-bit pointer to the kernel command line
uint32_t initrd_addr_max
 Highest legal initrd address.
uint32_t kernel_alignment
 Physical addr alignment required for kernel.
uint8_t relocatable_kernel
 Whether kernel is relocatable or not.
uint8_t pad2 [3]
 Unused.
uint32_t cmdline_size
 Maximum size of the kernel command line.
uint16_t magic
 Magic signature.
uint16_t offset
 Offset to command line.

Define Documentation

#define BZI_HDR_OFFSET   0x1f1

Offset of bzImage header within kernel image.

Definition at line 78 of file bzimage.h.

Referenced by bzimage_parse_header(), and bzimage_update_header().

#define BZI_BOOT_FLAG   0xaa55

bzImage boot flag value

Definition at line 81 of file bzimage.h.

Referenced by bzimage_parse_header().

#define BZI_SIGNATURE   0x53726448

bzImage magic signature value

Definition at line 84 of file bzimage.h.

Referenced by bzimage_parse_header().

#define BZI_LOADER_TYPE_ETHERBOOT   0x40

bzImage boot loader identifier for Etherboot

Definition at line 87 of file bzimage.h.

bzImage boot loader identifier for iPXE

We advertise ourselves as Etherboot version 6.

Definition at line 93 of file bzimage.h.

Referenced by bzimage_update_header(), and int22().

#define BZI_LOAD_HIGH   0x01

bzImage "load high" flag

Definition at line 96 of file bzimage.h.

Referenced by bzimage_parse_header().

#define BZI_LOAD_HIGH_ADDR   0x100000

Load address for high-loaded kernels.

Definition at line 99 of file bzimage.h.

Referenced by bzimage_parse_header().

#define BZI_LOAD_LOW_ADDR   0x10000

Load address for low-loaded kernels.

Definition at line 102 of file bzimage.h.

Referenced by bzimage_parse_header().

#define BZI_CAN_USE_HEAP   0x80

bzImage "kernel can use heap" flag

Definition at line 105 of file bzimage.h.

Referenced by bzimage_update_header().

#define BZI_VID_MODE_NORMAL   0xffff

bzImage special video mode "normal"

Definition at line 108 of file bzimage.h.

Referenced by bzimage_parse_cmdline().

#define BZI_VID_MODE_EXT   0xfffe

bzImage special video mode "ext"

Definition at line 111 of file bzimage.h.

Referenced by bzimage_parse_cmdline().

#define BZI_VID_MODE_ASK   0xfffd

bzImage special video mode "ask"

Definition at line 114 of file bzimage.h.

Referenced by bzimage_parse_cmdline().

#define BZI_INITRD_MAX   0x37ffffff

bzImage maximum initrd address for versions < 2.03

Definition at line 117 of file bzimage.h.

Referenced by bzimage_parse_header().

#define BZI_CMDLINE_OFFSET   0x20

Offset of bzImage command-line structure within kernel image.

Definition at line 128 of file bzimage.h.

Referenced by bzimage_parse_header(), and bzimage_update_header().

#define BZI_CMDLINE_MAGIC   0xa33f

bzImage command line present magic marker value

Definition at line 131 of file bzimage.h.

Referenced by bzimage_update_header().

#define BZI_ASSUMED_RM_SIZE   0x8000

Assumed size of real-mode portion (including .bss)

Definition at line 134 of file bzimage.h.

Referenced by bzimage_parse_header().

#define BZI_STACK_SIZE   0x1000

Amount of stack space to provide.

Definition at line 137 of file bzimage.h.

Referenced by bzimage_parse_header().

#define BZI_CMDLINE_SIZE   0x7ff

Maximum size of command line.

Definition at line 140 of file bzimage.h.

Referenced by bzimage_parse_header().


Function Documentation

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )
struct bzimage_header __attribute__ ( (packed)  )

Variable Documentation

The size of the setup in sectors.

If this field contains 0, assume it contains 4.

Definition at line 80 of file bzimage.h.

If set, the root is mounted readonly.

Definition at line 82 of file bzimage.h.

DO NOT USE - for bootsect.S use only.

Definition at line 84 of file bzimage.h.

Referenced by bzimage_parse_header().

DO NOT USE - obsolete.

Definition at line 86 of file bzimage.h.

DO NOT USE - for bootsect.S use only.

Definition at line 88 of file bzimage.h.

Video mode control.

Definition at line 90 of file bzimage.h.

Default root device number.

Definition at line 92 of file bzimage.h.

0xAA55 magic number

Definition at line 94 of file bzimage.h.

Jump instruction.

Definition at line 96 of file bzimage.h.

Magic signature "HdrS".

Definition at line 98 of file bzimage.h.

Boot protocol version supported.

Definition at line 100 of file bzimage.h.

Boot loader hook (see below)

Definition at line 102 of file bzimage.h.

The load-low segment (0x1000) (obsolete)

Definition at line 104 of file bzimage.h.

Pointer to kernel version string.

Definition at line 106 of file bzimage.h.

Boot loader identifier.

Definition at line 108 of file bzimage.h.

Boot protocol option flags.

Definition at line 110 of file bzimage.h.

Move to high memory size (used with hooks)

Definition at line 112 of file bzimage.h.

Boot loader hook (see below)

Definition at line 114 of file bzimage.h.

initrd load address (set by boot loader)

Definition at line 116 of file bzimage.h.

initrd size (set by boot loader)

Definition at line 118 of file bzimage.h.

DO NOT USE - for bootsect.S use only.

Definition at line 120 of file bzimage.h.

Free memory after setup end.

Definition at line 122 of file bzimage.h.

Unused.

Definition at line 124 of file bzimage.h.

32-bit pointer to the kernel command line

Definition at line 126 of file bzimage.h.

Highest legal initrd address.

Definition at line 128 of file bzimage.h.

Physical addr alignment required for kernel.

Definition at line 130 of file bzimage.h.

Whether kernel is relocatable or not.

Definition at line 132 of file bzimage.h.

Unused.

Definition at line 134 of file bzimage.h.

Maximum size of the kernel command line.

Definition at line 136 of file bzimage.h.

Magic signature.

Definition at line 127 of file bzimage.h.

Offset to command line.

Definition at line 129 of file bzimage.h.