NetBSD/sys/arch
rumble d4734bb3d4 Fix the HPC1 transmit logic, which was previously very broken.
HPC1 does not mark transmitted descriptors like HPC3. We must
query the HPC1 chip to determine what it expects the next
descriptor to be, reclaim used ones, and restart if necessary. Each
revision's corresponding logic now lives in its own
sq_txring_hpc{1,3} function.

HPC1's transmit interrupt conditions also differ from HPC3, so
remove the INTR bits from descriptors when tagging new packets on
to the end of the chain in order to avoid unwanted interrupts.

Also, be extra careful when restarting the transmit ring. Since
transmit interrupts seem to be relatively slow on HPC1, sq_start
may be called while the DMA engine is quiescent, and before a
transmit interrupt is asserted. We cannot behave like HPC3, which
begins transmission from the first packet pulled from IFQ if the
DMA engine is quiescent as this would skip enqueued packets. It
appears that sq_start is never called before HPC3 asserts an
interrupt, which restarts the transmit queue at the appropriate
place. However, this often happens with HPC1 and we cannot assume
that if DMA is inactive in sq_start, then all previously queued
packets have fled the coop.
XXX Is there a similar race possible with HPC3?

HPC3 logic should remain functionally unchanged, and HPC1 should
finally work properly.
2004-12-29 06:57:52 +00:00
..
acorn26
acorn32 use the generated macros in locators.h rather than hard-coded numbers 2004-12-14 02:32:02 +00:00
algor bus_dmamap_load_mbuf(): Skip zero-length mbufs. 2004-11-28 17:34:45 +00:00
alpha Make sure all objects strip out the .eh_frame section and force libsa/etc to 2004-12-28 07:50:00 +00:00
amd64 Add ACPI joy(4) attachment, based on lpt_acpi.c by jmcneill@, 2004-12-02 14:33:31 +00:00
amiga for drivers that support only one instance, use a global variable to ensure 2004-12-13 02:14:13 +00:00
amigappc new world order 2004-12-16 21:51:04 +00:00
arc Don't use "struct scsi_generic" in a hardware-defined structure. Instead, 2004-12-07 14:50:56 +00:00
arm improve intr handling behavior in light of the fact that there is no transmit completion irqs on epcom 2004-12-29 06:31:32 +00:00
atari for drivers that support only one instance, use a global variable to ensure 2004-12-13 02:14:13 +00:00
bebox Convert bebox's remaining host tools over to cross tools scheme. Builds to sets 2004-11-25 08:09:14 +00:00
cats Fix comments slighly 2004-12-12 20:42:53 +00:00
cesfic use the m68k-common procfs_machdep.c on all m68k platforms. 2004-12-08 02:32:33 +00:00
cobalt bus_dmamap_load_mbuf(): Skip zero-length mbufs. 2004-11-28 17:34:45 +00:00
dreamcast
evbarm descend into TS7200_flash_0x60660000 2004-12-28 16:19:41 +00:00
evbmips pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of 2004-11-24 20:49:17 +00:00
evbppc X1226 RTC is connected to IBM405GPr On-chip IIC(I2C). 2004-12-17 19:41:04 +00:00
evbsh3
evbsh5
hp300 Remove definitions for EFAULT and ENAMETOOLONG. 2004-12-12 10:22:20 +00:00
hp700 use the generated macros in locators.h rather than hard-coded numbers 2004-12-14 02:32:02 +00:00
hpc Fix comments regarding configration bounaries 2004-12-12 21:03:06 +00:00
hpcarm Fix comments regarding configration bounaries 2004-12-12 21:03:06 +00:00
hpcmips Fix comments regarding configration bounaries 2004-12-12 21:03:06 +00:00
hpcsh Fix comments regarding configration bounaries 2004-12-12 21:03:06 +00:00
hppa
i386 PR/28773: Takahiro Kambe: Support for newer cpu's in enhanced speedstep 2004-12-24 17:37:43 +00:00
ibmnws
iyonix pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of 2004-11-24 20:49:17 +00:00
luna68k use the common procfs_machdep.c 2004-11-14 19:03:06 +00:00
m68k bus_dmamap_load_mbuf(): Skip zero-length mbufs. 2004-11-28 17:34:45 +00:00
mac68k Use correct locator name 2004-12-15 04:09:29 +00:00
macppc Back out part of previous. OF_open() works fine with /chaos/control, but 2004-12-17 05:44:12 +00:00
mips Add prototype for r5k_sdcache_wbinv_range_index() 2004-12-13 08:39:50 +00:00
mipsco use the generated macros in locators.h rather than hard-coded numbers 2004-12-14 02:32:02 +00:00
mmeye
mvme68k Use "struct scsipi_command" in internal command structures so that 2004-12-07 22:23:45 +00:00
mvmeppc
netwinder Fix comments slighly 2004-12-12 20:42:53 +00:00
news68k Now ctrl_led is set in locore.s so remove it from machdep.c. 2004-12-16 12:14:51 +00:00
newsmips Use "struct scsipi_command" in internal command structures so that 2004-12-07 22:23:45 +00:00
next68k READ_CAPACITY -> READ_CAPACITY_10 2004-12-07 23:14:03 +00:00
ofppc Reduce pci pullin's to just pcibusprint.c. This doesn't attach pci in a way 2004-11-28 10:01:25 +00:00
openblocks405
pc532 for drivers that support only one instance, use a global variable to ensure 2004-12-13 02:14:13 +00:00
pdp10 use the generated macros in locators.h rather than hard-coded numbers 2004-12-14 02:32:02 +00:00
playstation2 bus_dmamap_load_mbuf(): Skip zero-length mbufs. 2004-11-28 17:34:45 +00:00
pmax USe more appropriate macro/struct names for READ/WRITE (6) and 2004-12-07 23:07:31 +00:00
pmppc
powerpc Add functions: 2004-12-24 14:55:50 +00:00
prep
sandpoint pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of 2004-11-24 20:49:17 +00:00
sbmips
sgimips Fix the HPC1 transmit logic, which was previously very broken. 2004-12-29 06:57:52 +00:00
sh3 for drivers that support only one instance, use a global variable to ensure 2004-12-13 02:14:13 +00:00
sh5 Due to cpp always treating constants as signed and gas no longer accepting 2004-12-15 05:21:36 +00:00
shark Add a missing include for locators.h 2004-12-15 03:56:20 +00:00
sparc use the generated macros in locators.h rather than hard-coded numbers 2004-12-14 02:32:02 +00:00
sparc64 Fix comments slighly 2004-12-12 20:42:53 +00:00
sun2 for drivers that support only one instance, use a global variable to ensure 2004-12-13 02:14:13 +00:00
sun3 adjust for b_bcount changing from long to int. 2004-12-13 02:33:06 +00:00
sun68k use the generated macros in locators.h rather than hard-coded numbers 2004-12-14 02:32:02 +00:00
vax use the generated macros in locators.h rather than hard-coded numbers 2004-12-14 02:32:02 +00:00
x68k Convert -MMU_68040 into a form gas will take now (-- isn't valid) 2004-12-15 05:03:23 +00:00
x86 Use fixed mode, not lopri, for delivering IO interrupts. Suggested by 2004-12-21 11:33:04 +00:00
xen Terminate the domain on RB_HALT, not just on reboot. This avoids looping 2004-12-14 18:07:42 +00:00
Makefile
README

$NetBSD: README,v 1.37 2004/11/08 00:49:19 wiz Exp $

acorn26:	Acorn ARM2- and ARM3-based machines (arm, 20000509)
acorn32:	Acorn computers Ltd. ARM 6/7/SA based machines (arm, 20011118)
algor:		Algorithmics, Ltd. MIPS evaluation boards (mips, 20010528)
alpha:		Compaq (formerly Digital Equipment Corp.) Alpha (alpha, 19950213)
amd64:		AMD's x86 64 bit architecture (x86_64, 20010619)
amiga:		Commodore et al. Amiga (m68k, 19930902)
amigappc:	Phase 5 Amiga (powerpc, 20000525)
arc:		MIPS Advanced Risc Computing spec machines (mips, 20000123)
atari:		Atari TT30, Falcon, and Hades (m68k, 19950326)
bebox:		Be Inc. BeBox (powerpc, 19971014)
cats:		Chalice Technologies, CATS motherboard (arm, 19981005)
cesfic:		FIC8234 VME processor board (m68k, 20010514)
cobalt:		Cobalt Networks Microservers (mips, 20000319)
dreamcast:	SEGA Dreamcast (sh3, 20010107)
evbarm:		ARM-based eval boards (arm, 20010905)
evbmips:	MIPS-based eval boards (mips, 20020307)
evbppc:		PowerPC-based eval boards (powerpc, 20021209)
evbsh3:		Hitachi SuperH(TM) sh3 and sh4 eval boards (sh3, 20010206)
evbsh5:		Hitachi SuperH(TM) sh5 eval boards (sh5, 20020705)
hp300:		Hewlett Packard 300- and 400-series machines (m68k, 19930512)
hp700:		Hewlett Packard 700-series machines (hppa, 20020606)
hpcarm:		ARM based handheld PCs (arm, 20010220)
hpcmips:	MIPS based handheld PCs (mips, 19990925)
hpcsh:		Hitachi SuperH(TM) based handheld PCs (sh3, 20010117)
i386:		Intel/AMD etc. x86 processor line (i386, 19930321)
ibmnws:		IBM Network Station Thin Clients (powerpc, -)
iyonix:		Castle Technology xscale based workstations (arm, 20040713)
luna68k:	LUNA product line of OMRON Tateishi Electric (m68k, 20000105)
mac68k:		Apple Macintosh (m68k, 19930929)
macppc:		Apple Power Macintosh and clones (powerpc, 19980515)
mipsco:		MIPS Corp Magnum 3000 computers (mips, 20000812)
mmeye:		Hitachi SuperH(TM) computer controlled camera (sh3)
mvme68k:	Motorola's VMEbus 68K based single board computers (m68k, 19950725)
mvmeppc:	Motorola's VMEbus PowerPC based single board computers
		(powerpc, 20020227)
mvme88k:	Motorola's VMEbus 88K based single board computers (m88k, -)
netwinder:	StrongARM based Netwinder machines (arm, 20010609)
news68k:	Sony's NET WORK STATION (m68k, 19991209)
newsmips:	Sony's NET WORK STATION (mips, 19980218)
next68k:	NeXT Computer's cubes and slabs (m68k, 19980609)
ofppc:		Open Firmware based PowerPC machines (powerpc, 19980528)
pdp10:		Digital PDP 10 emulators; a 9 bit byte, 36 bit word machine (pdp10, 20030831)
pc532:		"PC-532" kit computer, based on NS 32532 CPU (ns32k, 19930909)
playstation2:	SONY PlayStation 2 (mips, 20011016)
pmax:		Digital Equipment Corp. MIPS based machines (mips, 19931012)
pmppc:		Artesyn PMPPC card (powerpc, 20020531)
prep:		PowerPC Reference Platform machines (powerpc, 20000229)
sandpoint:	Motorola Sandpoint reference platform (powerpc, 20010211)
sbmips:		Broadcom's SiByte processor evaluation boards (mips, 20020306)
sgimips:	MIPS based Silicon Graphics machines (mips, 20000614)
shark:		Digital Network Appliance Reference Design ("Shark") (arm, 19960131)
sparc:		Sun Microsystems SPARC (sun4, sun4c, sun4m) 32 bit machines
		(sparc, 19931002)
sparc64:	Sun Microsystems UltraSPARC 64 bit machines (sparc64/sparc, 19980620)
sun2:		Sun m68010 based machines (m68k, 20010328)
sun3:		Sun m680[23]0 based machines (m68k, 19930625)
vax:		Digital Equipment Corp. VAX machines (vax, 19940802)
x68k:		Sharp X68000, X68030 (m68k, 19960505)
xen:		Xen virtual machine monitor (xen, 20040311)

Generic cpu features shared among multiple ports
arm:		ARM CPU based platform files
hppa:		Hewlett Packard PA-RISC CPU based platform files
m68k:		Motorola 680x0 CPU based platform files
mips:		MIPS CPU based platform files
powerpc:	PowerPC CPU based platform files
sh3:		Hitachi SuperH(TM) sh3 and sh4 CPU based platform files
sh5:		Hitachi SuperH(TM) sh5 CPU based platform files
sparc:		Sun Microsystems SPARC(TM) CPU based platform files
x86:		Intel x86 based platform files.

Generic architectural features shared among multiple ports
hpc:		Handheld PC reference platform files
sun68k:		Sun Microsystems Motorola 680x0 CPU based platform files

Single port cpu families
alpha:		Digital Equipment Alpha processor
m88k:		Motorola 88xxx CPU based platform files
ns32k:		National Semiconductor NS 32532 processor
pdp10:		Digital Equipment PDP 10 processor