Age | Commit message (Collapse) | Author |
|
Use that define to shunt uvm_swapout_threads(), which is a noop when
pmap_collect() does nothing.
ok mpi@
|
|
Naming the list like the struct itself makes for awful grepping.
Call the global variable "ifnetlist" from now on.
There used to be kvm(3) consumers in base picking up this symbol, but those
have long been converted to other interfaces.
A few potential ports users remain, same deal as sys/net/if_var.h r1.116
"Remove struct ifnet's unused if_switchport member": they get bumped.
Previous users pointed out by deraadt
OK bluhm
|
|
In the future, the clock interrupt code will need a real timecounter
to work correctly. Nudge the tc_init(9) call for tb_timecounter up
before cpu_startclock().
|
|
|
|
ok mpi@ millert@
|
|
any attention for some time.
ok otto@ as part of larger diff
|
|
|
|
ok miod@ guenther@
|
|
In order to move riscv64 to a machine-independent clock interrupt
subsystem, the riscv64 clock interrupt code needs to function without
any specific knowledge of the clock interrupt schedule.
The easiest way to achieve this (as we just did with powerpc and
powerpc64) is, if the timer interrupt fires while the CPU is at or
above IPL_CLOCK, defer clock interrupt work until the the timer
interrupt is logically unmasked in splx(9).
In particular, trigger the timer interrupt from plic_setipl() so the
interrupt, if any, is pending before we handle soft interrupts.
Because we're no longer deferring work until the next tick, we don't
need to count pending statclock ticks in struct cpu_info.
kettenis@ notes that the timer triggering code should be refactored
into more generic code when we add support for a non-plic(4) riscv64
machine.
Graciously fixed, compiled, and tested by jca@.
Link: https://marc.info/?l=openbsd-tech&m=165931635410276&w=2
ok kettenis@
|
|
to support the device tree binding for the "apple,admac" controller.
ok visa@, patrick@
|
|
This lets me enter ddb(4) even when the riscv64 machines I manage get
unusable because of NFS.
Suggested by miod@, ok miod@ kettenis@
|
|
OK miod@ mpi@
|
|
mbuhl deraadt
|
|
StarFive JH7100 SoC.
ok jsg@
|
|
This may help save power but also improves performance in contended
workloads.
kettenis@ helped a lot:
- pointing out the error in my newest diff
- pointing out that the ZiHintPause had been ratified in early 2021
- testing this on his visionfive board
ok kettenis@
libc make -j4 time before
17m39.06s real 22m13.85s user 34m27.88s system
17m35.60s real 22m15.01s user 34m28.51s system
17m40.78s real 22m14.89s user 34m42.91s system
17m40.61s real 22m06.99s user 34m29.58s system
17m42.79s real 22m08.04s user 34m33.19s system
17m39.21s real 22m11.27s user 34m23.18s system
17m32.81s real 22m13.84s user 34m09.67s system
libc make -j4 time after
16m35.48s real 21m57.94s user 32m05.50s system
16m49.10s real 21m58.47s user 32m42.37s system
16m42.16s real 22m00.51s user 32m22.18s system
16m41.54s real 21m53.32s user 32m19.53s system
16m45.42s real 21m52.14s user 32m37.78s system
16m46.55s real 21m58.98s user 32m36.70s system
|
|
|
|
|
|
StarFive JH7100 SoC.
ok jsg@
|
|
|
|
|
|
JH7100 SoC.
ok jsg@
|
|
Fix a whitespace issue.
|
|
(in particular the dwmmc(4) and dwge(4) devices; there may be more).
ok jsg@
|
|
SiFive FU740 SoC.
ok jca@
|
|
ok jca@
|
|
Define a consistently named db_machine_command_table[] across all
archs that implement the MD "machine" command, and hook this into
the main command table instead of patching it at runtime.
ok mpi@ jca@
|
|
|
|
"Old debugging code obviously" deraadt@
|
|
nodes and properties to it like we do on arm64 and armv7.
ok patrick@
|
|
in a register at call-time.
with & ok jsg@
|
|
ok jsg@
|
|
FreeBSDism we have no need for.
ok jsg@
|
|
address zero, as done on all other platforms.
ok deraadt@ kettenis@
|
|
of the MI fallback code; ok deraadt@ jsg@
|
|
memory beyond the actual FDT data structure when adding information to the
device tree. This is especially problematic on ACPI systems where we add
lots of information to the device tree based on ACPI tables. Fix the FDT
code to never write beyond the end of the data structure and panic if we
run out of free space. Raise the amount of free space frm 4K to 16K for
the proto-FDT we use on ACPI systems. Bump the version number of the
arm64 bootloader.
ok visa@, patrick@
|
|
Pad trapframe and switchframe structs so that their size is a multiple
of 16 bytes. This makes context switching and exception handlers keep
kernel stack properly aligned.
OK kettenis@
|
|
The tp register contains the curcpu pointer in kernel mode. The pointer
has to be saved and replaced with the TCB pointer in the register when
entering user mode. These steps are reversed when returning to kernel.
The curcpu pointer is saved in the u-area. Explicitly reserve room for
the pointer to make the saving more visible.
OK kettenis@
|
|
dependent on __STDC__ and doesn't need the ## operator.
ok jsg@
|
|
ok guenther@
|
|
No functional change.
|
|
This ensures the chain of call frames is terminated properly, preventing
errors when unwinding kernel stacks.
OK miod@ kettenis@
|
|
Add logic to navigate across trapframes. Stop unwinding if the frame
pointer is clearly bad. Adjust output, and tweak details.
OK miod@ kettenis@
|
|
Feedback and OK kettenis@
|
|
OK kettenis@
|
|
Tested on a PolarFire SoC.
|
|
Make `cpu' signed so that the possible return value -1 from
plic_get_cpuid() gets handled correctly in the (cpu < 0) condition.
This prevents plic_attach() from updating sc_contexts[] out of bounds.
When plic_get_cpuid() returns -1, ignore the entry and continue
processing. The error is not fatal. It is normal that secondary CPUs
are not found when running a non-MULTIPROCESSOR kernel on
a multiprocessor machine.
OK kettenis@
|
|
Adjust end condition so that sfcc_cache_wbinv_range() would not spin
when (pa + len) is not cache line aligned.
While here, fix parameter types of sfcc_cache_wbinv_range() as
suggested by kettenis@.
OK kettenis@ (earlier version), miod@
|
|
removed from other archs in 2020 before riscv64 was imported
|
|
ok kettenis@ deraadt@
|
|
thumb code calling arm code, no need to put these input sections at the text
output section.
ok jsg@ kettenis@
|