Age | Commit message (Collapse) | Author |
|
Code is slightly more convoluted to avoid using strncpy(9).
ok jsg@, millert@, deraadt@
|
|
value is 0 to match the behaviour when the callbacks are not set.
Prevents a divide by zero in wsconsctl(8) reported by Caspar Schutijser.
earlier version ok jung@ deraadt@ kettenis@
|
|
found on some Sun sparc64 machines. This fixes the unrecoverable DMA errors
people have been seeing ever since dlg@ made changes to the pool code that
changes the memory layout.
|
|
engine that might attempt to read beyond the end of the buffer that was
programmed. The IOMMU catches this "DMA overrun" and throws an unrecoverable
error at us, at which point we have no choice but to panic. To avoid this
implement a BUS_DMA_OVERRUN flag that maps an additional scratch page at the
end of the vdma address range. DMA requests will spill over into this page,
which just returns zeroes.
Thanks to matthieu@ for giving me access to a machine with the problem.
ok deraadt@, beck@
|
|
actually use this in em(4) and xhci(4), but I'm not committing those yet
because we almost certainly need to save and restore the MSI-X registers
during suspend/resume. However, this allows mpi@ to play with multiple-vector
support in networking hardware.
Requested by mpi@
ok mlarkin@, mikeb@
|
|
|
|
Ok phessler@, henning@
|
|
transfer rates to and from the card. In practice the improvement will be
smaller, but I am seeing serious improvement in the read speeds.
|
|
and don't generate a GPIO controller interrupt. Masking them menas devices
relying on those APIC interrupts will break. Unbreaks the keyboard on the
Asus x205ta, which got broken in rev 1.6.
|
|
configure fan speeds.
from mglocker@, ok kettenis@
|
|
offline paths. More polishing to come.
Input and okay bluhm@ & kettenis@.
|
|
|
|
Use a new task that runs holding the KERNEL_LOCK to execute mp-unsafe
code. Our current goal is to progressively move input functions to the
unlocked task.
This gives a small performance boost confirmed by Hrvoje Popovski's
IPv4 forwarding measurement:
before: after:
send receive send receive
400kpps 400kpps 400kpps 400kpps
500kpps 500kpps 500kpps 500kpps
600kpps 600kpps 600kpps 600kpps
650kpps 650kpps 650kpps 640kpps
700kpps 700kpps 700kpps 700kpps
720kpps 640kpps 720kpps 710kpps
800kpps 640kpps 800kpps 650kpps
1.4Mpps 570kpps 1.4Mpps 590kpps
14Mpps 570kpps 14Mpps 590kpps
ok kettenis@, bluhm@, dlg@
|
|
with feedback from kettenis@
fixes building a kernel with xge, which might actually work on these
machines now.
|
|
possible.
This reduce the number of lookups to 1 for non-multicast traffic when PF
is disable.
Tested by Hrvoje Popovski who confirmed that benchmark numbers are now as
good as with a single cache entry.
ok visa@, bluhm@
|
|
Apparently nobody can hit this condition anymore or people do not
report bugs if their kernel do not panic.
ok dlg@, sashan@
|
|
busses are little endian, so the non-raw ops are raw anyway. fixes
the kernel build after xge grew the use of the raw ops.
|
|
cpu_boot_secondary_processors() break suspend/resume.
|
|
|
|
|
|
callbacks return EAGAIN if they modify the routing table. While we're here,
simplify life for rtable_walk callers by moving the loop that restarts the
walk on EAGAIN into rtable_walk itself.
Flushing cloned routes on interface state changes becomes a bit more
inefficient, but this can be improved later.
ok mpi@ dlg@
|
|
tmpfs_readlink() functions ignore the noatime mount option, tmpfs_read()
should not update atime when zero bytes have been requested (as per
posix) and tmpfs_write() should update mtime and ctime (as per posix).
ok espie
|
|
attach if we are running in legacy mode.
ok jsg@
|
|
counter if sn == 0 and ba_missedsn == 0xfff.
ok stsp@
|
|
ok benno@, visa@
|
|
topology based on device tree information. Introduce a common attach
args structure to be used for all fdt-capable bus devices.
ok jsg@ kettenis@
|
|
Fix a case where ieee80211_ba_input() failed to account for that.
ok tb@
|
|
|
|
capability
ok kettenis@
|
|
ok deraadt@, patrick@
|
|
ok deraadt@, patrick@
|
|
which are more specific.
ok kettenis@
|
|
sdhc(4) controllers that support it. Mostly from NetBSD.
This makes the raw transfer rate of the eMMC on the Lenovo Ideacentre
Stick 300 go up to 40 MB/s.
|
|
sure it has witched before changing the bus clock speed.
|
|
|
|
controller. Use this to switch SD cards to a 4-bit bus if they support it.
ok deraadt@, jsg@
|
|
bug introduced in r1.138.
Reported at https://twitter.com/DarkSoul4242/status/722365165262405633
(twitter is *NOT* the place to report bugs!) and in
https://marc.info/?l=openbsd-bugs&m=145988918010707&w=2,
pointed out by tb@
|
|
for the disklabel. Tweak a few comments to make it more clear what
is happening. No intentional functional change.
ok yasuoka@
|
|
Ideacentre Stick 300.
|
|
support for it. In principle SD cards use high speed timing for frequencies
over 25MHz, but it is silly to run those with a clock between 25-26MHz.
|
|
|
|
support ADMA2. The older SDMA mode has too many limitations to be really
usable. Gives us only moderate speed improvements, bus reduces the CPU load
considerably. We will reap the full benefits once we implement wider bus
widths and high speed modes.
There is a remining issue with simultanious use of eMMC and external SD card
on (some) Intel Bay Trail hardware. Still under investigation.
ok patrick@, stsp@, deraadt@
|
|
This prevent the scheduler from scheduling tasks to CPUs not beeing able
to execute them during the boot process.
ok visa@, kettenis@
|
|
1) turn NDINITAT into a function and make the macros point to it
with the later goal of getting rid of them.
2) Sweep the kernel for places where people make a struct nameidata manually
on the stack and fill in what they hope are the required fields and count
on prayer and clean living to always get them right. Instead use NDINIT
everywhere. NFS was especially bad for this and there have likely
been things lurking there for a while.
3) Add a couple of strategic KASSERT's to catch future offenders.
ok krw@ sthen@ deraadt@
|
|
defined. Carrying on is pointless. And will currently cause a NULL
pointer deref anyway.
NULL deref found by mmcc@ and his friend clang.
ok deraadt@
|
|
ddb(4) can now see static functions. That doesn't mean we should start
declaring functions as ``static'', however it helps for the few existing
exceptions.
ok deraadt@, kettenis@
|
|
is not intended and will behave unexpectedly if the address is
already used in another domain. It did not work anyway, as the PCB
ended in the wrong hash bucket after changing the rtable. Fail
with EBUSY if the socket is already bound and rehash the PCB if its
rtable changes.
input claudio@; OK mpi@
|
|
and pretending the output succeeded. Packets are still dropped!
Idea from jsg@ following same change to bridge(4). ok mpi@
|
|
oversized timespecs should be clamped, not rejected.
ok millert
|
|
We use an atomic CMPXCHG on first 32 bits of the grant table entry
when revoking access to the memory page. Target domain ID field is
part of these 32 bits, thus shouldn't be masked out for comparison.
This appears to be the last piece of the QubesOS VM chaining puzzle;
tested by Marco Peereboom, thanks!
|