| Age | Commit message (Collapse) | Author |
|
These no longer ever run from hard interrupt context or with a spin
lock held, so there is no longer any need to have them at IPL_VM to
block hard interrupts. Instead, lower them to IPL_SOFTSERIAL.
|
|
|
|
No need for every driver to explicitly call it to prime the pool.
Eliminate now-unused <sys/rndpool.h>.
|
|
|
|
|
|
|
|
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.
|
|
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
|
|
where it looks straightforward, and pci_aprint_devinfo_fancy in a few
others where drivers want to supply their own device names instead
of the pcidevs generated one. More complicated cases, where names
are composed at runtime, are left alone for now. It certainly makes
sense to simplify the drivers here rather than inventing a catch-all API.
This should serve as as example for new drivers, and also ensure
consistent output in the AB_QUIET ("boot -q") case. Also, it avoids
excessive stack usage where drivers attach child devices because the
buffer for the device name is not kept on the local stack anymore.
|
|
Resolves PR/42759 - thanks Michael Stapelberg
|
|
"looks good" ad@
XXX for the device_t/softc split, please check the driver that no cases have been missed.
|
|
|
|
|
|
|
|
|
|
|
|
ifdefs.
|
|
- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
|
|
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.
|
|
|
|
compensate for this.
|
|
|
|
|
|
- fix a couple of unused bugs
- no more -Wno-unused for i386
|
|
|
|
|
|
kill interface attribute in device declaration
|
|
|
|
Refactor the code to use different variable names to hold each conf register
and avoid reading/witing the conf space multiple times.
|
|
|
|
|
|
Controller, to try it use `sysctl -w kern.timecounter.hardware=amdpm`.
From OpenBSD.
|
|
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.
|
|
|
|
|
|
|
|
want the NO_ESTIMATE flag here, because if the source doesn't have it,
rnd_add_data will *use the time the data was added directly as entropy*,
which is not a good idea either for a hardware RNG that works like this
one (periodically polled by the driver) or, really, like any other that I've
seen, because even for "interrupt when ready" RNGs the data rate (and thus
interrupt time) will vary only slightly for a given RNG configuration over
time, if at all.
The data we add _is_ counted into the pool estimage because we directly
pass in an entropy estimate.
The overloading of the NO_ESTIMATE flag with this meaning seems, to me, like
a design bug (albeit easily fixed) in the rng interface; but until that's
changed, we need to use it here.
|
|
means "count", in this context) the entropy we're adding because we poll the
device periodically. Sure, we poll it periodically, but it's a hardware
RNG -- the data returned should be random no matter when we read the
register!
|
|
|
|
|
|
|
|
|
|
|