aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2005-01-14 03:07:41 +0000
committerScott Long <scottl@FreeBSD.org>2005-01-14 03:07:41 +0000
commitff056c2ab1a43217dcbf97b712a417afee58c481 (patch)
treef7b7d784b38e0a650532e2d6c55b86379df9dacf
parent7207f983383a72b3e95dcf31579cadbf437b4f00 (diff)
downloadsrc-ff056c2ab1a43217dcbf97b712a417afee58c481.tar.gz
src-ff056c2ab1a43217dcbf97b712a417afee58c481.zip
Merge the ips driver bits. Tags were slid on the files that were added to
the RELENG_4 branch. This commit covers the files that existed and were merely changed. Approved by: re
Notes
Notes: svn path=/releng/4.11/; revision=140212
-rw-r--r--etc/MAKEDEV15
-rw-r--r--lib/libdisk/create_chunk.c2
-rw-r--r--lib/libdisk/disk.c2
-rw-r--r--release/i386/drivers.conf1
-rw-r--r--release/sysinstall/devices.c1
-rw-r--r--share/man/man4/Makefile1
-rw-r--r--sys/conf/files5
-rw-r--r--sys/conf/majors1
-rw-r--r--sys/i386/conf/GENERIC1
-rw-r--r--sys/i386/conf/LINT4
-rw-r--r--sys/modules/Makefile1
11 files changed, 29 insertions, 5 deletions
diff --git a/etc/MAKEDEV b/etc/MAKEDEV
index 3e00a28f4ee7..d73d3ae77b20 100644
--- a/etc/MAKEDEV
+++ b/etc/MAKEDEV
@@ -460,7 +460,7 @@ wt*)
;;
# Individual slices.
-aacd*s*|ad*s*|ar*s*|afd*s*|amrd*s*|da*s*|fla*s*|idad*s*|md*s*|mlxd*s*|pst*s*|twed*s*|vn*s*|wd*s*|wfd*s*)
+aacd*s*|ad*s*|ar*s*|afd*s*|amrd*s*|da*s*|fla*s*|idad*s*|ipsd*s*|md*s*|mlxd*s*|pst*s*|twed*s*|vn*s*|wd*s*|wfd*s*)
umask $disk_umask
case $i in
aacd*s*) name=aacd; chr=151;;
@@ -471,6 +471,7 @@ aacd*s*|ad*s*|ar*s*|afd*s*|amrd*s*|da*s*|fla*s*|idad*s*|md*s*|mlxd*s*|pst*s*|twe
da*s*) name=da; chr=13;;
fla*s*) name=fla; chr=102;;
idad*s*) name=idad; chr=109;;
+ ipsd*s*) name=ipsd; chr=176;;
md*s*) name=md; chr=95;;
mlxd*s*) name=mlxd; chr=131;;
pst*s*) name=pst; chr=168;;
@@ -480,7 +481,7 @@ aacd*s*|ad*s*|ar*s*|afd*s*|amrd*s*|da*s*|fla*s*|idad*s*|md*s*|mlxd*s*|pst*s*|twe
wfd*s*) name=wfd; chr=87;;
esac
case $i in
- aacd*s*|amrd*s*|idad*s*|mlxd*s*|twed*s*)
+ aacd*s*|amrd*s*|idad*s*|ips*s*|mlxd*s*|twed*s*)
unit=`expr $i : '....\([0-9]*\)s'`
slice=`expr $i : '....[0-9]*s\([0-9]*\)'`
part=`expr $i : '....[0-9]*s[0-9]*\(.*\)'`
@@ -645,7 +646,7 @@ fd*)
umask 77
;;
-aacd*|ad*|ar*|afd*|amrd*|da*|fla*|idad*|md*|mlxd*|pst*|twed*|vn*|wd*|wfd*)
+aacd*|ad*|ar*|afd*|amrd*|da*|fla*|idad*|ips*|md*|mlxd*|pst*|twed*|vn*|wd*|wfd*)
umask $disk_umask
case $i in
aacd*) name=aacd; chr=151;;
@@ -656,6 +657,7 @@ aacd*|ad*|ar*|afd*|amrd*|da*|fla*|idad*|md*|mlxd*|pst*|twed*|vn*|wd*|wfd*)
da*) name=da; chr=13;;
fla*) name=fla; chr=102;;
idad*) name=idad; chr=109;;
+ ipsd*) name=ipsd; char=176;;
md*) name=md; chr=95;;
mlxd*) name=mlxd; chr=131;;
pst*) name=pst; chr=168;;
@@ -665,7 +667,7 @@ aacd*|ad*|ar*|afd*|amrd*|da*|fla*|idad*|md*|mlxd*|pst*|twed*|vn*|wd*|wfd*)
wfd*) name=wfd; chr=87;;
esac
case $i in
- aacd*|amrd*|idad*|mlxd*|twed*)
+ aacd*|amrd*|idad*|ipsd*|mlxd*|twed*)
unit=`expr $i : '....\(.*\)'`
;;
afd*|fla*|pst*|wfd*)
@@ -1892,6 +1894,11 @@ aac*)
ln -fs aac$unit hpn$unit
;;
+ips*)
+ unit=`expr $i : 'ips\(.*\)'`
+ mknod ips$unit c 175 `unit2minor $unit`
+ ;;
+
mlx*)
unit=`expr $i : 'mlx\(.*\)'`
mknod mlx$unit c 130 `unit2minor $unit`
diff --git a/lib/libdisk/create_chunk.c b/lib/libdisk/create_chunk.c
index 366e3738e767..27f69015edc0 100644
--- a/lib/libdisk/create_chunk.c
+++ b/lib/libdisk/create_chunk.c
@@ -302,6 +302,8 @@ MakeDev(struct chunk *c1, const char *path)
cmaj = 102, p += 3;
else if (!strncmp(p, "idad", 4))
cmaj = 109, p += 4;
+ else if (!strncmp(p, "ipsd", 4))
+ cmaj = 176, p += 4;
else if (!strncmp(p, "mlxd", 4))
cmaj = 131, p += 4;
else if (!strncmp(p, "amrd", 4))
diff --git a/lib/libdisk/disk.c b/lib/libdisk/disk.c
index 334d2fdbe4ec..b25bc7c2b651 100644
--- a/lib/libdisk/disk.c
+++ b/lib/libdisk/disk.c
@@ -488,7 +488,7 @@ Collapse_Disk(struct disk *d)
#ifdef PC98
static char * device_list[] = {"wd", "aacd", "ad", "da", "afd", "fla", "idad", "mlxd", "amrd", "twed", "ar", "fd", 0};
#else
-static char * device_list[] = {"aacd", "ad", "da", "afd", "fla", "idad", "mlxd", "amrd", "twed", "ar", "fd", 0};
+static char * device_list[] = {"aacd", "ad", "da", "afd", "fla", "idad", "ipsd", "mlxd", "amrd", "twed", "ar", "fd", 0};
#endif
int qstrcmp(const void* a, const void* b) {
diff --git a/release/i386/drivers.conf b/release/i386/drivers.conf
index 608f798f4b76..108f802a267b 100644
--- a/release/i386/drivers.conf
+++ b/release/i386/drivers.conf
@@ -39,6 +39,7 @@ aac aac 2 disk "Adaptec AAC RAID"
an if_an 2 network "Aironet 4500/4800 802.11 PCMCIA/ISA/PCI card"
em if_em 2 network "Intel(R) PRO/1000 Gigabit Ethernet"
ida ida 2 disk "Compaq Smart RAID"
+ips ips 2 disk "IBM ServeRAID"
mlx mlx 2 disk "Mylex DAC960 family RAID"
pst pst 2 disk "Promise SuperTrak RAID"
wi if_wi 2 network "Lucent WaveLAN/IEEE 802.11 PCMCIA card"
diff --git a/release/sysinstall/devices.c b/release/sysinstall/devices.c
index 094a9c524cef..01b6d17fbbbf 100644
--- a/release/sysinstall/devices.c
+++ b/release/sysinstall/devices.c
@@ -78,6 +78,7 @@ static struct _devname {
{ DEVICE_TYPE_DISK, "mlxd%d", "Mylex RAID disk", 131, 65538, 8, 4 },
{ DEVICE_TYPE_DISK, "amrd%d", "AMI MegaRAID drive", 133, 65538, 8, 4 },
{ DEVICE_TYPE_DISK, "idad%d", "Compaq RAID array", 109, 65538, 8, 4 },
+ { DEVICE_TYPE_DISK, "ipsd%d", "IBM ServeRAID array", 176, 65538, 8, 4 },
{ DEVICE_TYPE_DISK, "twed%d", "3ware ATA RAID array", 147, 65538, 8, 4 },
{ DEVICE_TYPE_DISK, "aacd%d", "Adaptec FSA RAID array", 151, 65538, 8, 4 },
{ DEVICE_TYPE_FLOPPY, "fd%d", "floppy drive unit A", 9, 0, 64, 4 },
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index 75c4f7084a6d..2f3bd451b2ab 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -77,6 +77,7 @@ MAN= aac.4 \
ip.4 \
ip6.4 \
ipfirewall.4 \
+ ips.4 \
ipsec.4 \
isp.4 \
ispfw.4 \
diff --git a/sys/conf/files b/sys/conf/files
index efc7428433c4..bdfc90facab4 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -396,6 +396,11 @@ dev/ida/ida.c optional ida
dev/ida/ida_disk.c optional ida
dev/ida/ida_eisa.c optional ida eisa
dev/ida/ida_pci.c optional ida pci
+dev/ips/ips.c optional ips
+dev/ips/ips_pci.c optional ips pci
+dev/ips/ips_disk.c optional ips
+dev/ips/ips_commands.c optional ips
+dev/ips/ips_ioctl.c optional ips
dev/isp/isp_freebsd.c optional isp
dev/isp/isp.c optional isp
dev/isp/isp_pci.c optional isp
diff --git a/sys/conf/majors b/sys/conf/majors
index 8f4ea02c5c54..a553d5f06905 100644
--- a/sys/conf/majors
+++ b/sys/conf/majors
@@ -160,6 +160,7 @@ maj name comments
173 *devctl Devd control device <imp>
174 pciwd Berkshire Watchdog PCI <marcel@progressix.com>
175 ips IBM/Adaptec ServeRAID (control device)
+176 ipsd IBM/Adaptec ServeRAID (disk device)
180 nvidia NVIDIA (nvidiaN/nvidiactl) <mdodd>
181 casm HP/Compaq ProLiant Advanced Server Management <peter>
183 *smapi SMAPI BIOS interface <mdodd>
diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC
index 961cdb02c9b7..b77dfa2d04ac 100644
--- a/sys/i386/conf/GENERIC
+++ b/sys/i386/conf/GENERIC
@@ -129,6 +129,7 @@ device twa # 3ware 9000 series PATA/SATA RAID
device aac # Adaptec FSA RAID, Dell PERC2/PERC3
#device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
+device ips # IBM/Adaptec ServeRAID
device amr # AMI MegaRAID
device mlx # Mylex DAC960 family
device pst # Promise Supertrak SX6000
diff --git a/sys/i386/conf/LINT b/sys/i386/conf/LINT
index bb5d7e63a6d3..2848b72fb8d7 100644
--- a/sys/i386/conf/LINT
+++ b/sys/i386/conf/LINT
@@ -1261,6 +1261,10 @@ device aac
device aacp # SCSI Passthrough interface (optional, CAM required)
#
+# IBM (now Adaptec) ServeRAID controllers
+device ips
+
+#
# Compaq Smart RAID, Mylex DAC960 and AMI MegaRAID controllers. Only
# one entry is needed; the code will find and configure all supported
# controllers.
diff --git a/sys/modules/Makefile b/sys/modules/Makefile
index 586165c45395..955a7cb6e7df 100644
--- a/sys/modules/Makefile
+++ b/sys/modules/Makefile
@@ -46,6 +46,7 @@ SUBDIR= accf_data \
iir \
ip6fw \
ipfw \
+ ips \
ispfw \
joy \
kue \