X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=src%2Flilo.h;h=e3d6e93172be65512ed7abb4762474733d017d9e;hb=HEAD;hp=1f1ef7dcaf0d81b5cf172f78f80746f3a2c7c867;hpb=23c77cc092dbbb1e12c47c2b0021d4476b543702;p=rrq%2Fmaintain_lilo.git diff --git a/src/lilo.h b/src/lilo.h index 1f1ef7d..e3d6e93 100644 --- a/src/lilo.h +++ b/src/lilo.h @@ -1,14 +1,13 @@ /* lilo.h - LILO constants - -Copyright 1992-1998 Werner Almesberger. -Copyright 1999-2006 John Coffman. -All rights reserved. - -Licensed under the terms contained in the file 'COPYING' in the -source directory. - -*/ - + * + * Copyright 1992-1998 Werner Almesberger + * Copyright 1999-2006 John Coffman + * Copyright 2009-2015 Joachim Wiedorn + * All rights reserved. + * + * Licensed under the terms contained in the file 'COPYING' + * in the source directory. + */ /* This file is also included by the boot loader assembler code. Put everything that isn't legal C syntax or isn't swallowed by the @@ -20,7 +19,7 @@ source directory. #if !__MSDOS__ #define INT4 int #else -#define INT4 long +#define INT4 int32_t #endif /* !__MSDOS__ */ /* This is the stuff to check the configuration: @@ -91,80 +90,177 @@ source directory. #endif -/* the known major device numbers */ -#define MAJMIN_RAM 0x101 /* RAM disk */ +/* the known major device numbers of block devices */ +/* see: linux-3.xx/Documentation/devices.txt */ +#define MAJMIN_RAM 0x101 /* RAM disk */ + #ifdef LCF_MDPRAID -#define MAJOR_MDP_SORT 1 /* Convert MAJOR_MDP to this for sorting */ -#endif -#define MAJOR_EMD_SORT 2 /* Convert MAJOR_EMD to this for sorting */ -#define MAJOR_HPT370_SORT 2 /* Convert MAJOR_HPT370 to this for sorting */ -#define MAJOR_FD 2 /* floppy disks */ -#define MAJOR_HD 3 /* IDE-type hard disks */ -#define MAJOR_LOOP 7 /* Loopback devices 0-15 */ -#define MAJOR_SD 8 /* SCSI disks 0-15 */ -#define MAJOR_MD 9 /* multi-disk RAID sets */ -#define MAJOR_XT 13 /* XT-type hard disks */ -#define MAJOR_ACORN 21 /* Acorn MFM controller */ -#define MAJOR_IDE2 22 /* IDE on second interface */ -#define MAJOR_IDE3 33 /* IDE on third interface */ -#define MAJOR_IDE4 34 /* IDE on fourth interface */ -#define MAJOR_ESDI 36 /* PS/2 ESDI drives */ -#define MAJOR_FTL 44 /* Flash Transition Layer on Memory Technology Device */ -#define MAJOR_PP 45 /* Parallel Port IDE drive */ -#define MAJOR_PPFD 47 /* Parallel Port floppy drive */ -#define MAJOR_DAC960 48 /* First Mylex DAC960 PCI RAID controller */ -#if !BETA_TEST || 1 -#define MAJOR_IDE5 56 /* IDE on fifth interface */ +#define MAJOR_MDP_SORT 1 /*** Convert MAJOR_MDP to this for sorting ***/ #endif -#define MAJOR_IDE6 57 /* IDE on sixth interface */ -#define MAJOR_LVM 58 /* Logical Volume Manager block device */ -#define MAJOR_EXPR 60 /* Experimental devices 60..63 */ -/*#define MAJOR_FL 62 / M-Systems Disk-On-Chip 2000 ***experimental*** */ - -#define MAJOR_SD_SORT 64 /*** MAJOR_SD converted to this for sorting ***/ -#define MAJOR_SD2 65 /* SCSI disks 16-31 */ -#define MAJOR_SD3 66 /* SCSI disks 32-47 */ -#define MAJOR_SD4 67 /* SCSI disks 48-63 */ -#define MAJOR_SD5 68 /* SCSI disks 64-79 */ -#define MAJOR_SD6 69 /* SCSI disks 80-95 */ -#define MAJOR_SD7 70 /* SCSI disks 96-111 */ -#define MAJOR_SD8 71 /* SCSI disks 112-127 */ -#define MAJOR_SMART2 72 /* First Compaq Smart/2 Major 72-79 */ -#define MAJOR_I2O 80 /* First I2O block device 80-87 */ -#define MAJOR_IDE7 88 /* IDE on seventh interface */ -#define MAJOR_IDE8 89 /* IDE on eighth interface */ -#define MAJOR_IDE9 90 /* IDE on ninth interface */ -#define MAJOR_IDE10 91 /* IDE on tenth interface */ -#define MAJOR_PPDD 92 /* PPDD encrypted disks - not supported */ -#define MAJOR_NFTL 93 /* NAND Flash Translation Layer (Disk-On-Chip) */ -#define MAJOR_DOC 100 /* Disk-On-Chip driver */ -#define MAJOR_AMI_HYP 101 /* AMI Hyper Disk RAID controller */ -#define MAJOR_CISS 104 /* First CCISS Major 104-111 */ -#define MAJOR_IBM_iSER 112 /* IBM iSeries virtual disk */ -#define MAJOR_HPT370 114 /* HPT370 controller */ -#define MAJOR_EVMS 117 /* Enterprise Volume Management System */ -#define MAJOR_SD9 128 /* SCSI disks 129 */ -#define MAJOR_SD16 135 /* SCSI disks -255 */ -#define MAJOR_DAC960_8 136 /* Ninth Mylex DAC960 PCI RAID controller */ -#define MAJOR_EMD 153 /* Enhanced multi-disk RAID sets */ -#define MAJOR_SATA 160 /* Carmel SATA Disk on first 8-port controller */ -#define MAJOR_SATA2 161 /* Carmel SATA Disk on 2nd 8-port controller */ +#define MAJOR_EMD_SORT 2 /*** Convert MAJOR_EMD to this for sorting ***/ +#define MAJOR_HPT370_SORT 2 /*** Convert MAJOR_HPT370 to this for sorting ***/ + +#define MAJOR_FD 2 /* floppy disks (dev/fd..) */ +#define MAJOR_IDE 3 /* first IDE hard disk iface (/dev/hd..) */ +#define MAJOR_LOOP 7 /* loopback devices 0-15 (dev/loop..) */ +#define MAJOR_SD 8 /* SCSI disks 0-15 (dev/sd..) */ +#define MAJOR_MD 9 /* metadisk RAID devices (/dev/md..) */ + +#define MAJOR_SCD 11 /* SCSI CD-ROM devices (/dev/scd..) */ +#define MAJOR_XT 13 /* XT hard disks drives (deleted since kernel v3.9) */ +#define MAJOR_SONY 15 /* Sony CDU-31A/CDU-33A CD-ROM (/dev/sonycd) */ +#define MAJOR_GSCD 16 /* GoldStar CD-ROM (/dev/gscd) */ +#define MAJOR_OPT 17 /* Optics Storage CD-ROM (/dev/optcd) */ +#define MAJOR_SJCD 18 /* Sanyo CD-ROM (/dev/sjcd) */ +#define MAJOR_HIT 20 /* Hitachi CD-ROM (/dev/hitcd) */ + +#define MAJOR_ACORN 21 /* Acorn MFM hard drives (/dev/mfm..) */ +#define MAJOR_IDE2 22 /* second IDE hard disk iface (/dev/hd..) */ + +#define MAJOR_CDU 24 /* Sony CDU-535 CD-ROM (/dev/cdu535) */ +#define MAJOR_MAT 25 /* First Matsushita CD-ROM (/dev/sbpcd..) */ +#define MAJOR_MAT2 26 /* Second Matsushita CD-ROM (/dev/sbpcd..) */ +#define MAJOR_MAT3 27 /* Third Matsushita CD-ROM (/dev/sbpcd..) */ +#define MAJOR_MAT4 28 /* Fourth Matsushita CD-ROM (/dev/sbpcd..) */ +#define MAJOR_CM205 30 /* Philips LMS CM-205 CD-ROM (/dev/cm205cd) */ +#define MAJOR_CM206 32 /* Philips LMS CM-206 CD-ROM (/dev/cm206cd) */ + +#define MAJOR_IDE3 33 /* third IDE hard disk iface (/dev/hd..) */ +#define MAJOR_IDE4 34 /* fourth IDE hard disk iface (/dev/hd..) */ + +#define MAJOR_ESDI 36 /* PS/2 ESDI hard disk drives (obsolete) */ +#define MAJOR_FTL 44 /* Flash Transition Layer on Memory Technology Device */ +#define MAJOR_PP 45 /* Parallel Port IDE disk devices (/dev/pd..) */ +#define MAJOR_PPCD 46 /* Parallel Port ATAPI CD-ROM devices (/dev/pcd..) */ +#define MAJOR_PPFD 47 /* Parallel Port ATAPI floppy drive (/dev/pf..) */ + +#define MAJOR_DAC 48 /* First Mylex DAC960 PCI RAID iface (/dev/rd/c0..) */ +#define MAJOR_DAC2 49 /* Second Mylex DAC960 PCI RAID iface (/dev/rd/c1..) */ +#define MAJOR_DAC3 50 /* Third Mylex DAC960 PCI RAID iface (/dev/rd/c2..) */ +#define MAJOR_DAC4 51 /* Fourth Mylex DAC960 PCI RAID iface (/dev/rd/c3..) */ +#define MAJOR_DAC5 52 /* Fifth Mylex DAC960 PCI RAID iface (/dev/rd/c4..) */ +#define MAJOR_DAC6 53 /* Sixth Mylex DAC960 PCI RAID iface (/dev/rd/c5..) */ +#define MAJOR_DAC7 54 /* Seventh Mylex DAC960 PCI RAID iface (/dev/rd/c6..) */ +#define MAJOR_DAC8 55 /* Eighth Mylex DAC960 PCI RAID iface (/dev/rd/c7..) */ + +#define MAJOR_IDE5 56 /* fifth IDE hard disk iface (/dev/hd..) */ +#define MAJOR_IDE6 57 /* sixth IDE hard disk iface (/dev/hd..) */ +#define MAJOR_LVM 58 /* Logical Volume Manager block device */ + +#define MAJOR_EXPR 60 /* Experimental devices (without official numbers) */ +#define MAJOR_EXPR2 61 /* Experimental devices (without official numbers) */ +#define MAJOR_EXPR3 62 /* Experimental devices (without official numbers) */ +#define MAJOR_EXPR4 63 /* Experimental devices (without official numbers) */ + +#define MAJOR_SD_SORT 64 /*** MAJOR_SD converted to this for sorting ***/ + +#define MAJOR_SD2 65 /* SCSI disks 16-31 (/dev/sd..) */ +#define MAJOR_SD3 66 /* SCSI disks 32-47 (/dev/sd..) */ +#define MAJOR_SD4 67 /* SCSI disks 48-63 (/dev/sd..) */ +#define MAJOR_SD5 68 /* SCSI disks 64-79 (/dev/sd..) */ +#define MAJOR_SD6 69 /* SCSI disks 80-95 (/dev/sd..) */ +#define MAJOR_SD7 70 /* SCSI disks 96-111 (/dev/sd..) */ +#define MAJOR_SD8 71 /* SCSI disks 112-127 (/dev/sd..) */ + +#define MAJOR_SMART 72 /* First Compaq Smart/2 iface (/dev/ida/c0d..) */ +#define MAJOR_SMART2 73 /* Second Compaq Smart/2 iface (/dev/ida/c1d..) */ +#define MAJOR_SMART3 74 /* Third Compaq Smart/2 iface (/dev/ida/c1d..) */ +#define MAJOR_SMART4 75 /* Fourth Compaq Smart/2 iface (/dev/ida/c1d..) */ +#define MAJOR_SMART5 76 /* Fifth Compaq Smart/2 iface (/dev/ida/c1d..) */ +#define MAJOR_SMART6 77 /* Sixth Compaq Smart/2 iface (/dev/ida/c1d..) */ +#define MAJOR_SMART7 78 /* Seventh Compaq Smart/2 iface (/dev/ida/c1d..) */ +#define MAJOR_SMART8 79 /* Eighth Compaq Smart/2 iface (/dev/ida/c1d..) */ + +#define MAJOR_I2O 80 /* First I2O hard disk iface (/dev/i2o/hd..) */ +#define MAJOR_I2O2 81 /* Second I2O hard disk iface (/dev/i2o/hd..) */ +#define MAJOR_I2O3 82 /* Third I2O hard disk iface (/dev/i2o/hd..) */ +#define MAJOR_I2O4 83 /* Fourth I2O hard disk iface (/dev/i2o/hd..) */ +#define MAJOR_I2O5 84 /* Fifth I2O hard disk iface (/dev/i2o/hd..) */ +#define MAJOR_I2O6 85 /* Sixth I2O hard disk iface (/dev/i2o/hd..) */ +#define MAJOR_I2O7 86 /* Seventh I2O hard disk iface (/dev/i2o/hd..) */ +#define MAJOR_I2O8 87 /* Eighth I2O hard disk iface (/dev/i2o/hd..) */ + +#define MAJOR_IDE7 88 /* Seventh IDE hard disk iface (/dev/hd..) */ +#define MAJOR_IDE8 89 /* Eighth IDE hard disk iface (/dev/hd..) */ +#define MAJOR_IDE9 90 /* Ninth IDE hard disk iface (/dev/hd..) */ +#define MAJOR_IDE10 91 /* Tenth IDE hard disk iface (/dev/hd..) */ + +#define MAJOR_PPDD 92 /* PPDD encrypted disks (not supported) */ +#define MAJOR_NFTL 93 /* NAND Flash Translation Layer (Disk-On-Chip) */ +#define MAJOR_DOC 100 /* Disk-On-Chip driver (obsolete) */ +#define MAJOR_AMI 101 /* AMI Hyper Disk RAID controller (/dev/amiraid/ar..) */ + +#define MAJOR_CISS 104 /* First CCISS Drive Array iface (/dev/cciss/c0..) */ +#define MAJOR_CISS2 105 /* Second CCISS Drive Array iface (/dev/cciss/c1..) */ +#define MAJOR_CISS3 106 /* Third CCISS Drive Array iface (/dev/cciss/c2..) */ +#define MAJOR_CISS4 107 /* Fourth CCISS Drive Array iface (/dev/cciss/c3..) */ +#define MAJOR_CISS5 108 /* Fifth CCISS Drive Array iface (/dev/cciss/c4..) */ +#define MAJOR_CISS6 109 /* Sixth CCISS Drive Array iface (/dev/cciss/c5..) */ +#define MAJOR_CISS7 110 /* Seventh CCISS Drive Array iface (/dev/cciss/c6..) */ +#define MAJOR_CISS8 111 /* Seventh CCISS Drive Array iface (/dev/cciss/c7..) */ + +#define MAJOR_IBM_ISER 112 /* IBM iSeries virtual disk (/dev/iseries/vd..) */ +#define MAJOR_HPT370 114 /* Software RAID interfaces e.g.HPT370 (/dev/ataraid/..) */ +#define MAJOR_EVMS 117 /* Enterprise Volume Management System (/dev/evms/EVM..) */ + +#define MAJOR_EXPR5 120 /* Experimental devices (without official numbers) */ +#define MAJOR_EXPR6 121 /* Experimental devices (without official numbers) */ +#define MAJOR_EXPR7 122 /* Experimental devices (without official numbers) */ +#define MAJOR_EXPR8 123 /* Experimental devices (without official numbers) */ +#define MAJOR_EXPR9 124 /* Experimental devices (without official numbers) */ +#define MAJOR_EXPR10 125 /* Experimental devices (without official numbers) */ +#define MAJOR_EXPR11 126 /* Experimental devices (without official numbers) */ +#define MAJOR_EXPR12 127 /* Experimental devices (without official numbers) */ + +#define MAJOR_SD9 128 /* SCSI disks 128-143 (/dev/sd..) */ +#define MAJOR_SD10 129 /* SCSI disks 144-159 (/dev/sd..) */ +#define MAJOR_SD11 130 /* SCSI disks 160-175 (/dev/sd..) */ +#define MAJOR_SD12 131 /* SCSI disks 176-191 (/dev/sd..) */ +#define MAJOR_SD13 132 /* SCSI disks 192-207 (/dev/sd..) */ +#define MAJOR_SD14 133 /* SCSI disks 208-223 (/dev/sd..) */ +#define MAJOR_SD15 134 /* SCSI disks 224-239 (/dev/sd..) */ +#define MAJOR_SD16 135 /* SCSI disks 240-255 (/dev/sd..) */ + +#define MAJOR_DAC9 136 /* Ninth Mylex DAC960 PCI RAID iface (/dev/rd/c8..) */ +#define MAJOR_DAC10 137 /* Tenth Mylex DAC960 PCI RAID iface (/dev/rd/c9..) */ +#define MAJOR_DAC11 138 /* Eleventh Mylex DAC960 PCI RAID iface (/dev/rd/c10..) */ +#define MAJOR_DAC12 139 /* Twelfth Mylex DAC960 PCI RAID iface (/dev/rd/c11..) */ +#define MAJOR_DAC13 140 /* Thirteenth Mylex DAC960 PCI RAID iface (/dev/rd/c12..) */ +#define MAJOR_DAC14 141 /* Fourteenth Mylex DAC960 PCI RAID iface (/dev/rd/c13..) */ +#define MAJOR_DAC15 142 /* Fifteenth Mylex DAC960 PCI RAID iface (/dev/rd/c14..) */ +#define MAJOR_DAC16 143 /* Sixteenth Mylex DAC960 PCI RAID iface (/dev/rd/c15..) */ + +#define MAJOR_EMD 153 /* Enhanced multi-disk RAID sets (/dev/emd/..) */ +#define MAJOR_CARM1 160 /* First Carmel SATA Disk controller (/dev/carmel/..) */ +#define MAJOR_CARM2 161 /* Second Carmel SATA Disk controller (/dev/carmel/..) */ +#define MAJOR_MMC 179 /* MMC card block devices (/dev/mmcblk..) */ +#define MAJOR_USB 180 /* USB block devices (/dev/ub..) */ + +#define MAJOR_VXDSK 199 /* Veritas volume manager (VxVM) volumes (/dev/vx/dsk/..) */ +#define MAJOR_VXDMP 201 /* Veritas VxVM dynamic multipath devices (/dev/vx/dmp/..) */ +#define MAJOR_XVD 202 /* Xen Virtual Block Device Disks (/dev/xv..) */ + /* don't use the following */ -#define MAJOR_MDP 254 /* Enhanced multi-disk RAID sets [experimental?] */ +#define MAJOR_MDP 254 /* Enhanced multi-disk RAID sets [experimental] */ + +/* high partitions (>15) on SATA hard disks */ +#define MAJOR_SATA1 259 /* high SATA disk partitions (Block Extended Major) */ +#define MAJOR_SATA2 260 /* high SATA disk partitions (Block Extended Major) (obsolete) */ + -#define MAX_TOKEN 1023 /* max device Token length */ -#define MAX_IMAGE_NAME 15 /* maximum name length (w/o terminating NUL) */ -#define MAX_DESCR_SECTORS 12 /* upper limit on MAX_DESCR_SECS */ +#define MAX_TOKEN 1023 /* max device Token length */ +#define MAX_IMAGE_NAME 15 /* maximum name length (w/o terminating NUL) */ +#define MAX_DESCR_SECTORS 12 /* upper limit on MAX_DESCR_SECS */ #ifdef LCF_PASS160 #undef SHS_PASSWORDS -#define SHS_PASSWORDS /* use this one if SHS passwords are in use */ -#define MAX_PW_CRC 5 /* max # of longwords in password digest */ -#define PW_FILE_SUFFIX ".shs" /* suffix for the file that saves password digest */ +#define SHS_PASSWORDS /* use this one if SHS passwords are in use */ +#define MAX_PW_CRC 5 /* max # of longwords in password digest */ +#define PW_FILE_SUFFIX ".shs" /* suffix for the file that saves password digest */ #else -#define CRC_PASSWORDS /* use this one if CRC passwords are in use */ -#define MAX_PW_CRC 2 /* max # of CRC-32's in password */ -#define PW_FILE_SUFFIX ".crc" /* suffix for the file that saves password CRC's */ +#define CRC_PASSWORDS /* use this one if CRC passwords are in use */ +#define MAX_PW_CRC 2 /* max # of CRC-32's in password */ +#define PW_FILE_SUFFIX ".crc" /* suffix for the file that saves password CRC's */ #endif #ifdef LCF_DSECS @@ -226,7 +322,7 @@ source directory. #define PART_WIN_EXTD_LBA 0xF /* Win95/98 Extended partition */ #define PART_LINUX_EXTD 0x85 /* Linux Extended partition */ #define PART_LINUX_LVM 0x8E /* Linux LVM partition */ -#define PART_OS2_BOOTMGR 0xA /* OS/2 Boot Manager */ +/* #define PART_OS2_BOOTMGR 0xA - OS/2 Boot Manager */ #define PART_DOS12 1 /* DOS 12 bit FAT partition type */ #define PART_DOS16_SMALL 4 /* DOS 16 bit FAT partition type, < 32 MB */ @@ -253,12 +349,11 @@ source directory. #define STAGE_FLAG_MENU 0x0200 /* boot loader supports menu interface */ #define STAGE_FLAG_BMP4 0x0400 /* boot loader supports 640x480x4 bitmaps */ -#define SETUPSECS 4 /* nr of setup sectors */ -#define VSS_NUM 497 /* address where variable setup size is - stored */ +#define VSS_NUM 497 /* address where variable setup size is stored */ #define VGA_SET 506 /* address of initial kernel VGA mode */ -#define MAX_SETUPSECS 31 /* maximum number of sectors in kernel - setup code (+ bootsect) */ +#define SETUPSECS 4 /* default number of setup sectors */ +#define MAX_SETUPSECS 63 /* maximum number of sectors in kernel + setup code (+ bootsect) (for kernel >= 2.4.0) */ #define MAX_KERNEL_SECS 1024 /* absolute maximum kernel size */ #define SPECIAL_SECTORS 2 /* special sectors (don't compact) at beginning of map sections */