- kqueue_mode_{RDONLY,RDWR}_READ: Fix expected value.
This is rest of rev1.9.
- AUDIO_SETINFO_params_simul: Fix condition.
This happens on full-duplex, not bi-directional.
These affect only standalone test, not atf.
I must have tested (cold ? (void *)1 : curlwp) but then decided,
after testing, to replace cold by !curcpu_available() -- thinking
that would be a safe change to make, except I forgot to either write
the ! or change the sense of the conditional. OOPS.
Fortunately, we're just using it to print helpful diagnostic messages
in kasserts here, so while we're still cold just use (void *)1 for
now until someone figures out how to make curlwp available earlier on
x86.
(All of the curcpu_available() business is a provisional crock here
and it would be better to get rid of it.)
when the requested data exceeds 256 bytes in size. The actual size of
the returned data is output to oldlenp.
This matches FreeBSD's behaviour and seems to be more in line with
what software in the wild expects.
"sounds reasonble" - Riastradh
Use the same mechanism as entropy_request, with a little more
diagnostic information in case anything goes wrong. No need for
LIST_FOREACH_SAFE; elements cannot be deleted while the list is
locked.
This is part II of avoiding percpu_foreach with spin lock held.
Previously the interrupt moderation enable register was being programmed
with sk(4)-style enable bits, none of which matched the significant
interrupt sources of the Yukon 2 we enable.
Firstly, include the correct headers. Then, make sure that requests
never exceed 256 bytes.
Disable a hack for old FreeBSD versions, just in case it actually gets
used.
This should mean that OpenSSL doesn't ever fall back to reading from
/dev/urandom.
XXX pullup, XXX upstream.
to deal with the locking around entering a mapping of the same page with
and alias issue in the same pmap (pmap lock already held in pmap_enter)
This has the added benefit of only flushing the troublesome mappings.
The locking could be simplified further here and an PV list iterator
function with callback is probably useful.
- In uvm_voaddr_release(), if the anon ref count drops to 0, call
uvm_anfree() rather than uvm_anon_release(). Unconditionally drop
the anon lock, and release the extra hold on the anon lock obj.
Fixes a panic that occurs if the backing store for a futex backed by
an anon memory location is unmapped while a thread is waiting in the
futex.
Add a test case that reproduced the panic to verify that it's fixed.
The file format was defined with a machine-dependent 32-bit integer
field (the estimated number of bits of entropy in the process that
generated it). Fortunately we have a checksum to verify the order.
This way you can use `rndctl -S' on a little-endian machine to
generate a seed when installing NetBSD on a big-endian machine, and
the kernel will accept it on boot.
It is no longer necessary to serialize calls to rnd_add_data, so we
can use the same rndsource for every queue.
This also reverts some unrelated changes that were mixed in:
1. WM_NRXDESC was made unsigned
2. The specific samples were changed.
(1) will be redone in a separate commit. (2) was buggy (wrote `='
where `|=' was meant) and is not needed; it's fine to do rnd_add_data
in a thread or softint too, not just in a hard interrupt handler.