History log of /src/sys/dev/pci/amdpmvar.h |
Revision | | Date | Author | Comments |
1.12 |
| 22-Dec-2019 |
thorpej | Cleanup i2c bus acquire / release, centralizing all of the logic into iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks no longer need to be provided by back-end controller drivers (only if they need special handling, e.g. powering on the i2c controller). This results in the removal of a bunch of rendundant code from each back-end controller driver.
Assert that we are not in hard interrupt context in iic_acquire_bus(), iic_exec(), and iic_release_bus().
|
1.11 |
| 13-Apr-2015 |
riastradh | branches: 1.11.18; Convert sys/dev to use <sys/rndsource.h>.
|
1.10 |
| 13-Jun-2013 |
tls | branches: 1.10.10; Convert the entropy pool framework from pseudo-callout-driven to soft interrupt driven operation.
Add a polling mode of operation -- now we can ask hardware random number generators to top us up just when we need it (bcm2835_rng and amdpm converted as examples).
Fix a stall noticed with repeated reads from /dev/random while testing.
|
1.9 |
| 27-Oct-2012 |
chs | split device_t/softc for all remaining drivers. replace "struct device *" with "device_t". use device_xname(), device_unit(), etc.
|
1.8 |
| 14-Feb-2012 |
pgoyette | branches: 1.8.6; Replace the xxx_acquire()/xxx_release() rwlocks with mutexes. There are only RW_WRITERs for these, and no RW_READERs, so no need to incur the extra overhead of allowing for both. As discussed on tech-kern.
For piixpm and ichsmb, the acquire/release protocol needs to be used, even if the request is I2C_F_POLL'd (or if the device supports only polled mode). Otherwise multiple requests can be running at the same time, and they stomp on each other and create anomolous results.
Part 2 addresses my PR kern/45889
3 ACKs from releng
|
1.7 |
| 19-Nov-2011 |
tls | branches: 1.7.2; First step of random number subsystem rework described in <20111022023242.BA26F14A158@mail.netbsd.org>. This change includes the following:
An initial cleanup and minor reorganization of the entropy pool code in sys/dev/rnd.c and sys/dev/rndpool.c. Several bugs are fixed. Some effort is made to accumulate entropy more quickly at boot time.
A generic interface, "rndsink", is added, for stream generators to request that they be re-keyed with good quality entropy from the pool as soon as it is available.
The arc4random()/arc4randbytes() implementation in libkern is adjusted to use the rndsink interface for rekeying, which helps address the problem of low-quality keys at boot time.
An implementation of the FIPS 140-2 statistical tests for random number generator quality is provided (libkern/rngtest.c). This is based on Greg Rose's implementation from Qualcomm.
A new random stream generator, nist_ctr_drbg, is provided. It is based on an implementation of the NIST SP800-90 CTR_DRBG by Henric Jungheim. This generator users AES in a modified counter mode to generate a backtracking-resistant random stream.
An abstraction layer, "cprng", is provided for in-kernel consumers of randomness. The arc4random/arc4randbytes API is deprecated for in-kernel use. It is replaced by "cprng_strong". The current cprng_fast implementation wraps the existing arc4random implementation. The current cprng_strong implementation wraps the new CTR_DRBG implementation. Both interfaces are rekeyed from the entropy pool automatically at intervals justifiable from best current cryptographic practice.
In some quick tests, cprng_fast() is about the same speed as the old arc4randbytes(), and cprng_strong() is about 20% faster than rnd_extract_data(). Performance is expected to improve.
The AES code in src/crypto/rijndael is no longer an optional kernel component, as it is required by cprng_strong, which is not an optional kernel component.
The entropy pool output is subjected to the rngtest tests at startup time; if it fails, the system will reboot. There is approximately a 3/10000 chance of a false positive from these tests. Entropy pool _input_ from hardware random numbers is subjected to the rngtest tests at attach time, as well as the FIPS continuous-output test, to detect bad or stuck hardware RNGs; if any are detected, they are detached, but the system continues to run.
A problem with rndctl(8) is fixed -- datastructures with pointers in arrays are no longer passed to userspace (this was not a security problem, but rather a major issue for compat32). A new kernel will require a new rndctl.
The sysctl kern.arandom() and kern.urandom() nodes are hooked up to the new generators, but the /dev/*random pseudodevices are not, yet.
Manual pages for the new kernel interfaces are forthcoming.
|
1.6 |
| 28-Apr-2008 |
martin | branches: 1.6.34; Remove clause 3 and 4 from TNF licenses
|
1.5 |
| 27-Aug-2007 |
xtraeme | branches: 1.5.22; 1.5.24; 1.5.26; Use rwlock(9) rather than lockmgr(9).
|
1.4 |
| 05-Feb-2007 |
jmcneill | branches: 1.4.6; 1.4.14; 1.4.18; Disgusting Xbox hack;
The "pci0 dev 1 function 2" aka "System Management" on the nForce chipset isn't detected on the Xbox. If XBOX is defined and arch_i386_is_xbox is true, force intrline to 12 and map the system management IO space at 0x8000. We can now call iic_smbus_intr when a system management interrupt takes place.
While we're here, make amdpm_smbus honour the I2C_F_POLL flag.
The Xbox no longer resets when you press the eject button.
|
1.3 |
| 06-Jan-2007 |
jmcneill | Add nVidia nForce support, tested on Xbox.
|
1.2 |
| 30-Apr-2006 |
xtraeme | branches: 1.2.6; 1.2.10; 1.2.12; PR kern/32913: amdpm(4) smbus/i2cbus needs locking. Apply patch from Nicolas Joly.
|
1.1 |
| 19-Feb-2006 |
tls | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12; Add support for i2c bus on AMD-8111 used on many Opteron server motherboards, and ADT 7463c thermal and voltage monitor found on the Tyan S2881 and S2882-D (and probably other boards as well). We do not currently support any kind of detection of the i2c address of the thermal monitor; it appears to be at 0x2D on the S2881 and 0x2E on the S2882-D (kernel config examples forthcoming).
From PR kern/32463 submitted by Anil Gopinath, anil_public@yahoo.com.
|
1.1.12.3 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.1.12.2 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.1.12.1 |
| 19-Feb-2006 |
simonb | file amdpmvar.h was added on branch simonb-timecounters on 2006-04-22 11:39:13 +0000
|
1.1.10.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.1.8.1 |
| 11-May-2006 |
elad | sync with head
|
1.1.6.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.1.4.2 |
| 01-Mar-2006 |
yamt | sync with head.
|
1.1.4.1 |
| 19-Feb-2006 |
yamt | file amdpmvar.h was added on branch yamt-uio_vmspace on 2006-03-01 09:28:21 +0000
|
1.1.2.2 |
| 20-Feb-2006 |
tron | Pull up following revision(s) (requested by tls in ticket #1179): sys/dev/pci/amdpm.c: revision 1.11 sys/dev/i2c/files.i2c: revision 1.7 sys/dev/i2c/adt7463.c: revision 1.1 sys/dev/pci/files.pci: revision 1.242 via patch sys/dev/pci/amdpmvar.h: revision 1.1 sys/dev/i2c/adt7463reg.h: revision 1.1 sys/dev/DEVNAMES: revision 1.192 via patch sys/dev/pci/amdpm_smbus.c: revision 1.1 sys/dev/pci/amdpm_smbusreg.h: revision 1.1 Add support for i2c bus on AMD-8111 used on many Opteron server motherboards, and ADT 7463c thermal and voltage monitor found on the Tyan S2881 and S2882-D (and probably other boards as well). We do not currently support any kind of detection of the i2c address of the thermal monitor; it appears to be at 0x2D on the S2881 and 0x2E on the S2882-D (kernel config examples forthcoming). From PR kern/32463 submitted by Anil Gopinath, anil_public@yahoo.com.
|
1.1.2.1 |
| 19-Feb-2006 |
tron | file amdpmvar.h was added on branch netbsd-3 on 2006-02-20 23:00:27 +0000
|
1.2.12.2 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.2.12.1 |
| 30-Apr-2006 |
rpaulo | file amdpmvar.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:52:16 +0000
|
1.2.10.2 |
| 09-Feb-2007 |
ad | Sync with HEAD.
|
1.2.10.1 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.2.6.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.2.6.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.2.6.2 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.2.6.1 |
| 30-Apr-2006 |
yamt | file amdpmvar.h was added on branch yamt-lazymbuf on 2006-06-21 15:05:03 +0000
|
1.4.18.1 |
| 03-Sep-2007 |
jmcneill | Sync with HEAD.
|
1.4.14.1 |
| 03-Sep-2007 |
skrll | Sync with HEAD.
|
1.4.6.1 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.5.26.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.5.24.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.5.22.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.6.34.3 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.6.34.2 |
| 30-Oct-2012 |
yamt | sync with head
|
1.6.34.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.7.2.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.8.6.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.8.6.2 |
| 23-Jun-2013 |
tls | resync from head
|
1.8.6.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.10.10.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.11.18.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|