home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0010 - 0019 / ibm0010-0019 / ibm0010.tar / ibm0010 / UNIX3862.ZIP / U386-06.ZIP / U386-6.TD0 / usr / include / sys / bootinfo.h < prev    next >
Encoding:
C/C++ Source or Header  |  1988-06-26  |  1.8 KB  |  69 lines

  1. /*    Copyright (c) 1984, 1986, 1987, 1988 AT&T    */
  2. /*      All Rights Reserved      */
  3.  
  4. /*    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T    */
  5. /*    The copyright notice above does not evidence any       */
  6. /*    actual or intended publication of such source code.    */
  7.  
  8. /*    Copyright (c) 1987, 1988 Microsoft Corporation    */
  9. /*      All Rights Reserved    */
  10.  
  11. /*    This Module contains Proprietary Information of Microsoft  */
  12. /*    Corporation and should be treated as Confidential.       */
  13.  
  14. #ident    "@(#)head.sys:bootinfo.h    1.4"
  15.  
  16. /*
  17.  *    Definition of bootinfo structure.  This is used to pass
  18.  *    information between the bootstrap and the kernel.
  19.  */
  20.  
  21. #define BKI_MAGIC    0xff1234ff
  22.  
  23. #define B_MAXARGS    15        /* max. number of boot args */
  24. #define B_STRSIZ    50        /* max length of boot arg. string */
  25.  
  26. struct bootmem {
  27.     paddr_t        base;
  28.     long        extent;
  29.     ushort        flags;
  30.     };
  31.  
  32. struct bootinfo {
  33.     ulong    bootflags;        /* miscellaneous flags */
  34.  
  35.     struct hdparams {         /* hard disk parameters */
  36.         ushort    hdp_ncyl;    /* # cylinders (0 = no disk) */
  37.         unchar    hdp_nhead;    /* # heads */
  38.         unchar    hdp_nsect;    /* # sectors per track */
  39.         ushort    hdp_precomp;    /* write precomp cyl */
  40.         ushort    hdp_lz;        /* landing zone */
  41.     } hdparams[2];            /* hard disk parameters */
  42.  
  43.     int    memavailcnt;
  44.     struct    bootmem    memavail[B_MAXARGS];
  45.  
  46.     int    memusedcnt;
  47.     struct    bootmem    memused[B_MAXARGS];
  48.  
  49.     int    bargc;                /* count of boot arguments */
  50.     char    bargv[B_MAXARGS][B_STRSIZ]; /* argument strings */
  51.  
  52.     int    checksum;
  53. };
  54.  
  55.  
  56. /* flags for struct mem flags */
  57.  
  58. #define B_MEM_NODMA    0x01
  59. #define B_MEM_KTEXT    0x02
  60. #define    B_MEM_KDATA    0x04
  61. #define B_MEM_BOOTSTRAP    0x8000    /* Used internally by bootstrap */
  62.  
  63. #define BF_FLOPPY    0x01        /* booted from floppy */
  64.  
  65. #define BOOTINFO_LOC    ((paddr_t)0x600)
  66. #define KPTBL_LOC    ((paddr_t)0x1000)  /* Reserved for kernel page table */
  67.  
  68. extern struct bootinfo bootinfo;
  69.