~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux-2.6.17/Documentation/i386/zero-page.txt

Version: ~ [ 2.6.16 ] ~ [ 2.6.17 ] ~
Architecture: ~ [ ia64 ] ~ [ i386 ] ~ [ arm ] ~ [ ppc ] ~ [ sparc64 ] ~

  1 Summary of boot_params layout (kernel point of view)
  2      ( collected by Hans Lermen and Martin Mares )
  3  
  4 The contents of boot_params are used to pass parameters from the
  5 16-bit realmode code of the kernel to the 32-bit part. References/settings
  6 to it mainly are in:
  7 
  8   arch/i386/boot/setup.S
  9   arch/i386/boot/video.S
 10   arch/i386/kernel/head.S
 11   arch/i386/kernel/setup.c
 12  
 13 
 14 Offset  Type            Description
 15 ------  ----            -----------
 16     0   32 bytes        struct screen_info, SCREEN_INFO
 17                         ATTENTION, overlaps the following !!!
 18     2   unsigned short  EXT_MEM_K, extended memory size in Kb (from int 0x15)
 19  0x20   unsigned short  CL_MAGIC, commandline magic number (=0xA33F)
 20  0x22   unsigned short  CL_OFFSET, commandline offset
 21                         Address of commandline is calculated:
 22                           0x90000 + contents of CL_OFFSET
 23                         (only taken, when CL_MAGIC = 0xA33F)
 24  0x40   20 bytes        struct apm_bios_info, APM_BIOS_INFO
 25  0x60   16 bytes        Intel SpeedStep (IST) BIOS support information
 26  0x80   16 bytes        hd0-disk-parameter from intvector 0x41
 27  0x90   16 bytes        hd1-disk-parameter from intvector 0x46
 28 
 29  0xa0   16 bytes        System description table truncated to 16 bytes.
 30                         ( struct sys_desc_table_struct )
 31  0xb0 - 0x13f           Free. Add more parameters here if you really need them.
 32  0x140- 0x1be           EDID_INFO Video mode setup
 33 
 34 0x1c4   unsigned long   EFI system table pointer
 35 0x1c8   unsigned long   EFI memory descriptor size
 36 0x1cc   unsigned long   EFI memory descriptor version
 37 0x1d0   unsigned long   EFI memory descriptor map pointer
 38 0x1d4   unsigned long   EFI memory descriptor map size
 39 0x1e0   unsigned long   ALT_MEM_K, alternative mem check, in Kb
 40 0x1e8   char            number of entries in E820MAP (below)
 41 0x1e9   unsigned char   number of entries in EDDBUF (below)
 42 0x1ea   unsigned char   number of entries in EDD_MBR_SIG_BUFFER (below)
 43 0x1f1   char            size of setup.S, number of sectors
 44 0x1f2   unsigned short  MOUNT_ROOT_RDONLY (if !=0)
 45 0x1f4   unsigned short  size of compressed kernel-part in the
 46                         (b)zImage-file (in 16 byte units, rounded up)
 47 0x1f6   unsigned short  swap_dev (unused AFAIK)
 48 0x1f8   unsigned short  RAMDISK_FLAGS
 49 0x1fa   unsigned short  VGA-Mode (old one)
 50 0x1fc   unsigned short  ORIG_ROOT_DEV (high=Major, low=minor)
 51 0x1ff   char            AUX_DEVICE_INFO
 52 
 53 0x200   short jump to start of setup code aka "reserved" field.
 54 0x202   4 bytes         Signature for SETUP-header, ="HdrS"
 55 0x206   unsigned short  Version number of header format
 56                         Current version is 0x0201...
 57 0x208   8 bytes         (used by setup.S for communication with boot loaders,
 58                          look there)
 59 0x210   char            LOADER_TYPE, = 0, old one
 60                         else it is set by the loader:
 61                         0xTV: T=0 for LILO
 62                                 1 for Loadlin
 63                                 2 for bootsect-loader
 64                                 3 for SYSLINUX
 65                                 4 for ETHERBOOT
 66                                 V = version
 67 0x211   char            loadflags:
 68                         bit0 = 1: kernel is loaded high (bzImage)
 69                         bit7 = 1: Heap and pointer (see below) set by boot
 70                                   loader.
 71 0x212   unsigned short  (setup.S)
 72 0x214   unsigned long   KERNEL_START, where the loader started the kernel
 73 0x218   unsigned long   INITRD_START, address of loaded ramdisk image
 74 0x21c   unsigned long   INITRD_SIZE, size in bytes of ramdisk image
 75 0x220   4 bytes         (setup.S)
 76 0x224   unsigned short  setup.S heap end pointer
 77 0x226   unsigned short  zero_pad
 78 0x228   unsigned long   cmd_line_ptr
 79 0x22c   unsigned long   ramdisk_max
 80 0x230   16 bytes        trampoline
 81 0x290 - 0x2cf           EDD_MBR_SIG_BUFFER (edd.S)
 82 0x2d0 - 0xd00           E820MAP
 83 0xd00 - 0xeff           EDDBUF (edd.S) for disk signature read sector
 84 0xd00 - 0xeeb           EDDBUF (edd.S) for edd data

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.