Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
ok patrick@, mpi@
|
|
with LLVM 13.
|
|
|
|
SYS_syscall as the nosys() function into the MD syscall entry
routines and the SYSCALL_DEBUG support. Adjust alpha's syscall
check to match the other archs. Also, make sysent const to get it
into .rodata.
With that, 'struct emul' is unused: delete it and all its references
ok millert@
|
|
from Ashton Fagg
|
|
this hides real problems that could be found at build time
ok kettenis@ visa@, ok sashan@ on amd64/i386
|
|
defined
feedback from millert@, ok kettenis@, mips64 diff from and ok visa@
|
|
as self_reloc.c only handles the former.
ok deraadt@ kettenis@
|
|
API implemented is a deadend.
OK akoshibe@ yasuoka@ deraadt@ kn@ patrick@ sthen@
|
|
"just do it" deraadt@
|
|
data from struct process anymore. This changes how siginfo and onstack
are accessed and make sendsig() more MP friendly.
With and OK semarie@ OK kettenis@
|
|
ok kettenis
|
|
remove the half-finished code to support the SV48 MMU page table layout.
Currently there is no hardware that supports that model and I don't expect
any hardware that does support it to show up anytime soon.
ok mlarkin@
|
|
Modelled after the arm implementation. The first consumer would be
__builtin___clear_cache() in libcompiler_rt.
Input from kettenis@ and deraadt@, ok kettenis@
|
|
ok mlarkin@ kettenis@
|
|
The RISC-V doesn't seem to provide hardware support for generic purpose
single stepping, and we're not emulating single stepping for riscv64
like we do for alpha or mips64. Hiding PT_STEP makes it possible to run
inferior processes with a wip ports/devel/gdb update.
ok kettenis@
|
|
The code is already there, it was unreachable because of this #if 0.
ok kettenis@
|
|
|
|
Adds support for Aquantia AQC1xx family of PCIe ethernet adapters. This
driver supports 1Gbps through 10Gbps modes of operation based on the
hardware and media/switch capabilities.
The initial code was ported from NetBSD, with jmatthew@ finishing up
the Tx/Rx ring support and interrupt handler routine.
The driver only supports devices using firmware V2.
This diff enables aq(4) on riscv64 and amd64, the only platforms where
I have tested the driver, but it likely works on other architectures
as well.
|
|
ok patrick@
|
|
back in 2019.
ok mpi@
|
|
FENCE.I instruction on the remote harts. According to the RISC-V
ISA documentation this is necessary to make remote harts observe earlier
stores. Also issue the local FENCE.I first; this is what both FreeBSD and
Linux does. Seems to fix at least some of the issue we've seen running
GENERIC.MP on MP machines.
ok jca@
|
|
clobber in the inline assembly.
|
|
|
|
|
|
from Ashton Fagg who tested on 9260
|
|
from Ashton Fagg who tested on 82599
|
|
ok kettenis@
|
|
Remove the (incomplete) support for ASIDs. RISC-V hardware that implements
ASIDs doesn't exist at this moment and the current code interferes with
the errata workaround and other pmap improvements we're planning to make.
ok drahn@, jca@, deraadt@
|
|
Only use multiple bytes operations on properly aligned addresses, as
I have observed a 40x penalty for unaligned 8 bytes operations compared
to equivalent 1-byte loops on this Sifive Unmatched. The speed gain is
small but significant.
Input & ok kettenis@
|
|
|
|
|
|
this also matches arm64 now/again.
|
|
ok kettenis@
|
|
Reported by some grumpy old cheese lover
"looks reasonable" jsg@
ok kettenis@
|
|
|
|
|
|
FreeBSD code from which it was derived. In particular, it uses the same
trick to switch page tables as FreeBSD, which is what we use to spin up
the secondary CPUs already. This avoids having to install a temporary
1:1 mapping.
ok mlarkin@
|
|
that do a remote SFENCE.VMA or FENCE.I if the set of hart IDs isn't empty.
This significantly speeds things up.
ok jsg@
|
|
probing and decode mvendorid and marchid.
ok mlarkin@, deraadt@, jsg@
|
|
The new code still uses the clean/dirty state that the hardware reports
to optimize saving/restoring the FPU register, but no longer attempts to
keep the FPU registers alive across a context switch. Fixes panics seen
on MP kernels.
ok drahn@
|
|
ok kettenis@
|
|
ok deraadt@
|
|
ok drahn@
|
|
ok drahn
|
|
|
|
This is essentially a remnant of early RISC-V, which used the Berkely
Boot Loader. Modern RISC-V firmware makes sure only one hart is enabled
and offsers SBI calls to start the other harts.
|