Subject: kern/6565: PCI NCR driver cannot work i/o mapped
To: None <>
From: Jason R Thorpe <>
List: netbsd-bugs
Date: 12/11/1998 13:43:52
>Number:         6565
>Category:       kern
>Synopsis:       PCI NCR driver cannot work i/o mapped
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Dec 11 13:50:01 1998
>Originator:     Jason R Thorpe
Numerical Aerospace Simulation Facility - NASA Ames
>Release:        NetBSD 1.3I, Fri Dec 11 13:34:32 PST 1998

	The PCI NCR driver's script directly modifies the chip's
	registers.  It does this by using the chip's DMA facility
	and a "register" relocation in the script's linker.

	The NCR chip cannot perform access to i/o space, and thus
	cannot modify the chip's registers properly.  This causes
	the driver to fail.  In addition, when it attempts to
	write to the registers, it is using i/o space addresses,
	and thus scribbing over random parts of memory.

	This is fragile in other ways.  It relies on the PCI devices
	being mapped in such a way that access to a non-translated
	PCI address by a PCI device will work.  This may not be guaranteed
	on all architectures.

	Install an NCR controller in a system which only has i/o
	mapped space available on the PCI bus, or force the NCR
	driver to use i/o space by using the NCR_IOMAPPED option.
	Watch the driver fail miserably.

	None supplied.