Age | Commit message (Collapse) | Author |
|
implement them, and they are of questionable usefulness.
|
|
userland traps on a per-process basis, were necessary for *some* SunOS
binaries on sparc, which had to compiled with explicit misaligned access code
generation (i.e. for vendors to release a working SunOS/sparc version of their
code until they could fix their bogus code).
There is no reason to keep this code on sparc64, and now that we don't provide
COMPAT_SUNOS anymore, there is no reason to keep this code on sparc.
ok kettenis@
|
|
|
|
|
|
fix outdated comments suggesting kcopy() will return -1.
|
|
out-of-bounds array access later on.
Allows OpenBSD to boot on machines with more than 32 CPUs/cores.
ok krw@, jsing@, dlg@
|
|
Logitech HD Pro Webcam C910 (and probably others) to make it work.
Debugging, suggested and ok jakemsr@
|
|
|
|
ok jakemsr@
|
|
fields, which are supposed to be 16 bit values, are properly masked to avoid polluting
other fields.
From NetBSD; ok kettenis@
|
|
|
|
until possible removal, if indeed this causes no regression for scanner users.
|
|
ok mcbide@ claudio@ henning@
|
|
aren't enough to keep track of possible cores these days anyway.
36-core amd64 box encountered by dlg@
ok dlg@ kettenis@
|
|
enabled by option FPUEMUL.
This is pretty straightforward, except for conditional branch on FPU condition
codes emulation (bc1f/bc1fl/bc1t/bc1tl instructions): unlike most
RISC-with-delay-slots designs (m88k, sparc), the branch pipeline is not exposed
to the kernel on Mips, therefore we can not resume a branch without losing the
delay slot instruction.
Some other operating systems work around this issue by emulating the delay
slot instruction, but this is error-prone (and requires the kernel code to
be aware of all supported instructions of the processor it is currently running
on), some use dedicated breakpoints to single-step through the delay slot and
then resume the branch as expected, but this causes a lot of copy-on-write
allocations.
This code chooses a third path, of copying the delay slot instructions to run toa special `magic' page, followed by a special trap instruction to give control
back to the kernel. This makes sure the instruction will actually be run by the
processor, and that no more than one page per process is wasted, regardless of
the number of branches to emulate.
Tested on octeon (big-endian) by syuu@ and on loongson (little-endian) by me.
Note that enabling option FPUEMUL in the kernel will completely disable the
hardware FPU, if there is one; there is currently no way to build a kernel
supporting both hardware and software FPU, and there is no reason to change
this until there is a strong need to support both.
|
|
trampoline) in sys_execve(), if MD <machine/_types.h> defines
__HAVE_EXEC_MD_MAP.
|
|
ptrace guts with a logic similar to what the alpha port does.
|
|
copious cache flushes behind our back.
|
|
- use UGETW/USETW instead of letoh16/htole16
fixes controls that use two-byte signed data (e.g. brighness and hue)
on sparc64
|
|
the disklabel UID may have changed.
ok krw@ deraadt@
|
|
only called from pppx_del_session); lets an amd64 pppx kernel build
(otherwise we hit excessive stack use warnings with -Werror).
if this ends up being called more frequently in future, then dlg
suggests making it static instead. ok claudio@
|
|
|
|
|
|
|
|
From FreeBSD
ok deraadt@
|
|
because it is always PCKBC_KBD_SLOT
ok krw@, miod@
|
|
This has never happened and this wouldn't make much sense on anything but
hp300, if at all, nowadays.
|
|
|
|
|
|
|
|
|
|
MI header file.
|
|
|
|
cd(4) did not believe any T_FIXED device was its responsibility.
Thus when a USB CD forgot to mention that it is T_REMOV, it appeared
as uk(4).
Make cd(4) accept even T_FIXED devices that claim to be T_CDROM or
T_WORM.
Noticed and fix tested by Rene Maroufi. Closes PR #6513.
|
|
ok deraadt
|
|
uhci_device_setintr().
ok jakemsr@
|
|
ok deraadt henning
|
|
|
|
a single keysym_t at a time - this means tty sanity checks will only happen
once.
Introduce wsdisplay_rawkbdinput() for raw mode input, since raw input is
a byte array. As a bonus this allows us to skip the `is this a KS_GROUP_Ascii
value' test in that case.
|
|
short #define for the former, and seeing both forms in this file is confusing.
|
|
kernel, currently limited to low-hanging fruit: these variables were used
by bus_dma to specify the range in which to allocate memory, back when
uvm_pglistalloc() was stupid and would not walk the vm_physseg[].
Nowadays, except on some platforms for early initialization, these variables
are not used, or do not need to be global variables. Therefore:
- remove `extern' declarations of avail_start and avail_end (or close cousins,
such as arm physical_start and physical_end) from files which no longer need
to use them.
- make them local variables whenever possible.
- remove them when they are assigned to but no longer used.
|
|
give us more ranges than we expect.
|
|
while i386_set_ldt() can fail gracefully. To be improved eventually.
From mpech@ sometime ago. ok deraadt@ kettenis@
|
|
|
|
assembly code (_KERNEL && _LOCORE)
|
|
uncommenting it is intentional.
ok deraadt@
|
|
way this code works (always ends up in tsleep eventually), but it never hurts
to be correct.
|
|
ok from the m guild: mikeb@ miod@ mpf@
|
|
|
|
|