summaryrefslogtreecommitdiffstats
path: root/sbin/restore
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2004-05-24 15:52:57 +0000
committerimp <imp@FreeBSD.org>2004-05-24 15:52:57 +0000
commitabe4404c59832747d54e88fabb11e75c1a7bdcc9 (patch)
treeba49e283cce18df3ce814d97ee0d4886f63a61aa /sbin/restore
parentc6ce1616d6d28078f30cf1b265cf0ece45f76e83 (diff)
downloadFreeBSD-src-abe4404c59832747d54e88fabb11e75c1a7bdcc9.zip
FreeBSD-src-abe4404c59832747d54e88fabb11e75c1a7bdcc9.tar.gz
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
Diffstat (limited to 'sbin/restore')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud