freebsd-skq/sys/dev/pci
Warner Losh 7138b71d5f Do not write to those config registers that are unambiguously defined
in the various pci specifications as readonly.  vendor, subvendor,
device and subdevice are required to be loaded in hardware by some
means that isn't the system BIOS or other system software (although
some devices do have ways of accomplishing this).  class and subclass
are defined to be read-only in section 6.2.1 (v2.2).  Apart from the
status register, which we weren't touching, these are the only
read-only registers I could find in the 2.2 spec.

progif is also defined as being read-only in section 6.2.1.  However,
the PCI IDE programming document specifically states that some of the
bits are read/write.  Since we may have to restore registers before we
have a driver attached, go ahead and restore this one byte when
transitioning between D3 and D0.

The PCI spec also says that writes to reserved and unimplemented
registers must be completed normally.  It makes no statements about
writes to read-only registers, so be as conservative as possible,
while covering the exception to the rule that is documented in a
subpart of the standard.

Requested by: socttl
2004-05-24 15:52:57 +00:00
..
eisa_pci.c Use __FBSDID(). 2003-08-24 17:55:58 +00:00
fixup_pci.c Use __FBSDID(). 2003-08-24 17:55:58 +00:00
ignore_pci.c Use __FBSDID(). 2003-08-24 17:55:58 +00:00
isa_pci.c Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
pci_if.m Add a new PCI interface method, assign_interrupt, to determine the 2003-07-01 14:08:33 +00:00
pci_pci.c Omnibus PCI commit: 2004-04-09 15:44:34 +00:00
pci_private.h Omnibus PCI commit: 2004-04-09 15:44:34 +00:00
pci_user.c Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
pci.c Do not write to those config registers that are unambiguously defined 2004-05-24 15:52:57 +00:00
pcib_if.m
pcib_private.h Add support for subtractive decoding bridges. These bridges pass all 2004-01-11 06:52:31 +00:00
pcireg.h Teach the PCI code to parse MSI extended capabilities. Re-arrange the 2003-09-14 19:30:00 +00:00
pcivar.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00