| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
okay deraadt@
|
|
|
|
|
|
|
|
|
| |
is blessed with IOMMU magic, if available. This is mainly for arm64,
since on amd64 and i386 the IOMMU only captures PCIe devices, as far
as I know, which uses the pci_probe_device_hook(). This though is for
non-PCI devices attached through ACPI.
ok kettenis@
|
| |
|
|
|
|
|
|
|
| |
lld11 no longer quietly aligns this when given an address, so we do the
alignment explicitly.
ok kettenis@
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The timecounter struct is large and I think it may change in the
future. Changing it later will be easier if we use C99-style
initialization for all timecounter structs. It also makes reading the
code a bit easier.
For reasons I cannot explain, switching to C99-style initialization
sometimes changes the hash of the resulting object file, even though
the resulting struct should be the same. So there is a binary change
here, but only sometimes. No behavior should change in either case.
I can't compile-test this everywhere but I have been staring at the
diff for days now and I'm relatively confident this will not break
compilation. Fingers crossed.
ok gnezdo@
|
| |
|
|
|
|
|
|
|
|
|
| |
exposing battery sensors for HID++ 2.0 devices. Most of the code is
derived from the hid-logitech-hidpp Linux driver.
Thanks to Ville Valkonen <weezeldinga at gmail dot com> for testing.
ok mglocker@
|
|
|
|
|
| |
SMALL_KERNEL specific variations.
ok espie jsg
|
|
|
|
|
|
|
|
| |
This includes ujoy_hid_is_collection() to work around limitations of
hid_is_collection() until this can be combined without fallout.
input, testing with 8bitdo controller, and ok brynet@
PS4 controller testing, fix for hid_is_collection, and ok mglocker@
|
|
|
|
| |
OK millert@
|
|
|
|
|
|
|
| |
uvm_km_zalloc(9).
tested on qemu pretending to be a 586
ok bluhm@
|
|
|
|
|
|
| |
than uvm_km_valloc(9).
ok kettenis@
|
|
|
|
|
|
|
|
|
|
| |
Poison the IPL value of `pm_mtx' since it isn't supposed to be used
and add an assert to make sure splraise() isn't called with a poisoned
value.
Fix a missing initialization found by WITNESS and reported by gnezdo@.
ok millert@
|
|
|
|
|
| |
is just too different from GENERIC or GENERIC.MP
pointed out by jsg
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rename klist_{insert,remove}() to klist_{insert,remove}_locked().
These functions assume that the caller has locked the klist. The current
state of locking remains intact because the kernel lock is still used
with all klists.
Add new functions klist_insert() and klist_remove() that lock the klist
internally. This allows some code simplification.
OK mpi@
|
|
|
|
|
|
| |
acpi disabled, no real mpbios hardware in sight.
ok kettenis@
|
|
|
|
|
|
|
| |
uvm_km_valloc(9) to km_alloc(9).
tested on arm64 by bluhm@, i386 by me
ok kettenis@
|
|
|
|
|
|
|
|
| |
These are the preferred interfaces and using them avoids tripping over
a kernel lock assertion during early boot.
Tested by bluhm@, sthen@ and Hrvoje Popovski.
ok mpi@
|
|
|
|
|
|
|
|
| |
our i386 compiler does not generate SSE instructions by default,
it is not strictly necessary to save MXCSR content between setjmp(3)
and longjmp(3). We do not want to end supporting such old processors
now. Remove the stmxcsr and ldmxcsr instructions from libc.
reported by Johan Huldtgren; OK jsg@ kettenis@
|
| |
|
|
|
|
|
|
|
|
|
|
| |
At a minimum, amd64/i386 should now boot from 4TB GPT formatted disks.
More daddr32_t terminations with extreme prejudice to follow.
Tested by various, in snaps for a few days.
ok deraadt@
|
|
|
|
|
|
|
| |
i386 libc. The assembler code is more readable than with magic
numbers. This brings i386 in line with amd64. No change in object
file.
OK kettenis@
|
|
|
|
|
|
| |
need to explicitly call wbinvd() in wbinvd_on_all_cpus().
ok jsg@, deraadt@
|
|
|
|
|
|
|
| |
Simplify MD code and reduce the amount of recursion into the signal code
which helps when dealing with locks.
ok cheloha@, deraadt@
|
|
|
|
|
|
|
| |
kernel functions, rearrange to be highly similar to amd64 fault
handling, and reduce the KERNEL_LOCK to only be around uvm_fault
reviewed by numerous people, especially kettenis
In snaps for over a week
|
| |
|
| |
|
|
|
|
| |
ok kettenis
|
| |
|
|
|
|
| |
ok kettenis
|
|
|
|
|
| |
in refreshcreds()
ok kettenis
|
|
|
|
|
|
|
|
| |
This should be sufficient for identifying pivoted ROP. Doing so for other
traps is at best opportunistic for finding a straight-running ROP chain,
but the added (and rare) sleeping point has proven to be dangerous.
Discussed at length with kettenis and mortimer.
ok mortimer kettenis mpi
|
|
|
|
|
|
|
|
|
| |
address space permanently, and the line-in-the-sand manipulation
T_PROTFLT|T_USER fixup handling can be skipped. This change was written
to side-step the segment-descriptor mismanagement issues, commited recently
for the "go on i386"
tested by sthen
ok kettenis guenther
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
possible to switch CPUs when handling a trap since we need to lock the vm_map
of the process. In that case the CS limit would be wrong an we incorrectly
decide that there has been an execute privilige violation.
Also make sure we only modify the variables that keep track of the CS
limit and segment descriptor while holding the kernel lock.
Fixes builds of go ports on i386.
tested by sthen@
ok deraadt@
|
|
|
|
|
| |
increase.
ok kettenis
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The uvm_map_inentry() check may sleep to grab the lock of the map.
The fault address is read from cr2 in pageflttrap() which
gets called after this check and if the check sleeps, cr2 is likely to
be clobbered by a page fault in another process.
Fix this by reading cr2 early and pass it to pageflttrap().
ok kettenis
|
|
|
|
|
| |
with this we can revert the recent coherency workaround in mesa
ok deraadt@ kettenis@
|
|
|
|
| |
ok kettenis@ deraadt@
|
| |
|
|
|
|
|
|
|
|
| |
Now that asmc(4) attaches through acpi(4), other than with isa(4), acpi(4)
could attach multiple SMC chips in theory, even though in practice there
will be only one SMC chip per machine.
Suggested and ok kettenis@
|
|
|
|
|
|
| |
This e.g. makes the driver also work on iMac11,2.
ok kettenis@, jung@
|
|
|
|
| |
The header is being pulled via db_machdep.h -> uvm_extern.h -> uvm_map.h
|
|
|
|
| |
OK deraadt@, mpi@
|
|
|
|
| |
OK kn
|
|
|
|
| |
ok kettenis@, visa@
|
|
|
|
|
|
| |
i486 (for space-saving reasons), but we don't currently need this in bsd.rd
so let's try without to see if it improves things in any way
(at least until the next have a space-saving crisis)
|
| |
|