Age | Commit message (Collapse) | Author |
|
an "unpriviliged" load/store instruction. This makes sure we catch
PAN violations and might even catch some incorrect user-space access
cases on systems without PAN.
ok drahn@, jsg@
|
|
From Paul de Weerd
|
|
Remove a dead conditional from acpi_init_gpes while there.
ok jcs@
|
|
|
|
contents thereof.
Compile tests by martjn@ (alpha), visa@ (sgi) jmatthew@ (sparc64) aoyama@
(luna88k)
|
|
XS_NO_CCB purge of 2017.
Nuke pointless ISSET()/CLR() checks and the #define's.
|
|
ok stsp@
|
|
|
|
|
|
The Exar XR17V354 has 4 ports that have a 256-byte FIFO, use a
frequency of 125Mhz, and have a unique sleep register. A custom
interrupt handler is setup in puc for these ports so it can check a
register which reports which ports triggered the interrupt, rather
than having to run comintr for every port every time.
To avoid probing for these ports in com_attach_subr which requires
access to registers that may be reserved on certain platforms, pass
the sc_uarttype from com_puc_attach since the port type is already
known based on the puc device vendor/id.
Input from kettenis, tested in snaps
|
|
by miod@ where the powerpc64 claimed to be "for all AArch64 platforms".
ok patrick@
|
|
make the three variants more similar and easier to understand. Ensures
consistent error checks and eliminates pointless adapter_buswidth checks when
processing the list of scsi_links.
|
|
performance at 200 MHz, so restrict the maximum frequency to 150 MHz for now.
This also makes the eMMC on the ODROID-C4 work properly.
|
|
ok patrick@
|
|
Unused since r1.138 from 2015: "remove cisco hdlc code from sppp(4)".
OK mpi
|
|
Spotted by miod@
|
|
Spotted by miod@
|
|
let kr_free() do the work. Otherwise a thread currently inside a remote
section could end up not decrementing the number of ongoing sections
while exiting the same remote section.
Reported-by: syzbot+1252e696865efc29b767@syzkaller.appspotmail.com
|
|
packets output out of KERNEL_LOCK. pppx(4) and pipex(4) are ready to
this.
ok yasuoka@ mpi@
|
|
SCSI_IS_SCSIBUS_B().
i.e. return true when 'A' is finished probing (sc_child != NULL) and the
sc_link->bus is != sc_child.
|
|
|
|
Found the hard way by martijn@ on his alpha.
|
|
Needed to build a sparc64 kernel with clang 10.
ok kettenis@
|
|
so that we can reuse them in other compiler_rt routines.
ok kettenis@
|
|
filtering out messages for routes with flags matching any bit in a mask.
This allows routing daemons to opt out of receiving messages for L2 and
broadcast route entries, which they currently discard.
ok dlg@ sthen@ deraadt@
|
|
messages, and save the route flags before deleting the route. For L2
route entries, the RTF_LLINFO flag is cleared during deletion, so saving
the flags beforehand means they're correct in the routing socket message.
ok mpi@
|
|
setitimer(2) works with timespecs in its critical section. It will be
easier to merge the two critical sections if getitimer(2) also works
with timespecs.
In particular, we currently read the uptime clock *twice* during a
setitimer(2) swap: we call getmicrouptime(9) in sys_getitimer() and
then call getnanouptime(9) in sys_setitimer(). This means that
swapping one timer in for another is not atomic with respect to the
uptime clock. It also means the two operations are working with
different time structures and resolutions, which is potentially
confusing.
If both critical sections work with timespecs we can combine the two
getnanouptime(9) calls into a single call at the start of the combined
critical section in a future patch, making the swap atomic with
respect to the clock.
So, in preparation, move the TIMESPEC_TO_TIMEVAL conversions in
getitimer(2) after the ITIMER_REAL conversion from absolute to
relative time, just before copyout(9). The ITIMER_REAL conversion
must then be done with timespec macros and getnanouptime(9), just like
in setitimer(2).
|
|
If we're replacing the current ITIMER_REAL timer with a new one we
don't need to call timeout_del(9) before calling timeout_add(9).
timeout_add(9) does the work of timeout_del(9) implicitly if the
timeout in question is already pending.
This saves us an extra trip through the timeout_mutex.
|
|
Reuse the kev[] array of sys_kevent() in kqueue_scan() to lower
stack usage.
The code has reset kevp, but not nkev, whenever the retry branch is
taken. However, the resetting is unnecessary because retry should be
taken only if no events have been collected. Make this clearer by
adding KASSERTs.
OK mpi@
|
|
count them because `if_snd' does this.
ok yasuoka@
|
|
Reading the disabled bios on two Dell machines with RV610
passes initial checks but later fails atombios specific checks.
This occurs when running amd64 but not i386.
Returning early when reading the disabled bios will result in calling
radeon_read_platform_bios() and using the bios at 0xc0000 which works
for both systems this was reported for
semarie@ on Dell OptiPlex 755
RV610 0x1002:0x94C3 0x1028:0x0402 0x00
Andy Bradford on Dell DXP051
RV610 0x1002:0x94C1 0x1028:0x0D02 0x00
|
|
From Sam Ravnborg
cea0a7943a30a6d0320c8558a844dd27e8f0aa8b in linux 5.7.y/5.7.15
2a1658bf922ffd9b7907e270a7d9cdc9643fc45d in mainline linux
|
|
pfsyncstart() does not require the big lock, make it use the ifq API.
OK mvs
|
|
Rearrange the critical section in setitimer(2) to match that of
getitimer(2). This will make it easier to merge the two critical
sections in a subsequent diff.
In particular, we want to write the new timer value in *one* place in
the code, regardless of which timer we're setting.
ok millert@
|
|
For what are probably historical reasons, setitimer(2) does not
validate its input (itv) immediately after copyin(9). Instead, it
waits until after (possibly) performing a getitimer(2) to copy out the
state of the timer.
Consolidating copyin(9), input validation, and input conversion into a
single block before the getitimer(2) operation makes setitimer(2)
itself easier to read. It will also simplify merging the critical
sections of setitimer(2) and getitimer(2) in a subsequent patch.
This changes setitimer(2)'s behavior in the EINVAL case. Currently,
if your input (itv) is invalid, we return EINVAL *after* modifying the
output (olditv). With the patch we will now return EINVAL *before*
modifying the output. However, any code dependent upon this behavior
is broken: the contents of olditv are undefined in all setitimer(2)
error cases.
ok millert@
|
|
The ITIMER_REAL per-process interval timer is protected by the kernel
lock. The ITIMER_REAL timeout (ps_realit_to), setitimer(2), and
getitimer(2) all run under the kernel lock. Entering itimer_mtx
during getitimer(2) when reading the ITIMER_REAL ps_timer state is
superfluous and misleading.
|
|
it.
Prepares for removal of #include <scsi/scsi_debug.h> from scsiconf.h as soon as
the alpha tester digs out from hurricane to compile last untested files.
|
|
The ITIMER_REAL itimerspec (ps_timer[0]) and timeout (ps_realit_to)
are protected by the kernel lock. Annotate them with "K".
The ITIMER_VIRTUAL and ITIMER_PROF itimerspecs (ps_timer[1],
ps_timer[2]) are protected by itimer_mtx. Annotate them with "T",
for "timer".
With input from kettenis@ and anton@.
ok kettenis@, anton@
|
|
From sxvghd (at) firemail (dot) cc, on tech@
|
|
system would deadlock when a CPU gets blocked by the mutex while another
CPU is waiting for the first CPU to finish a rendezvous request.
This possibly fixes some hangs on sgi. There should be no effect on
loongson and octeon because their interrupt code is sloppy with masking
of IPIs.
While here, rename the rendezvous mutex to better reflect its use.
|
|
nestled together. Rename scsibusprint() to scsibussubprint() since it is used
with scsibussubmatch().
|
|
packets output out of KERNEL_LOCK. pppac(4) and pipex(4) are ready to
this.
ok yasuoka@
|
|
ok kn@
|
|
This is the documented behaviour which was changed by pedro in rev 1.81
which was partially backed out in rev 1.82.
|
|
reverts changes from msdosfs_vfsops.c rev 1.7
Prompted by a patch from John Carmack to add an an error path when exFAT
is detected on mount to give a more helpful error message.
Returning EINVAL in the existing sanity checks will make mount_msdos(8)
print "not an MSDOS filesystem" when attempting to mount exFAT and
matches historic and documented behaviour.
ok kn@
|
|
the ci_acpicpudev pointer in struct cpu_info. This simplifies matters
when we have lots of cpus.
ok kettenis@
|
|
The ITIMER_VIRTUAL and ITIMER_PROF per-process interval timers are
updated from hardclock(9). If a timer for the parent process is
enabled the hardclock(9) thread calls itimerdecr() to update and
reload it as needed.
However, in itimerdecr(), after entering itimer_mtx, the thread needs
to double-check that the timer in question is still enabled. While
the hardclock(9) thread is entering itimer_mtx a thread in
setitimer(2) can take the mutex and disable the timer.
If the timer is disabled, itimerdecr() should return 1 to indicate
that the timer has not expired and that no action needs to be taken.
ok kettenis@
|
|
|
|
So set `IFXF_MPSAFE' bit. This allows to discard outgoing packets without
kernel lock.
ok kn@
|
|
leading whitespace. Rename some local functions.
|