| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
OK naddy@; no objections from kettenis@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This diff exposes parts of clock_gettime(2) and gettimeofday(2) to
userland via libc eliberating processes from the need for a context
switch everytime they want to count the passage of time.
If a timecounter clock can be exposed to userland than it needs to set
its tc_user member to a non-zero value. Tested with one or multiple
counters per architecture.
The timing data is shared through a pointer found in the new ELF
auxiliary vector AUX_openbsd_timekeep containing timehands information
that is frequently updated by the kernel.
Timing differences between the last kernel update and the current time
are adjusted in userland by the tc_get_timecount() function inside the
MD usertc.c file.
This permits a much more responsive environment, quite visible in
browsers, office programs and gaming (apparently one is are able to fly
in Minecraft now).
Tested by robert@, sthen@, naddy@, kmos@, phessler@, and many others!
OK from at least kettenis@, cheloha@, naddy@, sthen@
|
|
|
|
|
|
|
|
| |
functionality is provided by <sys/stdarg.h> using compiler builtins.
Tested in a ports bulk build on amd64 by naddy@
OK naddy@ mpi@
|
|
|
|
|
|
| |
Nothing uses the header anymore.
OK deraadt@ mpi@
|
|
|
|
|
|
|
|
|
|
| |
bus_space_read_region_n, bus_space_write_region_n and
bus_space_set_region_n functions were all broken.
Same fix as arm64; Thanks to patrick@ for noting that mips64 had the same
code.
ok visa@
|
| |
|
|
|
|
|
|
| |
of soft interrupts are lower than priorities of hard interrupts.
This allows the delivery of hard interrupts while soft interrupts
are masked.
|
| |
|
|
|
|
| |
no words or punctation were modified.
|
|
|
|
| |
OK deraadt@ mpi@
|
|
|
|
|
|
|
| |
original retguard data to the piglet and bcopys it back in place
immediately before resuming via the ACPI Sx trampoline.
ok deraadt, guenther, tested by many.
|
|
|
|
| |
required by upcoming MI mutex change.
|
|
|
|
| |
OK guenther@
|
| |
|
| |
|
|
|
|
|
|
| |
with the RS780E chipset.
OK kettenis@, jsg@
|
|
|
|
| |
Testing help from fcambus@
|
|
|
|
|
|
| |
in bonito(4). Use the hook for setting up the PIC.
Discussed with miod@ long ago
|
|
|
|
|
|
|
|
|
| |
this is so drivers can advertise that they can handle 64 dma addresses
to the platform. it may choose to handle dmamaps differently based
on this flag.
tweaks and ok tom@
ok kettenis@
|
| |
|
|
|
|
|
|
| |
for secondary CPUs.
Discussed with miod@
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
and put the pieces together by platform glue.
Feedback from miod@
|
|
|
|
| |
Feedback from miod@
|
|
|
|
|
|
| |
outside bonito(4).
ok miod@
|
|
|
|
|
|
|
|
|
|
| |
actually use this in em(4) and xhci(4), but I'm not committing those yet
because we almost certainly need to save and restore the MSI-X registers
during suspend/resume. However, this allows mpi@ to play with multiple-vector
support in networking hardware.
Requested by mpi@
ok mlarkin@, mikeb@
|
|
|
|
|
|
| |
For coherency with other archs and in order to use it in MI code.
ok visa@, tobiasu@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
conversion. Because pmap_extract() acquires the PTE mutex, a "locking
against myself" panic is triggered if the cache routine gets called in
a context where the mutex is already held.
In the pmap, all calls to HitSyncDCache() are for a whole page. Add a
new cache routine, HitSyncDCachePage(), which gets both the va and the
pa of a page. This removes the need of the va->pa conversion. The new
routine has the same signature as SyncDCachePage(), allowing reuse of
the same routine for cache implementations that do not need differences
between "Hit" and non-"Hit" routines.
With the diff, POWER Indigo2 R8000 boots multiuser again. Tested on sgi
GENERIC-IP27.MP and octeon GENERIC.MP, too.
Diff from miod@, ok kettenis@
|
|
|
|
|
|
| |
and _SH_DISKLABEL_H_ with _MACHINE_DISKLABEL_H_. Add the guard to
loongson and octeon. The #defines are not used anywhere else in the
tree so no functional change.
|
|
|
|
|
| |
LABELOFFSET and MAXPARTITIONS. Easier on the eye when scanning
through all these files. No functional change.
|
| |
|
| |
|
|
|
|
| |
kernels and we no longer have any.
|
|
|
|
|
|
|
|
| |
this basically copies the sgi implementation to mips64 and removes
it from the rest. this way they get an optimised UP mutex implementation
and correct asserts on all platforms.
ok miod@ jmatthew@
|
| |
|
|
|
|
| |
don't need anymore.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
processors, every time a new text page is mapped in a pmap, the L1 I$ is
flushed for the va spanned by this page.
Since we map pages of our binaries upon demand, as they get faulted in, but
uvm_fault() tries to map the few neighbour pages, this can end up in a
bunch of pmap_enter() calls in a row, for executable mappings. If the L1
I$ is small enough, this can cause the whole L1 I$ cache to be flushed
several times.
Change pmap_enter() to postpone these flushes by only registering the
pending flushes, and have pmap_update() perform them. The cpu-specific
cache code can then optimize this to avoid unnecessary operations.
Tested on R4000SC, R4600SC, R5000SC, RM7000, R10000 with 4KB and 16KB
page sizes (coherent and non-coherent designs), and Loongson 2F by mikeb@ and
me. Should not affect anything on Octeon since there is no way to flush a
subset of I$ anyway.
|
|
|
|
|
| |
supposedly provided by newer PMON firmware (on Loongson 2Gq and Loongson 3A
systems).
|
|
|
|
| |
ok dlg@ mpi@ deraadt@
|
|
|
|
|
|
|
|
| |
as the northbridge, have the per-platform early setup code register functions
providing access to the PCI configuration space, for the wscons code to walk the
PCI space in search of a graphics board.
No functional change yet.
|
|
|
|
| |
(such as 2E and 3A systems).
|
|
|
|
|
|
| |
BUS_DMA_NOCACHE (or BUS_DMA_COHERENT if the platform does not have coherent
caches) will use PMAP_NOCACHE when invoking pmap_enter(), to avoid creating
cached mappings, and then evicting them from the cache.
|
|
|
|
| |
ok kettenis@
|
|
|
|
|
|
|
| |
This is work in progress. Nothing to test or play with for now.
Commiting it now so that I can work on it in-tree.
Okay miod@
|
|
|
|
| |
ok guenther@
|
|
|
|
| |
ok miod@, mikeb@
|