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

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

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 Summary of empty_zero_page layout (kernel point of view)
  2      ( collected by Hans Lermen and Martin Mares )
  3  
  4 The contents of empty_zero_page 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  0x80   16 bytes        hd0-disk-parameter from intvector 0x41
 26  0x90   16 bytes        hd1-disk-parameter from intvector 0x46
 27 
 28  0xa0   16 bytes        System description table truncated to 16 bytes.
 29                         ( struct sys_desc_table_struct )
 30  0xb0 - 0x1df           Free. Add more parameters here if you really need them.
 31 
 32 0x1e0   unsigned long   ALT_MEM_K, alternative mem check, in Kb
 33 0x1e8   char            number of entries in E820MAP (below)
 34 0x1f1   char            size of setup.S, number of sectors
 35 0x1f2   unsigned short  MOUNT_ROOT_RDONLY (if !=0)
 36 0x1f4   unsigned short  size of compressed kernel-part in the
 37                         (b)zImage-file (in 16 byte units, rounded up)
 38 0x1f6   unsigned short  swap_dev (unused AFAIK)
 39 0x1f8   unsigned short  RAMDISK_FLAGS
 40 0x1fa   unsigned short  VGA-Mode (old one)
 41 0x1fc   unsigned short  ORIG_ROOT_DEV (high=Major, low=minor)
 42 0x1ff   char            AUX_DEVICE_INFO
 43 
 44 0x200   short jump to start of setup code aka "reserved" field.
 45 0x202   4 bytes         Signature for SETUP-header, ="HdrS"
 46 0x206   unsigned short  Version number of header format
 47                         Current version is 0x0201...
 48 0x208   8 bytes         (used by setup.S for communication with boot loaders,
 49                          look there)
 50 0x210   char            LOADER_TYPE, = 0, old one
 51                         else it is set by the loader:
 52                         0xTV: T=0 for LILO
 53                                 1 for Loadlin
 54                                 2 for bootsect-loader
 55                                 3 for SYSLINUX
 56                                 4 for ETHERBOOT
 57                                 V = version
 58 0x211   char            loadflags:
 59                         bit0 = 1: kernel is loaded high (bzImage)
 60                         bit7 = 1: Heap and pointer (see below) set by boot
 61                                   loader.
 62 0x212   unsigned short  (setup.S)
 63 0x214   unsigned long   KERNEL_START, where the loader started the kernel
 64 0x218   unsigned long   INITRD_START, address of loaded ramdisk image
 65 0x21c   unsigned long   INITRD_SIZE, size in bytes of ramdisk image
 66 0x220   4 bytes         (setup.S)
 67 0x224   unsigned short  setup.S heap end pointer
 68 0x2d0 - 0x600           E820MAP
 69 
 70 0x800   string, 2K max  COMMAND_LINE, the kernel commandline as
 71                         copied using CL_OFFSET.
 72                         Note: this will be copied once more by setup.c
 73                         into a local buffer which is only 256 bytes long.
 74                         ( #define COMMAND_LINE_SIZE 256 )

~ [ 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.