Auto generated hardware notes

Simon L. Nielsen simon at FreeBSD.org
Thu Jun 17 19:57:38 UTC 2004


Hello Former Mr. Release notes, Current Mr. Release notes, Mr. mdoc, and
allround doc people :-).

When Bruce A. Mah started trimming the hardware notes I suggested auto
generating the device listings based on the manual pages.  Over the past
month or so I have been playing around with actually doing this (based
on my original proof-of-concept perl script) and I'm now at a stage
where I would like to get comments from other people.

Inspired by NetBSD I have created a HARDWARE section in section 4 manual
pages.  This section will then be extracted on put in to the hardware
notes.

The main advantage to this model is that if the manual page is updated
the hardware notes are updated, so there is no need for duplicate work.
The main disadvantage is that since the same text has to be used both in
the manual page and in the hardware notes for text structure (see sample
generated version for what I mean) is not perfect for the hardware
notes.

You can see a sample generated version at
http://people.freebsd.org/~simon/hwnotes/article.html where I have
converted: ata, aic, aha, ahb, ahc, ahd, aac, adv, adw, dpt, asr, twe,
fe, fxp, txp, em, my, and cx, which were choosen more or less at random.

For FreeBSD committers my work can be found in perforce at
//depot/user/simon/man-hwdocs/ .

The main unresolved issue for me is translation.  Since most of the text
is now extracted directly from manual pages (which only exists in
English and Japaneese) I'm not really sure how to deal with this nicely.

I have attached the main needed patches, the script and so on mainly so
people can see what I'm talking about.

Comments, ideas?

-- 
Simon L. Nielsen
FreeBSD Documentation Team
-------------- next part --------------
Only in /FreeBSD/clean/src/share/man/man4: CVS
diff -u /FreeBSD/clean/src/share/man/man4/aac.4 man4/aac.4
--- /FreeBSD/clean/src/share/man/man4/aac.4	Sun Mar 21 16:25:20 2004
+++ man4/aac.4	Mon May 10 01:13:51 2004
@@ -39,36 +39,7 @@
 .Nm
 driver provides support for the Adaptec AAC family of SCSI Ultra2, Ultra160,
 and Ultra320 RAID controllers.
-Supported controllers include:
-.Bl -bullet
-.It
-AAC-364
-.It
-Adaptec SCSI RAID 2120S
-.It
-Adaptec SCSI RAID 2200S
-.It
-Adaptec SCSI RAID 2410SA
-.It
-Adaptec SCSI RAID 2810SA
-.It
-Adaptec SCSI RAID 5400S
-.It
-Dell CERC SATA RAID 2
-.It
-Dell PERC 2/Si
-.It
-Dell PERC 2/QC
-.It
-Dell PERC 3/Si
-.It
-Dell PERC 3/Di
-.It
-Dell PERC 320/DC
-.It
-HP NetRAID 4M
 .Pp
-.El
 Access to RAID containers is available via the
 .Pa /dev/aacd?
 device nodes.
@@ -126,6 +97,39 @@
 performance peaks at a value of 96K,
 and drops off dramatically at 128K,
 due to other limitations of the card.
+.Sh HARDWARE
+Controllers supported by the
+.Nm
+driver include:
+.Pp
+.Bl -bullet -compact
+.It
+AAC-364
+.It
+Adaptec SCSI RAID 2120S
+.It
+Adaptec SCSI RAID 2200S
+.It
+Adaptec SCSI RAID 2410SA
+.It
+Adaptec SCSI RAID 2810SA
+.It
+Adaptec SCSI RAID 5400S
+.It
+Dell CERC SATA RAID 2
+.It
+Dell PERC 2/Si
+.It
+Dell PERC 2/QC
+.It
+Dell PERC 3/Si
+.It
+Dell PERC 3/Di
+.It
+Dell PERC 320/DC
+.It
+HP NetRAID 4M
+.El
 .Sh FILES
 .Bl -tag -width /boot/kernel/aac.ko -compact
 .It Pa /dev/aac?
diff -u /FreeBSD/clean/src/share/man/man4/adv.4 man4/adv.4
--- /FreeBSD/clean/src/share/man/man4/adv.4	Sat Oct 13 11:08:30 2001
+++ man4/adv.4	Thu Jun 17 16:11:05 2004
@@ -154,6 +154,67 @@
 per target is not honored as the CAM SCSI system will automatically determine
 the maximum number of tags a device can receive as well as guarantee fair
 resource allocation among devices.
+.Sh HARDWARE
+The
+.Nm
+driver supports the following AdvanSys SCSI controllers:
+.Pp
+.Bl -bullet -compact
+.It
+ABP510/5150
+.It
+ABP5140
+.It
+ABP5142
+.It
+ABP902/3902
+.It
+ABP3905
+.It
+ABP915
+.It
+ABP920
+.It
+ABP3922
+.It
+ABP3925
+.It
+ABP930, ABP930U, ABP930UA
+.It
+ABP960, ABP960U
+.It
+ABP542
+.It
+ABP742
+.It
+ABP842
+.It
+ABP940
+.It
+ABP940UA/3940UA
+.It
+ABP940U
+.It
+ABP3960UA
+.It
+ABP970, ABP970U
+.It
+ABP752
+.It
+ABP852
+.It
+ABP950
+.It
+ABP980, ABP980U
+.It
+ABP980UA/3980UA
+.It
+MELCO IFC-USP (PC-98)
+.It
+RATOC REX-PCI30 (PC-98)
+.It
+ at Nifty FNECHARD IFC-USUP-TX (PC-98)
+.El
 .Sh SEE ALSO
 .Xr adw 4 ,
 .Xr aha 4 ,
diff -u /FreeBSD/clean/src/share/man/man4/adw.4 man4/adw.4
--- /FreeBSD/clean/src/share/man/man4/adw.4	Sat Oct 13 11:08:30 2001
+++ man4/adw.4	Thu Jun 17 16:31:12 2004
@@ -43,13 +43,6 @@
 and
 .Tn ASC38C0800 Ultra2 ,
 SCSI Host Adapter chips.
-AdvanSys products incorporating these chips include the
-.Tn ABP[3]940UW ,
-.Tn ABP950UW ,
-.Tn ABP970UW ,
-.Tn ABP3940U2W ,
-and
-.Tn ABP3950U2W .
 Both chips support, synchronous transfers
 (20MHz and 40MHz max respectively),
 16bit transfers, tagged queueing,
@@ -66,6 +59,23 @@
 per target is not honored as the CAM SCSI system will automatically determine
 the maximum number of tags a device can receive as well as guarantee fair
 resource allocation among devices.
+.Sh HARDWARE
+The
+.Nm
+driver supports AdvanSys SCSI controllers including:
+.Pp
+.Bl -bullet -compact
+.It
+ABP940UW/ABP3940UW
+.It
+ABP950UW
+.It
+ABP970UW
+.It
+ABP3940U2W
+.It
+ABP3950U2W
+.El
 .Sh SEE ALSO
 .Xr adv 4 ,
 .Xr cd 4 ,
diff -u /FreeBSD/clean/src/share/man/man4/aha.4 man4/aha.4
--- /FreeBSD/clean/src/share/man/man4/aha.4	Thu Jun 17 14:38:11 2004
+++ man4/aha.4	Thu Jun 17 16:31:06 2004
@@ -42,13 +42,9 @@
 .Sh DESCRIPTION
 This driver provides access to the
 .Tn SCSI
-bus connected to an Adaptec AHA-154xB, AHA-154xC,
-AHA-154xCF, AHA-154xCP, or AHA-1640 host adapter.
+bus connected to the Adaptec AHA-154x and AHA-1640 SCSI host adapters.
 x is 0 for controllers without a floppy drive and 2 for controllers
 that have them.
-Host adapters supporting a 154x compatible interface,
-such as some Tekram controllers and the Adaptec AHA-174x in 154x
-emulation mode can also be attached with this driver.
 For optimum
 performance, Adaptec AHA-174x controllers should be configured in
 enhanced mode and attached via the
@@ -70,6 +66,27 @@
 The AHA-1640 is an MCA bus card.
 Since the MCA bus is a self-identifying bus, no setting of hints is
 required.
+.Sh HARDWARE
+The
+.Nm
+driver supports:
+.Pp
+.Bl -bullet -compact
+.It
+Adaptec AHA-154xB
+.It
+Adaptec AHA-154xC
+.It
+Adaptec AHA-154xCF
+.It
+Adaptec AHA-154xCP
+.It
+Adaptec AHA-1640
+.It
+Adaptec AHA-174x in 154x emulation mode
+.It
+Tekram SCSI controllers in 154x emulation mode
+.El
 .Sh BUGS
 The AHA-154xA card does not support residuals on data transfers.
 As a result, this card is no longer supported.
diff -u /FreeBSD/clean/src/share/man/man4/ahb.4 man4/ahb.4
--- /FreeBSD/clean/src/share/man/man4/ahb.4	Sun Nov  9 02:52:13 2003
+++ man4/ahb.4	Thu Jun 17 18:13:35 2004
@@ -39,10 +39,25 @@
 This driver provides access to the
 .Tn SCSI
 bus connected to an Adaptec
-AHA-1740, AHA-1742, AHA-1740A, AHA-1742A host adapters in
+AHA-174X host adapters in
 .Dq Em enhanced
 mode.
 Tagged queueing and synchronous SCSI transfers are supported.
+.Sh HARDWARE
+The
+.Nm
+driver supports the following SCSI controllers:
+.Pp
+.Bl -bullet -compact
+.It
+Adaptec AHA-1740
+.It
+Adaptec AHA-1742
+.It
+Adaptec AHA-1740A
+.It
+Adaptec AHA-1742A
+.El
 .Sh CAVEATS
 The Adaptec 174X is very sensitive to SCSI bus termination and cable
 length.
diff -u /FreeBSD/clean/src/share/man/man4/ahc.4 man4/ahc.4
--- /FreeBSD/clean/src/share/man/man4/ahc.4	Sun Nov  9 23:53:58 2003
+++ man4/ahc.4	Thu Jun 17 18:13:35 2004
@@ -52,61 +52,8 @@
 .Sh DESCRIPTION
 This driver provides access to the
 .Tn SCSI
-bus(es) connected to Adaptec
-.Tn AIC7770 ,
-.Tn AIC7850 ,
-.Tn AIC7860 ,
-.Tn AIC7870 ,
-.Tn AIC7880 ,
-.Tn AIC7890 ,
-.Tn AIC7891 ,
-.Tn AIC7892 ,
-.Tn AIC7895 ,
-.Tn AIC7896 ,
-.Tn AIC7897
-and
-.Tn AIC7899
+bus(es) connected to the Adaptec AIC77xx and AIC78xx
 host adapter chips.
-These chips are found on many motherboards as well as the following
-Adaptec SCSI controller cards:
-.Tn 274X(W) ,
-.Tn 274X(T) ,
-.Tn 284X ,
-.Tn 2910 ,
-.Tn 2915 ,
-.Tn 2920 ,
-.Tn 2930C ,
-.Tn 2930U2 ,
-.Tn 2940 ,
-.Tn 2940J ,
-.Tn 2940N ,
-.Tn 2940U ,
-.Tn 2940AU ,
-.Tn 2940UW ,
-.Tn 2940UW Dual ,
-.Tn 2940UW Pro ,
-.Tn 2940U2W ,
-.Tn 2940U2B ,
-.Tn 2950U2W ,
-.Tn 2950U2B ,
-.Tn 19160B ,
-.Tn 29160B ,
-.Tn 29160N ,
-.Tn 3940 ,
-.Tn 3940U ,
-.Tn 3940AU ,
-.Tn 3940UW ,
-.Tn 3940AUW ,
-.Tn 3940U2W ,
-.Tn 3950U2 ,
-.Tn 3960 ,
-.Tn 39160 ,
-.Tn 3985 ,
-and
-.Tn 4944UW .
-.Pp
-On the pc98 platform, support is also provided for the NEC PC-9821Xt13
-and RvII26, PC-9821X-B02L/B09, and SV-98/2-B03.
 .Pp
 Driver features include support for twin and wide busses,
 fast, ultra or ultra2 synchronous transfers depending on controller type,
@@ -229,6 +176,105 @@
 target on multiple SCSI IDs.
 .El
 .Ed
+.Sh HARDWARE
+The
+.Nm
+driver supports the Adaptec
+.Tn AIC7770 ,
+.Tn AIC7850 ,
+.Tn AIC7860 ,
+.Tn AIC7870 ,
+.Tn AIC7880 ,
+.Tn AIC7890 ,
+.Tn AIC7891 ,
+.Tn AIC7892 ,
+.Tn AIC7895 ,
+.Tn AIC7896 ,
+.Tn AIC7897
+and
+.Tn AIC7899
+host adapter chips.
+These chips are found on many motherboards as well as the following
+SCSI controller cards:
+.Pp
+.Bl -bullet -compact
+.It
+Adaptec 274X(W)
+.It
+Adaptec 274X(T)
+.It
+Adaptec 284X
+.It
+Adaptec 2910
+.It
+Adaptec 2915
+.It
+Adaptec 2920
+.It
+Adaptec 2930C
+.It
+Adaptec 2930U2
+.It
+Adaptec 2940
+.It
+Adaptec 2940J
+.It
+Adaptec 2940N
+.It
+Adaptec 2940U
+.It
+Adaptec 2940AU
+.It
+Adaptec 2940UW
+.It
+Adaptec 2940UW Dual
+.It
+Adaptec 2940UW Pro
+.It
+Adaptec 2940U2W
+.It
+Adaptec 2940U2B
+.It
+Adaptec 2950U2W
+.It
+Adaptec 2950U2B
+.It
+Adaptec 19160B
+.It
+Adaptec 29160B
+.It
+Adaptec 29160N
+.It
+Adaptec 3940
+.It
+Adaptec 3940U
+.It
+Adaptec 3940AU
+.It
+Adaptec 3940UW
+.It
+Adaptec 3940AUW
+.It
+Adaptec 3940U2W
+.It
+Adaptec 3950U2
+.It
+Adaptec 3960
+.It
+Adaptec 39160
+.It
+Adaptec 3985
+.It
+Adaptec 4944UW
+.It
+NEC PC-9821Xt13 (PC-98)
+.It
+NEC RvII26 (PC-98)
+.It
+NEC PC-9821X-B02L/B09 (PC-98)
+.It
+NEC SV-98/2-B03 (PC-98)
+.El
 .Sh SCSI CONTROL BLOCKS (SCBs)
 Every transaction sent to a device on the SCSI bus is assigned a
 .Sq SCSI Control Block
diff -u /FreeBSD/clean/src/share/man/man4/ahd.4 man4/ahd.4
--- /FreeBSD/clean/src/share/man/man4/ahd.4	Fri Dec 27 13:15:33 2002
+++ man4/ahd.4	Thu Jun 17 18:13:35 2004
@@ -63,17 +63,8 @@
 This driver provides access to the
 .Tn SCSI
 bus(es) connected to Adaptec
-.Tn AIC7901
-and
-.Tn AIC7902
+.Tn AIC790x
 host adapter chips.
-These chips are found on many motherboards as well as the
-.Tn 29320
-and
-.Tn 39320
-Adaptec
-.Tn SCSI
-controller cards.
 .Pp
 Driver features include support for narrow and wide busses,
 fast, ultra, ultra2, ultra160, and ultra320 synchronous transfers,
@@ -131,6 +122,23 @@
 and the host adapter's
 .Tn SCSI
 ID.
+.Sh HARDWARE
+The
+.Nm
+driver supports the Adaptec
+.Tn AIC7901 ,
+.Tn AIC7901A ,
+and
+.Tn AIC7902
+.Tn SCSI
+host adapter chips.
+These chips are found on many motherboards as well as the
+.Tn 29320
+and
+.Tn 39320
+Adaptec
+.Tn SCSI
+controller cards.
 .Sh BUGS
 The current generation of 79xx chips do not support target mode in Ultra320
 mode.
diff -u /FreeBSD/clean/src/share/man/man4/asr.4 man4/asr.4
--- /FreeBSD/clean/src/share/man/man4/asr.4	Sun May  2 19:17:19 2004
+++ man4/asr.4	Mon May 10 00:50:47 2004
@@ -22,7 +22,28 @@
 SmartRAID SCSI RAID adapters through the standard SCSI disk
 .Xr da 4
 interface.
-The adapters currently supported include the following RAID adapters:
+.Pp
+The supported adapters provide 64 bit PCI,
+Compact PCI, Zero Channel PCI,
+and up to four channels of Ultra2, Ultra 160, or Ultra320 SCSI,
+or two channels of 1GB Fibre.
+All support RAID-0, RAID-1, RAID-10, RAID-5 and RAID-50 arrays.
+All SCSI target types are supported.
+For the ATA based controllers, one IDE drive per channel is supported.
+Hot-swapping of IDE drives is not supported at this time.
+.Pp
+All host bus adapters must be configured
+before they can be used with any operating system.
+Please contact Adaptec directly to obtain the latest information
+on configuration utilities for the adapters.
+Currently there are both a Motif based GUI configuration utility
+and a CLI based configuration utility available from the Adaptec Web site.
+The cards and arrays can also be configured via the BIOS based configuration
+tool (SMOR).
+.Sh HARDWARE
+The adapters currently supported by the
+.Nm
+driver include the following RAID adapters:
 .Pp
 .Bl -item -compact
 .It
@@ -59,24 +80,6 @@
 DEC KZPCC-XC (LVD 1-ch, 16MB cache),
 DEC KZPCC-XE (LVD 3-ch, 64MB cache) -- rebadged SmartRAID V Millennium
 .El
-.Pp
-These adapters provide 64 bit PCI,
-Compact PCI, Zero Channel PCI,
-and up to four channels of Ultra2, Ultra 160, or Ultra320 SCSI,
-or two channels of 1GB Fibre.
-All support RAID-0, RAID-1, RAID-10, RAID-5 and RAID-50 arrays.
-All SCSI target types are supported.
-For the ATA based controllers, one IDE drive per channel is supported.
-Hot-swapping of IDE drives is not supported at this time.
-.Pp
-All host bus adapters must be configured
-before they can be used with any operating system.
-Please contact Adaptec directly to obtain the latest information
-on configuration utilities for the adapters.
-Currently there are both a Motif based GUI configuration utility
-and a CLI based configuration utility available from the Adaptec Web site.
-The cards and arrays can also be configured via the BIOS based configuration
-tool (SMOR).
 .Sh FILES
 .Bl -tag -width "/dev/asr*" -compact
 .It Pa /dev/asr*
diff -u /FreeBSD/clean/src/share/man/man4/ata.4 man4/ata.4
--- /FreeBSD/clean/src/share/man/man4/ata.4	Thu Jun 17 14:38:11 2004
+++ man4/ata.4	Thu Jun 17 20:33:18 2004
@@ -95,11 +95,48 @@
 .Sh DESCRIPTION
 The
 .Nm
+driver provides access to ATA (IDE) devices.
+.Pp
+The
+.Nm
+driver can change the transfer mode and various other parameters
+when the system is up and running.
+See
+.Xr atacontrol 8 .
+.Pp
+The
+.Nm
+driver sets the maximum transfer mode supported by the hardware as default.
+However the
+.Nm
+driver sometimes warns:
+.Dq Sy "DMA limited to UDMA33, non-ATA66 cable or device".
+This means that
+the
+.Nm
+driver has detected that the required 80 conductor cable is not present
+or could not be detected properly,
+or that one of the devices on the channel only accepts up
+to UDMA2/ATA33.
+.Pp
+ATAPI devices are set to PIO mode by default because severe DMA problems are
+common even if the device capabilities indicate support.
+You can always try to set DMA mode on an ATAPI device using
+.Xr atacontrol 8 ,
+but be aware that your hardware might
+.Em not
+support it and can potentially
+.Em hang
+the entire system causing data loss.
+.Sh HARDWARE
+The
+.Nm
 driver provides access to ATA (IDE) and SerialATA disk drives,
 ATAPI CDROM/DVD drives, ZIP/LS120 ATAPI drives and ATAPI tape drives
 connected to controllers according to the ATA/ATAPI standards.
-.Pp
-The currently supported ATA/SATA controller chips are:
+The currently supported ATA/SATA controller chips by the
+.Nm
+driver are:
 .Pp
 .Bl -tag -width "Silicon Image:" -compact
 .It Acard:
@@ -138,38 +175,6 @@
 busmaster DMA registers are present and contain valid setup, DMA is
 also enabled, although the max mode is limitted to UDMA33, as it is
 not known what the chipset can do and how to program it.
-.Pp
-The
-.Nm
-driver can change the transfer mode and various other parameters
-when the system is up and running.
-See
-.Xr atacontrol 8 .
-.Pp
-The
-.Nm
-driver sets the maximum transfer mode supported by the hardware as default.
-However the
-.Nm
-driver sometimes warns:
-.Dq Sy "DMA limited to UDMA33, non-ATA66 cable or device".
-This means that
-the
-.Nm
-driver has detected that the required 80 conductor cable is not present
-or could not be detected properly,
-or that one of the devices on the channel only accepts up
-to UDMA2/ATA33.
-.Pp
-ATAPI devices are set to PIO mode by default because severe DMA problems are
-common even if the device capabilities indicate support.
-You can always try to set DMA mode on an ATAPI device using
-.Xr atacontrol 8 ,
-but be aware that your hardware might
-.Em not
-support it and can potentially
-.Em hang
-the entire system causing data loss.
 .Sh FILES
 .Bl -tag -width ".Pa /sys/i386/conf/GENERIC" -compact
 .It Pa /dev/ad*
diff -u /FreeBSD/clean/src/share/man/man4/bge.4 man4/bge.4
--- /FreeBSD/clean/src/share/man/man4/bge.4	Thu Jun 17 14:38:11 2004
+++ man4/bge.4	Sun Jun 13 22:35:14 2004
@@ -44,33 +44,7 @@
 The
 .Nm
 driver provides support for various NICs based on the Broadcom BCM570x
-family of gigabit ethernet controller chips, including the
-following:
-.Pp
-.Bl -bullet -compact
-.It
-3Com 3c996-T (10/100/1000baseTX)
-.It
-Dell PowerEdge 1750 integrated BCM5704C NIC (10/100/1000baseTX)
-.It
-Dell PowerEdge 2550 integrated BCM5700 NIC (10/100/1000baseTX)
-.It
-Dell PowerEdge 2650 integrated BCM5703 NIC (10/100/1000baseTX)
-.It
-IBM x235 server integrated BCM5703x NIC (10/100/1000baseTX)
-.It
-HP ProLiant NC7760 embedded Gigabit NIC (10/100/1000baseTX)
-.It
-HP ProLiant NC7770 PCI-X Gigabit NIC (10/100/1000baseTX)
-.It
-HP ProLiant NC7781 embedded PCI-X Gigabit NIC (10/100/1000baseTX)
-.It
-Netgear GA302T (10/100/1000baseTX)
-.It
-SysKonnect SK-9D21 (10/100/1000baseTX)
-.It
-SysKonnect SK-9D41 (1000baseSX)
-.El
+family of gigabit ethernet controller chips.
 .Pp
 All of these NICs are capable of 10, 100 and 1000Mbps speeds over CAT5
 copper cable, except for the SysKonnect SK-9D41 which supports only
@@ -179,6 +153,37 @@
 .Pp
 For more information on configuring this device, see
 .Xr ifconfig 8 .
+.Sh HARDWARE
+The
+.Nm
+driver provides support for various NICs based on the Broadcom BCM570x
+family of gigabit ethernet controller chips, including the
+following:
+.Pp
+.Bl -bullet -compact
+.It
+3Com 3c996-T (10/100/1000baseTX)
+.It
+Dell PowerEdge 1750 integrated BCM5704C NIC (10/100/1000baseTX)
+.It
+Dell PowerEdge 2550 integrated BCM5700 NIC (10/100/1000baseTX)
+.It
+Dell PowerEdge 2650 integrated BCM5703 NIC (10/100/1000baseTX)
+.It
+IBM x235 server integrated BCM5703x NIC (10/100/1000baseTX)
+.It
+HP ProLiant NC7760 embedded Gigabit NIC (10/100/1000baseTX)
+.It
+HP ProLiant NC7770 PCI-X Gigabit NIC (10/100/1000baseTX)
+.It
+HP ProLiant NC7781 embedded PCI-X Gigabit NIC (10/100/1000baseTX)
+.It
+Netgear GA302T (10/100/1000baseTX)
+.It
+SysKonnect SK-9D21 (10/100/1000baseTX)
+.It
+SysKonnect SK-9D41 (1000baseSX)
+.El
 .Sh DIAGNOSTICS
 .Bl -diag
 .It "bge%d: couldn't map memory"
diff -u /FreeBSD/clean/src/share/man/man4/dpt.4 man4/dpt.4
--- /FreeBSD/clean/src/share/man/man4/dpt.4	Tue Aug 19 06:37:54 2003
+++ man4/dpt.4	Thu Jun 17 20:50:43 2004
@@ -43,6 +43,22 @@
 .Sh DESCRIPTION
 The
 .Nm
+driver supports DPT RAID SCSI controllers.
+.Pp
+SmartRAID (PM3???) are "Enterprise" class cards,
+and SmartCache (PM2???) cards are in the "Workstation" class.
+The Gen 4 Smart Cache IV products were a re-issue of the Gen 3 utilizing
+upgraded (and cheaper to produce) silicon.
+The PM3334 (Smart RAID III) was not revamped as there was no upgraded silicon
+(68040 processor) and it was using the best DPT made.
+Note there has been customer confusion over the faster enterprise class card
+supported by this driver being an older generation.
+The Gen5 cards are supported by the
+.Xr asr 4
+driver.
+.Sh HARDWARE
+The
+.Nm
 driver provides support for the following RAID adapters:
 .Pp
 .Bl -bullet -compact
@@ -61,18 +77,6 @@
 .It
 Smart RAID IV
 .El
-.Pp
-SmartRAID (PM3???) are "Enterprise" class cards,
-and SmartCache (PM2???) cards are in the "Workstation" class.
-The Gen 4 Smart Cache IV products were a re-issue of the Gen 3 utilizing
-upgraded (and cheaper to produce) silicon.
-The PM3334 (Smart RAID III) was not revamped as there was no upgraded silicon
-(68040 processor) and it was using the best DPT made.
-Note there has been customer confusion over the faster enterprise class card
-supported by this driver being an older generation.
-The Gen5 cards are supported by the
-.Xr asr 4
-driver.
 .Sh FILES
 .Bl -tag -width /usr/share/man0/template.doc -compact
 .It Pa sys/dev/dpt/dpt_scsi.c
diff -u /FreeBSD/clean/src/share/man/man4/em.4 man4/em.4
--- /FreeBSD/clean/src/share/man/man4/em.4	Wed May 21 17:55:40 2003
+++ man4/em.4	Fri May 28 22:46:12 2004
@@ -43,7 +43,7 @@
 The
 .Nm
 driver provides support for PCI gigabit Ethernet adapters based on
-the Intel 82540, 82542, 82543, 82544 and 82546 Ethernet controller chips.
+the Intel 8254x series Ethernet controller chips.
 The driver supports Transmit/Receive checksum offload
 and Jumbo Frames only on 82540, 82543, 82544 and 82546-based adapters.
 For a list of supported adapters, see the
@@ -117,6 +117,25 @@
 .Pp
 For more information on configuring this device, see
 .Xr ifconfig 8 .
+.Sh HARDWARE
+The
+.Nm
+driver provides support for PCI gigabit Ethernet adapters based on
+the Intel 82540, 82542, 82543, 82544 and 82546 Ethernet controller chips.
+This includes the following network adaptors:
+.Pp
+.Bl -bullet -compact
+.It
+Intel PRO/1000 MT Desktop Adapter
+.It
+Intel PRO/1000 MT Server Adapter
+.It
+Intel PRO/1000 MF Server Adapter
+.It
+Intel PRO/1000 XT Server Adapter
+.It
+Intel PRO/1000 XF Server Adapter
+.El
 .Sh DIAGNOSTICS
 .Bl -diag
 .It "em%d: Unable to allocate bus resource: memory"
diff -u /FreeBSD/clean/src/share/man/man4/fxp.4 man4/fxp.4
--- /FreeBSD/clean/src/share/man/man4/fxp.4	Thu Jun 17 14:38:11 2004
+++ man4/fxp.4	Wed May 26 22:06:03 2004
@@ -39,32 +39,6 @@
 .Nm
 driver provides support for Ethernet adapters based on the Intel
 i82557, i82558, i82559, i82550, and i82562 chips.
-This includes the following adapters:
-.Pp
-.Bl -bullet -compact
-.It
-Intel EtherExpress PRO/10
-.It
-Intel InBusiness 10/100
-.It
-Intel PRO/100B / EtherExpressPRO/100 B PCI Adapter
-.It
-Intel PRO/100+ Management Adapter
-.It
-Intel PRO/100 VE Desktop Adapter
-.It
-Intel PRO/100 M Desktop Adapter
-.It
-Intel PRO/100 S Desktop, Server and Dual-Port Server Adapters
-.It
-Contec C-NET(PI)-100TX (PC98)
-.It
-NEC PC-9821Ra20, Rv20, Xv13, Xv20 internal 100Base-TX (PC98)
-.It
-NEC PC-9821X-B06 (PC98)
-.It
-Many on-board network interfaces on Intel motherboards.
-.El
 .Pp
 The
 .Nm
@@ -105,6 +79,35 @@
 flag with
 .Xr ifconfig 8
 will download the microcode to the chip if it is available.
+.El
+.Sh HARDWARE
+Adapters supported by the
+.Nm
+driver include:
+.Pp
+.Bl -bullet -compact
+.It
+Intel EtherExpress PRO/10
+.It
+Intel InBusiness 10/100
+.It
+Intel PRO/100B / EtherExpressPRO/100 B PCI Adapter
+.It
+Intel PRO/100+ Management Adapter
+.It
+Intel PRO/100 VE Desktop Adapter
+.It
+Intel PRO/100 M Desktop Adapter
+.It
+Intel PRO/100 S Desktop, Server and Dual-Port Server Adapters
+.It
+Contec C-NET(PI)-100TX (PC98)
+.It
+NEC PC-9821Ra20, Rv20, Xv13, Xv20 internal 100Base-TX (PC98)
+.It
+NEC PC-9821X-B06 (PC98)
+.It
+Many on-board network interfaces on Intel motherboards.
 .El
 .Sh DIAGNOSTICS
 .Bl -diag
Common subdirectories: /FreeBSD/clean/src/share/man/man4/man4.alpha and man4/man4.alpha
Common subdirectories: /FreeBSD/clean/src/share/man/man4/man4.i386 and man4/man4.i386
diff -u /FreeBSD/clean/src/share/man/man4/my.4 man4/my.4
--- /FreeBSD/clean/src/share/man/man4/my.4	Sun Aug 31 21:37:48 2003
+++ man4/my.4	Fri May 28 23:25:36 2004
@@ -38,6 +38,13 @@
 .Nm
 driver provides support for various NICs based on the Myson chipset.
 The Myson chipset is a variant of the DEC Tulip NIC chipset.
+.Pp
+The driver will work with almost any MII-compliant PHY, thus failure to
+positively identify the chip is not a fatal error.
+.Sh HARDWARE
+The
+.Nm
+driver provides support for various NICs based on the Myson chipset.
 Supported models include:
 .Pp
 .Bl -bullet -compact
@@ -48,9 +55,6 @@
 .It
 Myson MTD89X PCI Gigabit Ethernet chip
 .El
-.Pp
-The driver will work with almost any MII-compliant PHY, thus failure to
-positively identify the chip is not a fatal error.
 .Sh SEE ALSO
 .Xr de 4 ,
 .Xr miibus 4 ,
diff -u /FreeBSD/clean/src/share/man/man4/twe.4 man4/twe.4
--- /FreeBSD/clean/src/share/man/man4/twe.4	Wed Jul 16 07:49:40 2003
+++ man4/twe.4	Sat May 29 01:57:25 2004
@@ -36,7 +36,14 @@
 .Sh DESCRIPTION
 The
 .Nm
-driver provides support for the following series of ATA RAID
+driver provides support for 3ware Escalade ATA RAID adapters.
+.Pp
+These devices support 2, 4 or 8 ATA disk drives
+and provide RAID0 (striping) and RAID1 (mirroring) functionality.
+.Sh HARDWARE
+The
+.Nm
+driver supports the following series of 3ware ATA RAID
 controllers:
 .Pp
 .Bl -bullet -compact
@@ -49,9 +56,6 @@
 .It
 Escalade 3W-8x00
 .El
-.Pp
-These devices support 2, 4 or 8 ATA disk drives
-and provide RAID0 (striping) and RAID1 (mirroring) functionality.
 .Sh DIAGNOSTICS
 .Ss Controller initialisation phase
 .Bl -diag
diff -u /FreeBSD/clean/src/share/man/man4/txp.4 man4/txp.4
--- /FreeBSD/clean/src/share/man/man4/txp.4	Sat Feb 15 18:12:53 2003
+++ man4/txp.4	Sat May 29 00:56:19 2004
@@ -45,22 +45,6 @@
 .Tn 3Com
 .Tn Typhoon/Sidewinder
 chipset.
-This driver supports the following cards:
-.Pp
-.Bl -bullet -offset indent -compact
-.It
-3Com 3CR990-TX-95
-.It
-3Com 3CR990-TX-97
-.It
-3Com 3cR990B-TXM
-.It
-3Com 3CR990SVR95
-.It
-3Com 3CR990SVR97
-.It
-3Com 3cR990B-SRV
-.El
 .Pp
 Basic Ethernet functions are provided as well as support for
 .Xr vlan 4
@@ -125,6 +109,25 @@
 Use 10baseT, full duplex
 .It Cm media 10baseT Op Cm mediaopt half-duplex
 Use 10baseT, half duplex
+.El
+.Sh HARDWARE
+The
+.Nm
+driver supports the following cards:
+.Pp
+.Bl -bullet -offset indent -compact
+.It
+3Com 3CR990-TX-95
+.It
+3Com 3CR990-TX-97
+.It
+3Com 3cR990B-TXM
+.It
+3Com 3CR990SVR95
+.It
+3Com 3CR990SVR97
+.It
+3Com 3cR990B-SRV
 .El
 .Sh SEE ALSO
 .Xr arp 4 ,
diff -u /FreeBSD/clean/src/share/man/man4/xe.4 man4/xe.4
--- /FreeBSD/clean/src/share/man/man4/xe.4	Sun Dec 28 23:34:46 2003
+++ man4/xe.4	Sat May 29 01:42:48 2004
@@ -43,33 +43,6 @@
 various
 .Tn OEM
 manufacturers.
-The following cards are supported:
-.Pp
-.Bl -bullet -compact -offset -indent
-.It
-Xircom CreditCard Ethernet (PS-CE2-10)
-.It
-Xircom CreditCard Ethernet + Modem 28 (PS-CEM-28)
-.It
-Xircom CreditCard Ethernet + Modem 33 (CEM33)
-.It
-Xircom CreditCard 10/100 (CE3, CE3B)
-.It
-Xircom CreditCard Ethernet 10/100 + Modem 56 (CEM56)
-.It
-Xircom RealPort Ethernet 10 (RE10)
-.It
-Xircom RealPort Ethernet 10/100 (RE100)
-.It
-Xircom RealPort Ethernet 10/100 + Modem 56 (REM56, REM56G)
-.It
-Accton Fast EtherCard-16 (EN2226)
-.It
-Compaq Netelligent 10/100 PC Card (CPQ-10/100)
-.It
-Intel EtherExpress Pro/100 PC Card Mobile Adapter 16 (Pro/100 M16A)
-.El
-Other similar devices using the same hardware may also be supported.
 .Pp
 Please note that the
 .Nm
@@ -102,6 +75,36 @@
 For more information on configuring network interface devices,
 see
 .Xr ifconfig 8 .
+.Sh HARDWARE
+The
+.Nm
+driver supports the following cards:
+.Pp
+.Bl -bullet -compact -offset -indent
+.It
+Xircom CreditCard Ethernet (PS-CE2-10)
+.It
+Xircom CreditCard Ethernet + Modem 28 (PS-CEM-28)
+.It
+Xircom CreditCard Ethernet + Modem 33 (CEM33)
+.It
+Xircom CreditCard 10/100 (CE3, CE3B)
+.It
+Xircom CreditCard Ethernet 10/100 + Modem 56 (CEM56)
+.It
+Xircom RealPort Ethernet 10 (RE10)
+.It
+Xircom RealPort Ethernet 10/100 (RE100)
+.It
+Xircom RealPort Ethernet 10/100 + Modem 56 (REM56, REM56G)
+.It
+Accton Fast EtherCard-16 (EN2226)
+.It
+Compaq Netelligent 10/100 PC Card (CPQ-10/100)
+.It
+Intel EtherExpress Pro/100 PC Card Mobile Adapter 16 (Pro/100 M16A)
+.El
+Other similar devices using the same hardware may also be supported.
 .Sh DIAGNOSTICS
 .Bl -diag
 .It "xe%d: Cannot allocate ioport"
-------------- next part --------------
diff --exclude=CVS -ur /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/alpha/Makefile release/doc/en_US.ISO8859-1/hardware/alpha/Makefile
--- /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/alpha/Makefile	Sat Nov 17 21:53:23 2001
+++ release/doc/en_US.ISO8859-1/hardware/alpha/Makefile	Sat May 29 02:32:47 2004
@@ -15,6 +15,7 @@
 SRCS+=	../common/hw.ent
 SRCS+=	../common/artheader.sgml
 SRCS+=	../common/dev.sgml
+SRCS+=	dev-auto.sgml
 
 .include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --exclude=CVS -ur /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/alpha/article.sgml release/doc/en_US.ISO8859-1/hardware/alpha/article.sgml
--- /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/alpha/article.sgml	Mon Oct 29 06:17:21 2001
+++ release/doc/en_US.ISO8859-1/hardware/alpha/article.sgml	Sat May 29 02:32:47 2004
@@ -10,6 +10,7 @@
 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
 %release;
 <!ENTITY % sections SYSTEM "../common/hw.ent"> %sections;
+<!ENTITY % devauto SYSTEM "dev-auto.sgml"> %devauto;
 
 <!-- Architecture-specific customization -->
 
diff --exclude=CVS -ur /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/amd64/Makefile release/doc/en_US.ISO8859-1/hardware/amd64/Makefile
--- /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/amd64/Makefile	Fri Jun 27 05:50:35 2003
+++ release/doc/en_US.ISO8859-1/hardware/amd64/Makefile	Sat May 29 02:32:47 2004
@@ -15,6 +15,7 @@
 SRCS+=	../common/hw.ent
 SRCS+=	../common/artheader.sgml
 SRCS+=	../common/dev.sgml
+SRCS+=	dev-auto.sgml
 
 .include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --exclude=CVS -ur /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/amd64/article.sgml release/doc/en_US.ISO8859-1/hardware/amd64/article.sgml
--- /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/amd64/article.sgml	Fri Jun 27 05:50:35 2003
+++ release/doc/en_US.ISO8859-1/hardware/amd64/article.sgml	Sat May 29 02:32:47 2004
@@ -10,6 +10,7 @@
 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
 %release;
 <!ENTITY % sections SYSTEM "../common/hw.ent"> %sections;
+<!ENTITY % devauto SYSTEM "dev-auto.sgml"> %devauto;
 
 <!-- Architecture-specific customization -->
 
diff --exclude=CVS -ur /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml release/doc/en_US.ISO8859-1/hardware/common/dev.sgml
--- /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml	Thu Jun 17 14:42:22 2004
+++ release/doc/en_US.ISO8859-1/hardware/common/dev.sgml	Thu Jun 17 20:42:55 2004
@@ -57,7 +57,7 @@
   <sect2>
     <title>Disk Controllers</title>
 
-    <para arch="i386,alpha,sparc64,ia64,pc98,amd64">IDE/ATA controllers (&man.ata.4; driver)</para>
+    &hwlist.ata;
     <para arch="pc98">IDE/ATA controllers (wdc driver)
       <itemizedlist>
         <listitem>
@@ -66,25 +66,17 @@
       </itemizedlist>
     </para>
 
-    <para arch="i386,pc98,amd64">Adaptec AIC-6260 and AIC-6360 based boards
-      (&man.aic.4; driver)</para>
+    &hwlist.aic;
 
-    <para arch="i386">Adaptec AHA-154X ISA and AHA-1640 MCA
-      SCSI controllers and compatibles (&man.aha.4; driver)</para>
+    &hwlist.aha;
 
-    <para arch="i386">Adaptec AHA_174x series EISA SCSI controller in 
-      enhanced mode (&man.ahb.4; driver)</para>
+    &hwlist.ahb;
 
-    <para arch="i386,pc98,alpha,sparc64,amd64">Adaptec AIC-7770, AIC-7850,
-      AIC-7860, AIC-7870, AIC-7880, and AIC789x based SCSI host
-      adapters (&man.ahc.4; driver)</para>
+    &hwlist.ahc;
 
-    <para arch="i386,sparc64,amd64">Ultra-320 SCSI controllers based on the Adaptec
-      AIC7901, AIC7901A, and AIC7902 Ultra320 controller chips
-      (&man.ahd.4; driver)
-    </para>
+    &hwlist.ahd;
 
-    <para arch="i386,amd64">Adaptec FSA family RAID controllers (&man.aac.4; driver)</para>
+    &hwlist.aac;
 
     <para arch="pc98">NEC PC-9801-55, 92 and their compatible C-Bus SCSI interfaces (&man.ct.4; driver)
       <itemizedlist>
@@ -189,15 +181,10 @@
         </listitem>
       </itemizedlist>
     </para>
-    <para arch="i386,pc98,amd64">AdvanSys SCSI controllers (all models, &man.adv.4;
-    and &man.adw.4; drivers)
-      <itemizedlist>
-        <listitem arch="pc98">
-           <para>MELCO IFC-USP, RATOC REX-PCI30 and @Nifty FNECHARD
-           IFC-USUP-TX (&man.adv.4; driver)</para>
-        </listitem>
-      </itemizedlist>
-    </para>
+
+    &hwlist.adv;
+
+    &hwlist.adw;
 
     <para arch="i386,amd64">BusLogic MultiMaster <quote>W</quote>,
       <quote>C</quote>, <quote>S</quote>, and <quote>A</quote> Series
@@ -211,20 +198,9 @@
 
       </para>
 
-    <para arch="i386,amd64">DPT SmartCACHE Plus, SmartCACHE III, SmartRAID III, SmartCACHE IV and
-    SmartRAID IV SCSI/RAID controllers (&man.dpt.4; driver)</para>
+    &hwlist.dpt;
 
-    <para arch="i386,amd64">Adaptec 21x0S/32x0S/34x0S SCSI RAID
-    controllers (&man.asr.4; driver)</para>
-
-    <para arch="i386,amd64">Adaptec 2000S/2005S Zero-Channel RAID controllers
-    (&man.asr.4; driver)</para>
-
-    <para arch="i386,amd64">Adaptec 2400A ATA-100 RAID controller
-    (&man.asr.4; driver)</para>
-
-    <para arch="i386,amd64">DPT SmartRAID V and VI SCSI RAID controllers
-    (&man.asr.4; driver)</para>
+    &hwlist.asr;
 
     <para arch="i386,alpha,amd64">AMI MegaRAID Express and Enterprise family RAID controllers
     (&man.amr.4; driver)
@@ -257,8 +233,7 @@
     (&man.mly.4; driver)
     </para>
 
-    <para arch="i386">3ware Escalade ATA RAID controllers (&man.twe.4; driver)
-    </para>
+    &hwlist.twe;
 
     <para arch="i386,pc98,alpha,sparc64,amd64">LSI/Symbios (formerly NCR)
     53C8<replaceable>XX</replaceable> and 53C10<replaceable>XX</replaceable> PCI
@@ -733,11 +708,9 @@
     based NICs (&man.de.4; driver)
     </para>
 
-    <para arch="i386,pc98,amd64">Fujitsu MB86960A/MB86965A based Fast Ethernet NICs
-    (&man.fe.4; driver)</para>
+    &hwlist.fe;
 
-    <para arch="i386,pc98,alpha,ia64,sparc64,amd64">Intel 82557-, 82258-, 82559-, 82550-
-      or 82562-based Fast Ethernet NICs (&man.fxp.4; driver)</para>
+    &hwlist.fxp;
 
     <para arch="i386,amd64">Intel 82595-based Ethernet NICs (&man.ex.4; driver)
     </para>
@@ -763,9 +736,7 @@
     <para arch="i386,amd64">Megahertz X-Jack Ethernet PC-Card CC-10BT (&man.sn.4;
     driver)</para>
 
-    <para arch="i386,amd64">Xircom CreditCard adapters (16 bit) and
-    workalikes (&man.xe.4; driver)
-    </para>
+    &hwlist.xe;
 
     <para arch="pc98">National Semiconductor DP8393X (SONIC) Ethernet
     cards (snc driver)
@@ -783,28 +754,18 @@
     LXT1001 NetCellerator controller (&man.lge.4; driver)
     </para>
 
-    <para arch="i386,pc98,alpha,amd64">Ethernet and Fast Ethernet NICs based
-    on the 3Com 3XP Typhoon/Sidewinder (3CR990) chipset (&man.txp.4; driver)
-    </para>
+    &hwlist.txp;
 
-    <para arch="i386,pc98,ia64,amd64">Gigabit Ethernet NICs based on the Broadcom BCM570x
-    (&man.bge.4; driver)
-    </para>
+    &hwlist.bge;
 
-    <para arch="i386,pc98,alpha,ia64,amd64">Gigabit Ethernet NICs based on the
-    Intel 82542 and 82543 controller chips (&man.gx.4; and &man.em.4;
-    drivers), plus NICs supported by the Intel 82540EM, 82544,
-    82545EM, and 82546EB
-    controller chips (&man.em.4; driver only)
-    </para>
+    &hwlist.em;
 
     <para arch="sparc64">Sun HME and QFE Ethernet NICs (&man.hme.4; driver)</para>
 
     <para arch="sparc64">Sun GEM (Gigabit Ethernet) and ERI (Fast
     Ethernet) NICs (&man.gem.4; driver)</para>
 
-    <para arch="i386,pc98">Myson Ethernet NICs (&man.my.4; driver)
-    </para>
+    &hwlist.my;
 
     <para arch="i386,amd64">Broadcom BCM4401 based Fast Ethernet adapters
       (&man.bfe.4; driver)</para>
@@ -871,29 +832,7 @@
   <sect2>
     <title>Miscellaneous Networks</title>
 
-    <para arch="i386">Cronyx Sigma synchronous / asynchronous serial
-      adapters with V.35/RS-232/RS-530/RS-449 interfaces (&man.cx.4; driver)
-      <itemizedlist>
-        <listitem>
-	  <para>Cronyx Sigma-22, Sigma-24</para>
-	</listitem>
-        <listitem>
-	  <para>Cronyx Sigma-100</para>
-	</listitem>
-        <listitem>
-	  <para>Cronyx Sigma-400, Sigma-401, Sigma-404, Sigma-410, Sigma-440</para>
-	</listitem>
-        <listitem>
-	  <para>Cronyx Sigma-500</para>
-	</listitem>
-        <listitem>
-	  <para>Cronyx Sigma-703</para>
-	</listitem>
-        <listitem>
-	  <para>Cronyx Sigma-800, Sigma-801, Sigma-810, Sigma-840</para>
-	</listitem>
-      </itemizedlist>
-    </para>
+    &hwlist.cx;
 
     <para arch="i386,pc98">Cronyx Tau-PCI synchronous serial adapters for PCI bus
       (&man.cp.4; driver)
@@ -1789,3 +1728,12 @@
 
   </sect2>
 </sect1>
+<!--
+     Local Variables:
+     mode: sgml
+     sgml-indent-data: t
+     sgml-omittag: nil
+     sgml-always-quote-attributes: t
+     sgml-parent-document: ("../i386/article.sgml" "article")
+     End:
+-->
Only in /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/common: hw.ent
diff --exclude=CVS -ur /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/i386/Makefile release/doc/en_US.ISO8859-1/hardware/i386/Makefile
--- /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/i386/Makefile	Sat Nov 17 21:53:23 2001
+++ release/doc/en_US.ISO8859-1/hardware/i386/Makefile	Thu Jun 17 16:08:06 2004
@@ -15,6 +15,7 @@
 SRCS+=	../common/hw.ent
 SRCS+=	../common/artheader.sgml
 SRCS+=	../common/dev.sgml
+SRCS+=	dev-auto.sgml
 
 .include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
Only in release/doc/en_US.ISO8859-1/hardware/i386: article.ced
diff --exclude=CVS -ur /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/i386/article.sgml release/doc/en_US.ISO8859-1/hardware/i386/article.sgml
--- /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/i386/article.sgml	Tue Dec  3 19:00:30 2002
+++ release/doc/en_US.ISO8859-1/hardware/i386/article.sgml	Sat May 29 02:32:47 2004
@@ -10,6 +10,7 @@
 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
 %release;
 <!ENTITY % sections SYSTEM "../common/hw.ent"> %sections;
+<!ENTITY % devauto SYSTEM "dev-auto.sgml"> %devauto;
 
 <!-- Architecture-specific customization -->
 
diff --exclude=CVS -ur /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/ia64/Makefile release/doc/en_US.ISO8859-1/hardware/ia64/Makefile
--- /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/ia64/Makefile	Sat Nov 17 21:53:23 2001
+++ release/doc/en_US.ISO8859-1/hardware/ia64/Makefile	Sat May 29 02:32:47 2004
@@ -15,6 +15,7 @@
 SRCS+=	../common/hw.ent
 SRCS+=	../common/artheader.sgml
 SRCS+=	../common/dev.sgml
+SRCS+=	dev-auto.sgml
 
 .include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
Only in release/doc/en_US.ISO8859-1/hardware/ia64: article.ced
diff --exclude=CVS -ur /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/ia64/article.sgml release/doc/en_US.ISO8859-1/hardware/ia64/article.sgml
--- /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/ia64/article.sgml	Thu May 22 17:42:50 2003
+++ release/doc/en_US.ISO8859-1/hardware/ia64/article.sgml	Sat May 29 02:32:47 2004
@@ -10,6 +10,7 @@
 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
 %release;
 <!ENTITY % sections SYSTEM "../common/hw.ent"> %sections;
+<!ENTITY % devauto SYSTEM "dev-auto.sgml"> %devauto;
 
 <!-- Architecture-specific customization -->
 
diff --exclude=CVS -ur /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/pc98/Makefile release/doc/en_US.ISO8859-1/hardware/pc98/Makefile
--- /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/pc98/Makefile	Fri May 31 20:00:38 2002
+++ release/doc/en_US.ISO8859-1/hardware/pc98/Makefile	Sat May 29 02:32:48 2004
@@ -15,6 +15,7 @@
 SRCS+=	../common/hw.ent
 SRCS+=	../common/artheader.sgml
 SRCS+=	../common/dev.sgml
+SRCS+=	dev-auto.sgml
 
 .include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --exclude=CVS -ur /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/pc98/article.sgml release/doc/en_US.ISO8859-1/hardware/pc98/article.sgml
--- /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/pc98/article.sgml	Fri May 31 20:00:38 2002
+++ release/doc/en_US.ISO8859-1/hardware/pc98/article.sgml	Sat May 29 02:32:48 2004
@@ -10,6 +10,7 @@
 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
 %release;
 <!ENTITY % sections SYSTEM "../common/hw.ent"> %sections;
+<!ENTITY % devauto SYSTEM "dev-auto.sgml"> %devauto;
 
 <!-- Architecture-specific customization -->
 
diff --exclude=CVS -ur /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/sparc64/Makefile release/doc/en_US.ISO8859-1/hardware/sparc64/Makefile
--- /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/sparc64/Makefile	Sun Jan  5 22:31:47 2003
+++ release/doc/en_US.ISO8859-1/hardware/sparc64/Makefile	Sat May 29 02:32:48 2004
@@ -15,6 +15,7 @@
 SRCS+=	../common/hw.ent
 SRCS+=	../common/artheader.sgml
 SRCS+=	../common/dev.sgml
+SRCS+=	dev-auto.sgml
 
 .include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --exclude=CVS -ur /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/sparc64/article.sgml release/doc/en_US.ISO8859-1/hardware/sparc64/article.sgml
--- /FreeBSD/clean/src/release/doc/en_US.ISO8859-1/hardware/sparc64/article.sgml	Mon Dec 30 22:06:35 2002
+++ release/doc/en_US.ISO8859-1/hardware/sparc64/article.sgml	Sat May 29 02:32:48 2004
@@ -10,6 +10,7 @@
 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
 %release;
 <!ENTITY % sections SYSTEM "../common/hw.ent"> %sections;
+<!ENTITY % devauto SYSTEM "dev-auto.sgml"> %devauto;
 
 <!-- Architecture-specific customization -->
 
Only in release/doc/share: misc
diff --exclude=CVS -ur /FreeBSD/clean/src/release/doc/share/mk/doc.relnotes.mk release/doc/share/mk/doc.relnotes.mk
--- /FreeBSD/clean/src/release/doc/share/mk/doc.relnotes.mk	Thu Jun 20 23:19:49 2002
+++ release/doc/share/mk/doc.relnotes.mk	Thu Jun 17 21:22:35 2004
@@ -26,3 +26,13 @@
 .else
 JADEFLAGS+=	-ino.include.historic
 .endif
+
+# Auto device list generation:
+MAN4DIR?=	${RELN_ROOT}/../../man4
+MAN4PAGES?=	${MAN4DIR}/*.4 ${MAN4DIR}/man4.*/*.4
+ARCHLIST?=	${RELN_ROOT}/share/misc/dev.archlist.txt
+CLEANFILES+=	dev-auto.sgml
+
+dev-auto.sgml: ${MAN4PAGES} ${ARCHLIST}
+	perl ${RELN_ROOT}/share/misc/hwdocs-mdoc2sgml.pl -a ${ARCHLIST} \
+		${MAN4PAGES} > ${.TARGET}
-------------- next part --------------
#
# Copyright (c) 2004 The FreeBSD Project
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
# $FreeBSD$
# $P4: //depot/user/simon/man-hwdocs/release/doc/share/misc/dev.archlist.txt#5 $

# Format:
#
# Empty lines, and lines beginning with "#" are ignored.
# <Driver name><tab><arch>[,<arch>...]
aac	i386,amd64
adv	i386,pc98,amd64
adw	i386,pc98,amd64
aha	i386
ahb	i386
ahc	i386,pc98,alpha,sparc64,amd64
ahd	i386,sparc64,amd64
aic	i386,pc98,amd64
bge	i386,pc98,ia64,amd64
cx	i386
dpt	i386,amd64
fe	i386,pc98,amd64
my	i386,pc98
twe	i386
txp	i386,pc98,alpha,amd64
xe	i386,amd64
-------------- next part --------------
#!/usr/bin/perl -w
# Emacs should use -*- cperl -*- mode
#
# Copyright (c) 2003-2004 Simon L. Nielsen <simon at FreeBSD.org>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.

# $P4: //depot/user/simon/man-hwdocs/release/doc/share/misc/hwdocs-mdoc2sgml.pl#2 $

# Parse the list of supported hardware out of section 4 manual pages
# and output it on stdout as SGML/DocBook entities.

# The script will look for the following line in the manual page:
# .Sh HARDWARE
# and make an entity of the content until the line containing:
# .Sh

# Usage:
# mdoc2sgml manualpage [manualpage ...]

use strict;
use Getopt::Std;

# Section from manual page to extract
my $hwlist_sect = "HARDWARE";

# Override default archtecture list for some devices:
my $archlist_file = "release/doc/share/misc/dev.archlist.txt";
my %archlist;

# Globals
my %mdocvars;
my $isin_hwlist;
my $isin_para;
my $debuglevel = 0;

# Getopt
my %options = ();
getopts("a:d:",\%options);
if (defined($options{d})) {
  $debuglevel = $options{d};
}
if (defined($options{a})) {
    $archlist_file = $options{a};
}

if ($debuglevel > 0) {
  # Don't do output buffering in debug mode.
  $| = 1;
}

load_archlist($archlist_file);

foreach my $page (@ARGV) {
  dlog(2, "Parsing $page");
  parse($page);
}

sub parse {
  my ($manpage) = @_;

  my $cur_section;
  my $cur_manname;
  my $cur_mansection;
  my $isin_it = 0;
  my $found_hwlist = 0;

  $isin_hwlist = 0;
  $isin_para = 0;
  undef(%mdocvars);

  open(MANPAGE, "$manpage") || die();
  while(<MANPAGE>) {
    chomp;
    my $line = $_;
    my $iscomment = 0;

    dlog(5, "Read '$line'");

    # Find commands
    if (s/^\.(.*)$/$1/) {
      # Detect comment lines
      if (s/^\\"(.*)$/$1/) {
	$iscomment = 1;
      }

      if ($iscomment) {
	# All other comment lines are... just comments
	next;
      }

      if (/^Nm "?(\w+)"?/ && !defined($mdocvars{Nm})) {
	dlog(3, "Setting Nm to $1");
	$mdocvars{Nm} = $1;

      } elsif (/^Nm$/) {
	if (defined($mdocvars{Nm}) && $mdocvars{Nm} ne "") {
	  sgmlout_text("&man.".$mdocvars{Nm}.".$cur_mansection;");
	} else {
	  dlog(2, "Warning: Bad Nm call in $manpage");
	}

      } elsif (/^Sh (.+)$/) {
	dlog(4, "Setting section to $1");
	$cur_section = $1;

	if ($cur_section =~ /^${hwlist_sect}$/) {
	  dlog(2, "Found a SUPPORTED DEVICES key!");
	  $isin_hwlist = 1;
	  $found_hwlist = 1;
	  sgmlout_tag("<!ENTITY hwlist.$cur_manname '");
	} elsif ($isin_hwlist) {
	  dlog(2, "Found a HWLIST STOP key!");
	  sgmlout_tag("'>");
	  $isin_hwlist = 0;
	}

      } elsif (/^Dt ([^ ]+) ([^ ]+)/) {
	dlog(4, "Setting mansection to $2");
	$cur_manname = lc($1);
	$cur_mansection = $2;

      } elsif (/^It(.*)$/) {
	if ($isin_it) {
	  sgmlout_tag("</listitem>");
	}
	sgmlout_tag("<listitem>");
	if ($1 ne "") {
	  sgmlout_text($1);
	}
	$isin_it = 1;

      } elsif (/^Bl/) {
	sgmlout_tag("<itemizedlist>");

      } elsif (/^El/) {
	if ($isin_it) {
	  sgmlout_tag("</listitem></itemizedlist>");
	  $isin_it = 0;
	}

      } elsif (/^Tn (.+)$/) {
	# For now we print TradeName text as regular text.
	my $txt = $1;
	$txt =~ s/^(.+) ,$/$1,/;

	sgmlout_text($txt);
#      } elsif (/^Pp/) {
#	sgmlout_tag("");
      }
      # Ignore all other commands
    } else {
      # This is then regular text
      if ($isin_hwlist) {
	sgmlout_text("$_");
      }
    }
  }
  close(MANPAGE) || die();
  if (! $found_hwlist) {
    dlog(1, "Hardware list not found in $manpage");
  }
}

sub dlog {
  my ($level, $txt) = @_;

  if ($level <= $debuglevel) {
    print STDERR "$level: $txt\n";
  }
}

sub sgmlout_text {
  my ($txt) = (@_);

  my $out;

  # We only care about the HW list for now.
  if(! $isin_hwlist) {
    return;
  }

  $txt =~ s/\\-/-/;

  if ($isin_para) {
    $out = $txt;
  } else {
    if(defined($archlist{$mdocvars{Nm}})) {
      $out = "<para arch=\"".$archlist{$mdocvars{Nm}}."\">"
    } else {
      $out = "<para>";
    }
    $out .= $txt;
    $isin_para = 1;
    dlog(6, "Opening para");
  }

  print "$out\n";
}

sub sgmlout_tag {
  my ($txt) = (@_);

  my $out;

  if ($isin_para) {
    dlog(6, "Closing open para");
    $out = "</para>\n$txt";
    $isin_para = 0;
  } else {
    $out = $txt;
  }

  # We only care about the HW list for now.
  if ($isin_hwlist) {
    print "$out\n";
  }
}

sub load_archlist {
    my ($file) = (@_);

    my $lineno = 0;

    dlog(2, "Parsing archlist $file");

    open(FILE, "$file") || die();
    while(<FILE>) {
	chomp;
	$lineno++;

	if (/^#/ || $_ eq "") {
	    next;
	}

	if (/(\w+)\t([\w,]+)/) {
	    dlog(4, "For driver $1 setting arch to $2");
	    $archlist{$1} = $2;
	} else {
	    dlog(1, "Could not parse line $lineno");
	}
    }

    close(FILE);
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-doc/attachments/20040617/c59c386a/attachment.sig>


More information about the freebsd-doc mailing list