1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-18 10:35:55 +00:00
freebsd/sys
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
..
alpha Moved most of the "MI" definitions and declarations from <machine/profile.h> 2004-05-19 15:41:26 +00:00
amd64 Oops, ".align 4" for the data section in the previous commit should 2004-05-24 12:42:16 +00:00
arm Remove two debugging printf(). 2004-05-22 13:15:14 +00:00
boot Markup fixes. 2004-05-16 22:51:36 +00:00
cam Quirk for Neuros USB audio device. 2004-05-02 19:24:23 +00:00
coda Device megapatch 5/6: 2004-02-21 21:32:15 +00:00
compat Small timer cleanups: 2004-04-30 20:51:55 +00:00
conf Fixed profiling of trap, syscall and interrupt handlers and some 2004-05-24 12:08:56 +00:00
contrib This commit was generated by cvs2svn to compensate for changes in r129059, 2004-05-09 03:06:25 +00:00
crypto
ddb Fixed DDB_NOKLDSYM on amd64's: 2004-05-18 05:30:06 +00:00
dev Do not write to those config registers that are unambiguously defined 2004-05-24 15:52:57 +00:00
fs Switch from using the vnode interlock to a private mutex in fifo_open() 2004-05-17 20:16:40 +00:00
geom - Change command name from 'config' to 'configure'. 2004-05-21 15:23:48 +00:00
gnu Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
i4b Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
i386 Revert part of rev 1.230 and assume that all EISA IRQs use active high 2004-05-24 15:51:46 +00:00
ia64 Moved most of the "MI" definitions and declarations from <machine/profile.h> 2004-05-19 15:41:26 +00:00
isa Move fdc from isa/fd.c to dev/fdc/fdc.c. The old files were 2004-05-17 05:46:16 +00:00
isofs/cd9660 Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
kern Implement the new KERN_PROC_RGID option, and also implement the 2004-05-22 23:11:44 +00:00
libkern Import libkern arm specific bits. 2004-05-14 12:28:31 +00:00
modules - Connect geom(8) and its libraries to the build. 2004-05-20 10:37:13 +00:00
net Remove another redundant if_output initialization. 2004-05-24 11:01:45 +00:00
net80211 Link state change notification of ethernet media to the routing socket. 2004-05-05 15:48:06 +00:00
netatalk Remove redundant call to soisdisconnected() from ddp_abort(), as it 2004-05-05 03:34:37 +00:00
netatm These are changes to allow to use the Intel C/C++ compiler (lang/icc) 2004-03-12 21:45:33 +00:00
netgraph Whitespace nit. 2004-05-19 11:35:03 +00:00
netinet When checking for possible port theft, skip over a TCP inpcb 2004-05-20 06:35:02 +00:00
netinet6 Fix a bug which I discovered recently while doing IPv6 testing at 2004-05-14 03:57:17 +00:00
netipsec use correct address for SADB_EXT_ADDRESS_DST in key_do_allocsa_policy 2004-05-03 05:15:53 +00:00
netipx Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
netkey
netnatm Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
netncp Make the process_exit eventhandler run without Giant. Add Giant hooks 2004-03-14 02:06:28 +00:00
netsmb Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
nfs Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
nfs4client Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
nfsclient Make vm_page's PG_ZERO flag immutable between the time of the page's 2004-05-06 05:03:23 +00:00
nfsserver The socket code upcalls into the NFS server using the so_upcall 2004-05-24 04:06:14 +00:00
opencrypto kthread_exit() no longer requires Giant, so don't force callers to acquire 2004-03-05 22:42:17 +00:00
pc98 MFi386: revision 1.1160. 2004-05-18 11:56:56 +00:00
pccard Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
pci Only initialize the if_sis callout as MPSAFE if debug.mpsafenet is set 2004-05-23 22:22:29 +00:00
posix4
powerpc Moved most of the "MI" definitions and declarations from <machine/profile.h> 2004-05-19 15:41:26 +00:00
rpc Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
security Remove dead code. (This loop counted the number of rules, but the count 2004-05-15 20:55:19 +00:00
sparc64 Use unsigned types for the arguments of the atomic(9) operations, 2004-05-22 00:52:16 +00:00
sys Define a KERN_PROC_RGID option for kvm_getprocs(). 2004-05-22 23:08:49 +00:00
tools Correct $FreeBSD$ style. 2004-04-16 05:22:11 +00:00
ufs Upon further review it was decided this piece of the msync(2) 2004-05-21 12:05:48 +00:00
vm To date, unwiring a fictitious page has produced a panic. The reason 2004-05-22 04:53:51 +00:00
Makefile Try harder not to compile anything in sys/boot for arm. 2004-05-16 00:19:12 +00:00