Age | Commit message (Collapse) | Author |
|
|
|
fairer access to the kernel lock between logical cpus, especially
in multi socket systems.
i first wrote this diff in 2011. it provided the model for the i386
and sparc64 ticket locks.
ok n2k14 for post 5.5 (deraadt@ and kettenis@ in particular)
|
|
tweaks jmc@
OK krw@, gilles@, lteo@, tedu@, todd@, benno@, sthen@
"The time is right." and much help getting the show on the
road deraadt@
|
|
"mainbus" device. this breaks when mpath is enabled because it
attaches before mainbus and therefore takes the head position.
have autoconf provide device_mainbus() which looks up mainbus_cd,
and use that instead.
discussed with deraadt who just wants mpath stuff to move forward
despite there being many ways to shine this particular turd.
|
|
|
|
namespace, so stop changing behavior when it's #defined
ok beck@ krw@
|
|
for many newer instructions.
With feedback from jsg@
|
|
definition and the C part of the resume code was using the second. This
manifested itself as mysterious reboot and stack corruption problems on
resume.
ok deraadt@
|
|
|
|
unnecessary
ok krw@ kettenis@
|
|
sure /dev/drm0 always matches the primary display.
ok mpi@
|
|
qle in GENERIC on i386, amd64 and sparc64, where it's reasonably well tested
and likely to be useful.
requested by deraadt@ and kettenis@, ok dlg@
|
|
|
|
it does and triggering an illegal instruction trap when it does not.
Found the hard way and fix tested by nick@
|
|
them to unmuddy the waters a bit.
ok guenther@
|
|
faults to avoid sleeping. Implement this functionality for i386 and amd64
for faults in the user address space. If the ci_inatomic flag is set in
struct cpu_info, copyin(9) and copyout(9) will return EFAULT when a user-space
address needs to be faulted in. Use this to properly implement
__copy_to_user_inatomic() and __copy_from_user_inatomic_nocache() in the
inteldrm(4) code.
ok krw@, guenther@
|
|
hibernate unpack - these were added a while ago when we were fighting
different issues that have now been solved.
Tested by myself and dcoppa on a variety of machines
|
|
<machine/pmap.h> where it belongs, and compensate in <uvm/uvm_extern.h>
by including <uvm/uvm_pmap.h> before <uvm/uvm_page.h>. Tested on all
MACHINE_ARCH but amd64 and i386 (and hppa64).
|
|
|
|
|
|
|
|
ok mlarkin@
|
|
OK mikeb@
"seems fine" matthew@
|
|
suspend work on some machines.
ok deraadt@
|
|
|
|
newer Apple MacBook laptops enabling two-finger scrolling and other
multi-finger gestures with the synaptics(4) driver
mostly done at the t2k13 hackathon
input from and ok mpi@
|
|
|
|
libkern srandom() API since it is not suitable for this use.
ok kettenis miod
|
|
|
|
|
|
for i386.
error: ambiguous instructions require an explicit suffix (could be 'cmpb', 'cmpw', 'cmpl', or 'cmpq')
ok mlarkin@
|
|
(and which didn't work at that time due to a bug which has since been
fixed). The APs are now demoted to real mode and placed in a HLT loop
while the hibernated image is being unpacked.
Helps my x230 significantly, no more spurious reboots on resume.
ok deraadt
|
|
|
|
page.
|
|
hibernate goo up after 64KB to avoid posible corruption by buggy BIOS SMM
code. Diff also ensures the first 64KB doesn't get handed to UVM either.
ok deraadt@, tested by many with no regressions reported
|
|
|
|
|
|
|
|
script (note that the amd64 linker script is currently not used).
Discussed with deraadt@
|
|
|
|
|
|
use a MD-supplied random function. Then, insert this into the ELF
openbsd.randomdata of the kernel, so that it has entropy right from
the start. Some help from jsing for the softraid aspects.
Also tested by phessler
|
|
through and failing when we attempt to read and validate the disklabel.
Also return ENOTSUP rather than EPERM if an attempt is made to write to a
softraid volume.
|
|
|
|
This makes use of rdrand if the CPU supports it, otherwise we fall back to
using rdtsc. Further development will happen in the tree.
Tested by phessler@
ok deraadt@
|
|
hibernated image. We backed out the code because it was causing reboots on
resume. Turns out the parking code had a bug that caused the CPU to jump
to some bogus address (calculating a bad offset for the jump target), which
was likely the source of the problem. This diff fixes the bad offset
calculation (verified by looking at the resulting asm output). This will be
the first step in attempting to resurrect the original idea (and eventually
add i386 if/when it works).
discussed with deraadt@
|
|
|
|
Still a work-in-progress, but functional enough to work with both
Google Compute Engine and RHEVM. Committing so additional testing and
cleanup can be handled in tree.
thx Jiri B for RHEVM testing
ok dlg, deraadt
|
|
initialize the structures when we see the first cpu. We also need to
initialize each cpu's properly (for PAT) before we setup mtrr on that
cpu. On i386 (late hatch) we were getting this desperately wrong on
the primary cpu.
After suspend/resume, we also need to do the same work. re-initialize
PAT before mtrr. On some laptops apparently PAT was not turned on by the
BIOS, so we ended up with incorrect setup for the primary cpu. Oops.
This makes mplayer on the x201 (and similar) machines work without weird
pauses after a suspend/resume. Many other things are likely fixed.
ok kettenis
|
|
|