* devices.h: Add additional SCSI disk block device numbers per
http://www.kernel.org/pub/linux/docs/device-list/devices.txt up to 128 devices. * devices.in: Ditto. (device::parsedisk): Add additonal else-if cases for decoding base and drive indices. * devices.cc: Regenerate. * dtable.cc (build_fh_pc): Add additional DEV_SD{2..7}_MAJOR cases.
This commit is contained in:
parent
729c0e6506
commit
9e3f289f51
|
@ -1,3 +1,14 @@
|
|||
2006-11-23 Joe Loh <joel@pivot3.com>
|
||||
|
||||
* devices.h: Add additional SCSI disk block device numbers per
|
||||
http://www.kernel.org/pub/linux/docs/device-list/devices.txt
|
||||
up to 128 devices.
|
||||
* devices.in: Ditto.
|
||||
(device::parsedisk): Add additonal else-if cases for decoding base
|
||||
and drive indices.
|
||||
* devices.cc: Regenerate.
|
||||
* dtable.cc (build_fh_pc): Add additional DEV_SD{2..7}_MAJOR cases.
|
||||
|
||||
2006-11-09 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* autoload.cc (EqualPrefixSid): Define.
|
||||
|
|
40707
winsup/cygwin/devices.cc
40707
winsup/cygwin/devices.cc
File diff suppressed because it is too large
Load Diff
|
@ -65,8 +65,20 @@ enum fh_devices
|
|||
|
||||
DEV_SD_MAJOR = 8,
|
||||
DEV_SD1_MAJOR = 65,
|
||||
DEV_SD2_MAJOR = 66,
|
||||
DEV_SD3_MAJOR = 67,
|
||||
DEV_SD4_MAJOR = 68,
|
||||
DEV_SD5_MAJOR = 69,
|
||||
DEV_SD6_MAJOR = 70,
|
||||
DEV_SD7_MAJOR = 71,
|
||||
FH_SD = FHDEV (DEV_SD_MAJOR, 0),
|
||||
FH_SD1 = FHDEV (DEV_SD1_MAJOR, 0),
|
||||
FH_SD2 = FHDEV (DEV_SD2_MAJOR, 0),
|
||||
FH_SD3 = FHDEV (DEV_SD3_MAJOR, 0),
|
||||
FH_SD4 = FHDEV (DEV_SD4_MAJOR, 0),
|
||||
FH_SD5 = FHDEV (DEV_SD5_MAJOR, 0),
|
||||
FH_SD6 = FHDEV (DEV_SD6_MAJOR, 0),
|
||||
FH_SD7 = FHDEV (DEV_SD7_MAJOR, 0),
|
||||
FH_SDA = FHDEV (DEV_SD_MAJOR, 0),
|
||||
FH_SDB = FHDEV (DEV_SD_MAJOR, 16),
|
||||
FH_SDC = FHDEV (DEV_SD_MAJOR, 32),
|
||||
|
@ -93,6 +105,108 @@ enum fh_devices
|
|||
FH_SDX = FHDEV (DEV_SD1_MAJOR, 112),
|
||||
FH_SDY = FHDEV (DEV_SD1_MAJOR, 128),
|
||||
FH_SDZ = FHDEV (DEV_SD1_MAJOR, 144),
|
||||
FH_SDAA = FHDEV (DEV_SD1_MAJOR, 160),
|
||||
FH_SDAB = FHDEV (DEV_SD1_MAJOR, 176),
|
||||
FH_SDAC = FHDEV (DEV_SD1_MAJOR, 192),
|
||||
FH_SDAD = FHDEV (DEV_SD1_MAJOR, 208),
|
||||
FH_SDAE = FHDEV (DEV_SD1_MAJOR, 224),
|
||||
FH_SDAF = FHDEV (DEV_SD1_MAJOR, 240),
|
||||
FH_SDAG = FHDEV (DEV_SD2_MAJOR, 0),
|
||||
FH_SDAH = FHDEV (DEV_SD2_MAJOR, 16),
|
||||
FH_SDAI = FHDEV (DEV_SD2_MAJOR, 32),
|
||||
FH_SDAJ = FHDEV (DEV_SD2_MAJOR, 48),
|
||||
FH_SDAK = FHDEV (DEV_SD2_MAJOR, 64),
|
||||
FH_SDAL = FHDEV (DEV_SD2_MAJOR, 80),
|
||||
FH_SDAM = FHDEV (DEV_SD2_MAJOR, 96),
|
||||
FH_SDAN = FHDEV (DEV_SD2_MAJOR, 112),
|
||||
FH_SDAO = FHDEV (DEV_SD2_MAJOR, 128),
|
||||
FH_SDAP = FHDEV (DEV_SD2_MAJOR, 144),
|
||||
FH_SDAQ = FHDEV (DEV_SD2_MAJOR, 160),
|
||||
FH_SDAR = FHDEV (DEV_SD2_MAJOR, 176),
|
||||
FH_SDAS = FHDEV (DEV_SD2_MAJOR, 192),
|
||||
FH_SDAT = FHDEV (DEV_SD2_MAJOR, 208),
|
||||
FH_SDAU = FHDEV (DEV_SD2_MAJOR, 224),
|
||||
FH_SDAV = FHDEV (DEV_SD2_MAJOR, 240),
|
||||
FH_SDAW = FHDEV (DEV_SD3_MAJOR, 0),
|
||||
FH_SDAX = FHDEV (DEV_SD3_MAJOR, 16),
|
||||
FH_SDAY = FHDEV (DEV_SD3_MAJOR, 32),
|
||||
FH_SDAZ = FHDEV (DEV_SD3_MAJOR, 48),
|
||||
FH_SDBA = FHDEV (DEV_SD3_MAJOR, 64),
|
||||
FH_SDBB = FHDEV (DEV_SD3_MAJOR, 80),
|
||||
FH_SDBC = FHDEV (DEV_SD3_MAJOR, 96),
|
||||
FH_SDBD = FHDEV (DEV_SD3_MAJOR, 112),
|
||||
FH_SDBE = FHDEV (DEV_SD3_MAJOR, 128),
|
||||
FH_SDBF = FHDEV (DEV_SD3_MAJOR, 144),
|
||||
FH_SDBG = FHDEV (DEV_SD3_MAJOR, 160),
|
||||
FH_SDBH = FHDEV (DEV_SD3_MAJOR, 176),
|
||||
FH_SDBI = FHDEV (DEV_SD3_MAJOR, 192),
|
||||
FH_SDBJ = FHDEV (DEV_SD3_MAJOR, 208),
|
||||
FH_SDBK = FHDEV (DEV_SD3_MAJOR, 224),
|
||||
FH_SDBL = FHDEV (DEV_SD3_MAJOR, 240),
|
||||
FH_SDBM = FHDEV (DEV_SD4_MAJOR, 0),
|
||||
FH_SDBN = FHDEV (DEV_SD4_MAJOR, 16),
|
||||
FH_SDBO = FHDEV (DEV_SD4_MAJOR, 32),
|
||||
FH_SDBP = FHDEV (DEV_SD4_MAJOR, 48),
|
||||
FH_SDBQ = FHDEV (DEV_SD4_MAJOR, 64),
|
||||
FH_SDBR = FHDEV (DEV_SD4_MAJOR, 80),
|
||||
FH_SDBS = FHDEV (DEV_SD4_MAJOR, 96),
|
||||
FH_SDBT = FHDEV (DEV_SD4_MAJOR, 112),
|
||||
FH_SDBU = FHDEV (DEV_SD4_MAJOR, 128),
|
||||
FH_SDBV = FHDEV (DEV_SD4_MAJOR, 144),
|
||||
FH_SDBW = FHDEV (DEV_SD4_MAJOR, 160),
|
||||
FH_SDBX = FHDEV (DEV_SD4_MAJOR, 176),
|
||||
FH_SDBY = FHDEV (DEV_SD4_MAJOR, 192),
|
||||
FH_SDBZ = FHDEV (DEV_SD4_MAJOR, 208),
|
||||
FH_SDCA = FHDEV (DEV_SD4_MAJOR, 224),
|
||||
FH_SDCB = FHDEV (DEV_SD4_MAJOR, 240),
|
||||
FH_SDCC = FHDEV (DEV_SD5_MAJOR, 0),
|
||||
FH_SDCD = FHDEV (DEV_SD5_MAJOR, 16),
|
||||
FH_SDCE = FHDEV (DEV_SD5_MAJOR, 32),
|
||||
FH_SDCF = FHDEV (DEV_SD5_MAJOR, 48),
|
||||
FH_SDCG = FHDEV (DEV_SD5_MAJOR, 64),
|
||||
FH_SDCH = FHDEV (DEV_SD5_MAJOR, 80),
|
||||
FH_SDCI = FHDEV (DEV_SD5_MAJOR, 96),
|
||||
FH_SDCJ = FHDEV (DEV_SD5_MAJOR, 112),
|
||||
FH_SDCK = FHDEV (DEV_SD5_MAJOR, 128),
|
||||
FH_SDCL = FHDEV (DEV_SD5_MAJOR, 144),
|
||||
FH_SDCM = FHDEV (DEV_SD5_MAJOR, 160),
|
||||
FH_SDCN = FHDEV (DEV_SD5_MAJOR, 176),
|
||||
FH_SDCO = FHDEV (DEV_SD5_MAJOR, 192),
|
||||
FH_SDCP = FHDEV (DEV_SD5_MAJOR, 208),
|
||||
FH_SDCQ = FHDEV (DEV_SD5_MAJOR, 224),
|
||||
FH_SDCR = FHDEV (DEV_SD5_MAJOR, 240),
|
||||
FH_SDCS = FHDEV (DEV_SD6_MAJOR, 0),
|
||||
FH_SDCT = FHDEV (DEV_SD6_MAJOR, 16),
|
||||
FH_SDCU = FHDEV (DEV_SD6_MAJOR, 32),
|
||||
FH_SDCV = FHDEV (DEV_SD6_MAJOR, 48),
|
||||
FH_SDCW = FHDEV (DEV_SD6_MAJOR, 64),
|
||||
FH_SDCX = FHDEV (DEV_SD6_MAJOR, 80),
|
||||
FH_SDCY = FHDEV (DEV_SD6_MAJOR, 96),
|
||||
FH_SDCZ = FHDEV (DEV_SD6_MAJOR, 112),
|
||||
FH_SDDA = FHDEV (DEV_SD6_MAJOR, 128),
|
||||
FH_SDDB = FHDEV (DEV_SD6_MAJOR, 144),
|
||||
FH_SDDC = FHDEV (DEV_SD6_MAJOR, 160),
|
||||
FH_SDDD = FHDEV (DEV_SD6_MAJOR, 176),
|
||||
FH_SDDE = FHDEV (DEV_SD6_MAJOR, 192),
|
||||
FH_SDDF = FHDEV (DEV_SD6_MAJOR, 208),
|
||||
FH_SDDG = FHDEV (DEV_SD6_MAJOR, 224),
|
||||
FH_SDDH = FHDEV (DEV_SD6_MAJOR, 240),
|
||||
FH_SDDI = FHDEV (DEV_SD7_MAJOR, 0),
|
||||
FH_SDDJ = FHDEV (DEV_SD7_MAJOR, 16),
|
||||
FH_SDDK = FHDEV (DEV_SD7_MAJOR, 32),
|
||||
FH_SDDL = FHDEV (DEV_SD7_MAJOR, 48),
|
||||
FH_SDDM = FHDEV (DEV_SD7_MAJOR, 64),
|
||||
FH_SDDN = FHDEV (DEV_SD7_MAJOR, 80),
|
||||
FH_SDDO = FHDEV (DEV_SD7_MAJOR, 96),
|
||||
FH_SDDP = FHDEV (DEV_SD7_MAJOR, 112),
|
||||
FH_SDDQ = FHDEV (DEV_SD7_MAJOR, 128),
|
||||
FH_SDDR = FHDEV (DEV_SD7_MAJOR, 144),
|
||||
FH_SDDS = FHDEV (DEV_SD7_MAJOR, 160),
|
||||
FH_SDDT = FHDEV (DEV_SD7_MAJOR, 176),
|
||||
FH_SDDU = FHDEV (DEV_SD7_MAJOR, 192),
|
||||
FH_SDDV = FHDEV (DEV_SD7_MAJOR, 208),
|
||||
FH_SDDW = FHDEV (DEV_SD7_MAJOR, 224),
|
||||
FH_SDDX = FHDEV (DEV_SD7_MAJOR, 240),
|
||||
|
||||
FH_MEM = FHDEV (1, 1),
|
||||
FH_KMEM = FHDEV (1, 2), /* not implemented yet */
|
||||
|
|
|
@ -85,7 +85,15 @@ const device dev_bad_storage =
|
|||
"/dev/scd%(0-15)d", BRACK(FHDEV(DEV_CDROM_MAJOR, {$1})), "\\Device\\CdRom{$1}"
|
||||
"/dev/sr%(0-15)d", BRACK(FHDEV(DEV_CDROM_MAJOR, {$1})), "\\Device\\CdRom{$1}"
|
||||
"/dev/sd%{a-z}s", BRACK(FH_SD{uc $1}), "\\Device\\Harddisk{ord($1) - ord('a')}\\Partition0"
|
||||
"/dev/sda%{a-z}s", BRACK(FH_SDA{uc $1}), "\\Device\\Harddisk{26 + ord($1) - ord('a')}\\Partition0"
|
||||
"/dev/sdb%{a-z}s", BRACK(FH_SDB{uc $1}), "\\Device\\Harddisk{52 + ord($1) - ord('a')}\\Partition0"
|
||||
"/dev/sdc%{a-z}s", BRACK(FH_SDC{uc $1}), "\\Device\\Harddisk{78 + ord($1) - ord('a')}\\Partition0"
|
||||
"/dev/sdd%{a-x}s", BRACK(FH_SDD{uc $1}), "\\Device\\Harddisk{104 + ord($1) - ord('a')}\\Partition0"
|
||||
"/dev/sd%{a-z}s%(1-15)d", BRACK(FH_SD{uc $1} | {$2}), "\\Device\\Harddisk{ord($1) - ord('a')}\\Partition{$2 % 16}"
|
||||
"/dev/sda%{a-z}s%(1-15)d", BRACK(FH_SDA{uc $1} | {$2}), "\\Device\\Harddisk{26 + ord($1) - ord('a')}\\Partition{$2 % 16}"
|
||||
"/dev/sdb%{a-z}s%(1-15)d", BRACK(FH_SDB{uc $1} | {$2}), "\\Device\\Harddisk{52 + ord($1) - ord('a')}\\Partition{$2 % 16}"
|
||||
"/dev/sdc%{a-z}s%(1-15)d", BRACK(FH_SDC{uc $1} | {$2}), "\\Device\\Harddisk{78 + ord($1) - ord('a')}\\Partition{$2 % 16}"
|
||||
"/dev/sdd%{a-x}s%(1-15)d", BRACK(FH_SDD{uc $1} | {$2}), "\\Device\\Harddisk{104 + ord($1) - ord('a')}\\Partition{$2 % 16}"
|
||||
"/dev/kmsg", BRACK(FH_KMSG), "\\\\.\\mailslot\\cygwin\\dev\\kmsg"
|
||||
"/dev", BRACK(FH_DEV), "/dev"
|
||||
%other {return NULL;}
|
||||
|
@ -146,12 +154,44 @@ void
|
|||
device::parsedisk (int drive, int part)
|
||||
{
|
||||
int base;
|
||||
if (drive < ('q' - 'a'))
|
||||
if (drive < ('q' - 'a')) /* /dev/sda -to- /dev/sdp */
|
||||
base = DEV_SD_MAJOR;
|
||||
else
|
||||
else if (drive < 32) /* /dev/sdq -to- /dev/sdaf */
|
||||
{
|
||||
base = DEV_SD1_MAJOR;
|
||||
drive -= 'q' - 'a';
|
||||
}
|
||||
else if (drive < 48) /* /dev/sdag -to- /dev/sdav */
|
||||
{
|
||||
base = DEV_SD2_MAJOR;
|
||||
drive -= 32;
|
||||
}
|
||||
else if (drive < 64) /* /dev/sdaw -to- /dev/sdbl */
|
||||
{
|
||||
base = DEV_SD3_MAJOR;
|
||||
drive -= 48;
|
||||
}
|
||||
else if (drive < 80) /* /dev/sdbm -to- /dev/sdcb */
|
||||
{
|
||||
base = DEV_SD4_MAJOR;
|
||||
drive -= 64;
|
||||
}
|
||||
else if (drive < 96) /* /dev/sdcc -to- /dev/sdcr */
|
||||
{
|
||||
base = DEV_SD5_MAJOR;
|
||||
drive -= 80;
|
||||
}
|
||||
else if (drive < 112) /* /dev/sdcs -to- /dev/sddh */
|
||||
{
|
||||
base = DEV_SD6_MAJOR;
|
||||
drive -= 96;
|
||||
}
|
||||
/* NOTE: This will cause multiple /dev/sddx entries in
|
||||
/proc/partitions if there are more than 128 devices */
|
||||
else /* /dev/sddi -to- /dev/sddx */
|
||||
{
|
||||
base = DEV_SD7_MAJOR;
|
||||
drive -= 112;
|
||||
}
|
||||
parse (base, part + (drive * 16));
|
||||
}
|
||||
|
|
|
@ -384,6 +384,12 @@ build_fh_pc (path_conv& pc)
|
|||
case DEV_CDROM_MAJOR:
|
||||
case DEV_SD_MAJOR:
|
||||
case DEV_SD1_MAJOR:
|
||||
case DEV_SD2_MAJOR:
|
||||
case DEV_SD3_MAJOR:
|
||||
case DEV_SD4_MAJOR:
|
||||
case DEV_SD5_MAJOR:
|
||||
case DEV_SD6_MAJOR:
|
||||
case DEV_SD7_MAJOR:
|
||||
fh = cnew (fhandler_dev_floppy) ();
|
||||
break;
|
||||
case DEV_TAPE_MAJOR:
|
||||
|
|
Loading…
Reference in New Issue