Restore aprint_error_dev() for early errors. It's not perfect, but on
reflection better than removing it for when we run `dmesg` later.
(partially reverts r1.15)
arm: relax coherent DMA ordering barriers from DSB to DMB
Use DMB instead of DSB for the ARM coherent DMA ordering macros dma_*_*()
The previous definitions used DSB, which enforces completion semantics and
is heavier than needed for coherent device DMA ordering. DMB provides ordering
of memory operations without requiring full completion, making it the
appropriate barrier for these coherent-only CPU/device DMA paths.
Tested on Fusion VM, Orion O6, and Thunderx.
There is an approximate 1% performance improvement for the Fusion VM, but
less for Orion O6 and Thunderx.
pppoe(4): wait for incoming connection in STATE_STARTING on server
When the interface goes up, LCP is now explicitly opened to
start the lower (PPPoE) layer. This behavior is the same for
both active and passive connections.
To unify the implementation, remove the difference in LCP
handling between these connections.
Remove unused if_up() code since loopback detected interface remains down
Previously, the lower layer could still trigger an if_up() even after
if_down(). However, now that if_down() completely stops the interface,
this subsequent if_up() is no longer called.
Reset LCP by triggering Close and Open events sequentially
Previously, LCP waited for a Down event after Close, and
triggered the Open event upon receiving it. However, simply triggering
the Close and Open events sequentially is sufficient to reset all
layer states.
NOTE:
To restart the connection after a keepalive timeout or
a loopback is detected, disable the PP_LOOPBACK_IFDOWN
and/or PP_KEEPALIVE_IFDOWN options.
Pull up following revision(s) (requested by yamt in ticket #299):
sys/arch/x86/x86/identcpu_subr.c: revision 1.16
x86: use 0x40000010 cpuid leaf only on vmware and kvm
specifically, do not use it on nvmm.
these hypervisor cpuid leafs are basically hypervisor-specific.
(there was a proposal on commonizing these hypervisor leafs. [1]
but it doesn't seem agreed on.)
this cpuid leaf 0x40000010 was originally from vmware. although it
seems more common to use the GETHZ (45) hypercall instead these days.
kvm seems to implement it as well. (via qemu vmware-cpuid-freq)
i personally haven't tested this on either vmware or kvm.
for nvmm (netbsd), the leaf has been implemented in 2025. [2]
and then the lapic bit has been disabled in 2026. [3] that is,
[8 lines not shown]