Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
To be used in a future diff to handle machines with touchbar a bit better.
ok robert@
|
|
in the past, but those compat layers are gone. Remove support for the
"config file"
ok miod millert
|
|
ok deraadt@
|
|
comment can be deleted.
|
|
copyout and malloc. During a sleep another thread could delete the
semaphore (and possibly allocate another one at the same location
with different permissions) which would lead to an invalid access
after wake up. Therefore check the semaphore pointer, the sequence,
the permissions and some values in seminfo after each sleep.
OK bluhm@
Reported-by: syzbot+60ba811fe2e8a6b0f975@syzkaller.appspotmail.com
|
|
|
|
mapping of all the pages used by the framebuffer, even those that are
only used partially. Adjust the check in simplefb_wsmmap() to allow that.
While there, also make sure we use a (rounded down) page aligned address
base address for the physical address we return.
Fixes X on the 16" Macbook Pro.
ok patrick@, deraadt@
|
|
|
|
|
|
Prevents occasional failure to recover from firmware FAULT state where
the driver gave up too early: mfii0: firmware stuck in state 0
ok deraadt@
|
|
ok deraadt@
|
|
we already had SH-B0 0x00000f40 socket 754 family 0Fh Athlon 64
SH-B0 is part of amd64_errata_set8[]. Used for:
Errata 89: Potential Deadlock With Locked Transactions
ok deraadt@
|
|
findblkname() and DISKUNIT(). Allows all block devices, not just
sd* and vnd* to generate useful names in DEBUG output.
Cluebat by deraadt@
|
|
|
|
it may later be used from a resume path when we don't want to print
same change as amd64 amd64errata.c 1.11 by robert
ok robert@ deraadt@
|
|
tweaks from cheloha@; ok deraadt@, sthen@, cheloha@
|
|
on resume, the errata is re-applied.
In addition make amd64_errata() print the information about the applied
errata only once for the first CPU.
input from jsg@ and deraadt@, ok deraadt@
|
|
Found the hardway by miod@ and deraadt@.
|
|
to a separate function that gets called after identifycpu() so that
we have the required information to handle the correct MSRs for each
cpu.
Additionally, move the handling of the DE_CFG_SERIALIZE_LFENCE and
IA32_DEBUG_INTERFACE_LOCK MSRs out of identifycpu() to the new
function so that they get set again after a suspend/resume cycle as
well, which in fixes TSC sync failures.
discussed with and input from deraadt@, mlarkin@
|
|
From Chengming Gui
985a5d3d491d558f785b77cc5b86837bfa408587 in linux 5.15.y/5.15.69
39c84b8e929dbd4f63be7e04bf1a2bcd92b44177 in mainline linux
|
|
ok bluhm@
|
|
HY-D1 C32r1 (0x00100f81) and HY-D1 G34r1 (0x00100f91) have the same
errata and multiple cpuid values can map to a single enum value.
|
|
without a unit number (so without the @1234 bit) works as well.
This is a re-commit of the backed out change with the endless loop fixed.
|
|
Taking these definitions from NetBSD's pm_direct.h; most PMU_*
commands have the same names in the BSDs and Linux.
ok miod@ kettenis@
|
|
The issue was reported by Stephan Somogyi - Thanks!
|
|
Give the user a hint as to what happened if they boot up and the TSC
is not the active counter.
"sure" deraadt@
|
|
By default, just say "tsc: cpu0/cpuN: sync test failed". If you want
more information you need to recompile with TSC_DEBUG set.
While here, disable TSC_DEBUG.
"sure" deraadt@
|
|
Found by kn@ and myself, ok deraadt@
|
|
(and it may seem it should be "r" to get access to the file to collect
the underlying socket, which is fully r/w in a non-file way). But this
matches the POSIX spec that the file be 'writeable'. The regress test
and daemons have been updated for this behaviour.
Gap discovered by martijn, long discussions with benno
|
|
to hidkbd so that it can be re-used by apldc(4) and aplhidev(4) as well
this also adds support for apple fn key combinations to aplhidev(4)
ok miod@
|
|
They are no longer needed.
OK bluhm@
|
|
In case firmware initially comes up in FAULT state, reset the device and
give it one more chance to attach successfully. The Linux megaraid_sas
driver applies the same workaround in this case. There seems to be a bug
in some firmware versions which can trigger this behaviour; see mainline
Linux commit 6431f5d7c6025f8b007af06ea090de308f7e6881
Problem observed by me with mfii(4) attached via KVM PCI-passthrough:
mfii0 at pci0 dev 2 function 0 "Symbios Logic MegaRAID SAS2208" rev 0x05: msi
mfii0: firmware fault
With this workaround in place, attachment succeeds and the device works:
mfii0 at pci0 dev 2 function 0 "Symbios Logic MegaRAID SAS2208" rev 0x05: msi
mfii0: firmware fault; attempting full device reset, this can take some time
mfii0: "RAID Ctrl SAS 6G 1GB (D3116C)", firmware 23.29.0-0019, 1024MB cache
Tested for regressions on bare metal by Hrvoje with two different adapters:
mfii0 at pci1 dev 0 function 0 "Symbios Logic MegaRAID SAS3508" rev 0x01: msi
mfii0: "PERC H740P Mini ", firmware 51.16.0-4076, 8192MB cache
mfii0 at pci4 dev 0 function 0 "Symbios Logic MegaRAID SAS2208" rev 0x05: msi
mfii0: "ServeRAID M5110", firmware 23.34.0-0023, 512MB cache
ok jmatthew@
|
|
From Ville Syrjala
d2ca79dd0b5487991dac52c6b679915dbd70ee4c in linux 5.15.y/5.15.68
672d6ca758651f0ec12cd0d59787067a5bde1c96 in mainline linux
|
|
From Greg Kroah-Hartman
58acd2ebae034db3bacf38708f508fbd12ae2e54 in linux 5.15.y/5.15.68
cbfac7fa491651c57926c99edeb7495c6c1aeac2 in mainline linux
|
|
From Qu Huang
ad5ef763dbbea8193bd2095a1401aeac6e8f74e8 in linux 5.15.y/5.15.68
b8983d42524f10ac6bf35bbce6a7cc8e45f61e04 in mainline linux
|
|
From Zhenneng Li
5a7a5b2edac4b05abd744eeaebda46d9dacd952d in linux 5.15.y/5.15.68
f461950fdc374a3ada5a63c669d997de4600dffe in mainline linux
|
|
From Candice Li
622a557b28b718d4da92ff3504d83af2310324d2 in linux 5.15.y/5.15.68
c351938350ab9b5e978dede2c321da43de7eb70c in mainline linux
|
|
psp_hw_fini
From YiPeng Chai
c15c2c2c08964fd99d3366f80742129f8ae28eaa in linux 5.15.y/5.15.68
9d705d7741ae70764f3d6d87e67fad3b5c30ffd0 in mainline linux
|
|
From Jeffy Chen
1f574fbe9c2b831a8c3156260842a7abd280d59f in linux 5.15.y/5.15.68
ea2aa97ca37a9044ade001aef71dbc06318e8d44 in mainline linux
|
|
Most of drm uses 32-bit sequence numbers in fences.
dma-fence-chain opts into 64-bit comparisons.
Wrapping is handled like i915_seqno_passed() except that if the sequence
numbers are the same one is not considered later than the other.
|
|
On AMD CPUs, LFENCE does not serialize instruction dispatch until MSR
C001_1029[1] is properly configured. We do this in identifycpu(); see
amd64/identcpu.c,v 1.103.
The upshot is that the first TSC synchronization test is currently
invalid on most AMD CPUs because the LFENCE in the test loop does not
ensure that the AP loads the BP's latest TSC value before executing
RDTSC. So the synchronization test is yielding false positives on AMD
CPUs where the TSCs are actually synchronized.
The simplest fix is to wait until after the secondary CPU runs
identifycpu() in cpu_hatch() to test TSC synchronization.
Moving the TSC sync test after CPU identification means that we can
remove the CPUID() calls from tsc.c: the CPU feature flags are set in
identifycpu() so we no longer need to test for IA32_TSC_ADJUST support
by hand.
While we are at it, we should also pass the correct cpu_info pointer
to tsc_test_sync_bp(). It was unused before, so the bug was harmless,
but we definitely need the BP's cpu_info pointer, not the AP's pointer.
Unfortunately, this change does not fix the TSC sync problems we've
been seeing on e.g. dv@'s and jmc@'s Ryzen 5 machines. Hopefully the
problem on those machines is buggy firmware and not another
architectural misunderstanding on my part.
Prompted by robert@. Problem diagnosed by brynet@. With input from
robert@, brynet@, and deraadt@. Tested by robert@, brynet@, dv@,
phessler@, and jmc@.
ok robert@ brynet@ sthen@
|
|
Help from kettenis@, "Nice!" deraadt@
|
|
in ukbd(4).
ok miod@
|
|
and make 'fdisk -v' display their names (NoAutoMount, Hidden,
Shadow, ReadOnly).
Shift 1ULL instead of 1 to make it clear these are uint64_t
flags. Makes clang happier.
|
|
again.
|
|
|
|
ok jsg
|