summaryrefslogtreecommitdiffstats
path: root/sys/dev/ispfw/asm_12160.h
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>2006-07-09 17:50:20 +0000
committermjacob <mjacob@FreeBSD.org>2006-07-09 17:50:20 +0000
commita6dea567ad2965b9db76644f687e9f9e987be2ff (patch)
tree02927e03d3704d09891594870139269cd8f3c287 /sys/dev/ispfw/asm_12160.h
parent685013634879c9cf1799d85237fd981587e51745 (diff)
downloadFreeBSD-src-a6dea567ad2965b9db76644f687e9f9e987be2ff.zip
FreeBSD-src-a6dea567ad2965b9db76644f687e9f9e987be2ff.tar.gz
Convert isp(4) and ispfw(4) to use firmware(9) to manage firmware
loading for the QLogic cards. Because isp(4) exists before the root is mounted, it's not really possible for us to use the kernel's linker to load modules directly from disk- that's really too bad. However, the this is still a net win in in that the firmware has been split up on a per chip (and in some cases, functionality) basis, so the amount of stuff loaded *can* be substantially less than the 1.5MB of firmware images that ispfw now manages. That is, each specific f/w set is now also built as a module. For example, QLogic 2322 f/w is built as isp_2322.ko and Initiator/Target 1080 firmware is built as isp_1080_it.ko. For compatibility purposes (i.e., to perturb folks the least), we also still build all of the firmware as one ispfw.ko module. This allows us to let 'ispfw_LOAD' keep on working in existing loader.conf files. If you now want to strip this down to just the firmware for your h/w, you can then change loader.conf to load the f/w you specifically want. We also still allow for ispfw to be statically built (e.g., for PAE and sparc64). Future changes will look at f/w unloading and also role switching that then uses the kernel linker to load different ips f/w sets. MFC after: 2 months
Diffstat (limited to 'sys/dev/ispfw/asm_12160.h')
-rw-r--r--sys/dev/ispfw/asm_12160.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/ispfw/asm_12160.h b/sys/dev/ispfw/asm_12160.h
index bc1d420..4f5fbd0 100644
--- a/sys/dev/ispfw/asm_12160.h
+++ b/sys/dev/ispfw/asm_12160.h
@@ -34,6 +34,7 @@
/*
* Firmware Version 10.04.41 (10:30 Mar 21, 2003)
*/
+#ifdef ISP_12160
static const u_int16_t isp_12160_risc_code[] = {
0x0804, 0x1041, 0x0000, 0x36c9, 0x0000, 0x2043, 0x4f50, 0x5952,
0x4947, 0x4854, 0x2031, 0x3939, 0x312c, 0x3139, 0x3932, 0x2c31,
@@ -1790,10 +1791,12 @@ static const u_int16_t isp_12160_risc_code[] = {
0x0018, 0x00ce, 0x681f, 0x000c, 0x001e, 0x70a0, 0x70a2, 0x0005,
0x0c28
};
+#endif
/*
* Firmware Version 11.12.19 (17:10 Oct 25, 2001)
*/
-static const u_int16_t isp_12160_risc_code_it[] = {
+#ifdef ISP_12160_IT
+static const u_int16_t isp_12160_it_risc_code[] = {
0x0804, 0x103a, 0x0000, 0x4f4e, 0x0000, 0x2043, 0x4f50, 0x5952,
0x4947, 0x4854, 0x2031, 0x3939, 0x3520, 0x514c, 0x4f47, 0x4943,
0x2043, 0x4f52, 0x504f, 0x5241, 0x5449, 0x4f4e, 0x2049, 0x5350,
@@ -4333,3 +4336,4 @@ static const u_int16_t isp_12160_risc_code_it[] = {
0x9521, 0x85a1, 0x806f, 0x9422, 0x84a2, 0x80fd, 0x9405, 0x8485,
0x7021, 0x0014, 0xa300, 0xa8ca, 0x0000, 0x7a3c
};
+#endif
OpenPOWER on IntegriCloud