Age | Commit message (Collapse) | Author |
|
swap for you to the hosts endianness. sometimes you dont want this hand
holding and just want raw access to the registers. bus_space does have
stuff to do this already, but they deal with buffers which can be awkward
if you just want to get or set a single register.
this adds the following to i386 and amd64:
bus_space_read_raw_2() bus_space_read_raw_4() bus_space_read_raw_8()
bus_space_write_raw_2() bus_space_write_raw_4() bus_space_write_raw_8()
sparc64 already implements this, even though it wasnt part of the
official api. how handy.
i'll do other archs as i can.
kettenis@ and miod@ seem ok with this
|
|
Agreed with millert@ and guenther@
|
|
checked on amd64 by rpe@
okay jsing@
|
|
object directories.
|
|
|
|
affects a.out binaries' core dumps.
|
|
ok guenther@
|
|
This allows the host to request some memory back from the openbsd
guest in case of a shortage.
Patch by Dinar Talypov
OK jasper@
OK jmc@ (man page)
|
|
partition. OK jsing@.
|
|
the emulation errno mapping directly into the register in the trapframe.
Range check the value in that case to guarantee there isn't an out-of-bounds
array access.
Uninitialized variable issue pointed out by David Hill. Range check
suggested by matthew@
ok miod@
|
|
ok kettenis@
|
|
ok guenther millert kettenis
|
|
ok miod@, mpi@
|
|
dynamically, by comparing the stack pointer against the altstack
base and size, so that you get the correct answer if you longjmp
out of the signal handler, as tested by regress/sys/kern/stackjmp/.
Also, fix alt stack handling on vax, where it was completely broken.
Testing and corrections by miod@, krw@, tobiasu@, pirofti@
|
|
|
|
These functions represent the basic blocks for using the ACPI global
lock that provides mutual exclusion between the OSPM and the BIOS.
No functional change. Okay kettenis@, deraadt@.
|
|
This is needed for future acpi global locking routines.
Okay kettenis@
|
|
Substitute atomic_ucas_32 with futex_atomic_ucas_int32 to make it
obvious who's using this api.
Suggested by and okay kettenis@.
|
|
On x86, the xchg operation between reg and mem has an implicit lock
prefix, i.e. on MP, it is a relatively expensive atomic operation.
This is not needed here.
Instead of swapping arguments on the stack, load them in reverse order
and jump further into bcopy (idea by kettenis@).
ok kettenis@
|
|
i386 CD image also build/boot tested by todd@
ok mikeb@ deraadt@
|
|
the case we verify if the CPU supports a specific version of the
architectural performance monitoring feature and read out the current
frequency from the fixed-function performance counter of the unhalted
core.
My initial motivation to implement this was the Soekris net6501-70
which comes with an Intel Atom E6xx 1.60GHz CPU. It has a constant
time stamp counter plus speed step support and boots on the lowest
frequency of 600MHz. This caused hw.cpuspeed and hw.setperf to
reflect the wrong values.
The diff is a cooperation work with jsg@. The fixed-function
performance counter read code comes from a former diff of him.
OK jsg@
|
|
|
|
Problem spotted by and diff to fix this (and convert to km_alloc) from oga
ok deraadt@
|
|
Found the hard way by deraadt@
|
|
Pointed out by deraadt@
|
|
|
|
|
|
size. When relocating use blocks that are a maximum of 32KB in size and
increment the segment registers after relocating each block. This keeps us
within the confines of the %cx register and the real mode segmented
addressing.
|
|
64KB segment at 0x7c00 and any additional 64KB segments over top of each
other at 0x10000.
|
|
|
|
|
|
|
|
When enabled SMAP will generate page faults on the kernel attempting
to read/write user data pages unless an override flag is set.
Instructions that modify the flag are patched into copyin/copyout and
friends on boot if SMAP is enabled.
Those with access to hardware with SMAP can contact me for a test case.
joint work with deraadt@
ok miod@ deraadt@
|
|
the code actually diffable. No binary change.
|
|
|
|
ok deraadt@
|
|
|
|
versions. Compile all required sources directly, rather than linking
against uninstalled libraries.
Discussed with deraadt@
|
|
|
|
|
|
handlers how hard they should hit the hardware.
|
|
wdog_shutdown() for external usage.
|
|
|
|
check-boot.pl so that it works with both boot and fdboot.
|
|
back to using -N when linking i386 boot(8). This prevents issues with the
.data file offset becoming mismatched with its LMA, once the binary grows.
|
|
the required file offset (0x120) for the .text segment.
|
|
sections match up with their LMAs. This is necessary since biosboot does
not perform relocation.
Discussed with deraadt@
|
|
smaller than the normal 'boot', however for now it is identical.
ok deraadt@
|
|
the IDT that we have just finishing building.
|
|
device name is NULL.
From Tim Wiess
|