HomeFreeBSD

riscv vmm: virtual timer support.

Description

riscv vmm: virtual timer support.

Add a virtual timer implementation based on SBI Time extension.
This is needed for Eswin EIC7700 SoC which does not include the newer SSTC
extension.

Timer interrupt pending bit (STIP) could not be cleared in the guest system,
so rework interrupts handling: add new "interrupts_pending" field. Use it
for timer interrupt only for now, but later we can extend to store all
pending interrupts (Timer, IPI and External).

With this I'm able to boot FreeBSD (SMP) guest on HiFive Premier P550,
which is the first real hardware with RISC-V 'H'-spec included.

Differential Revision: https://reviews.freebsd.org/D48133

Details

Provenance
brAuthored on Thu, Jan 2, 3:42 PM
Differential Revision
D48133: riscv vmm: SBI timer support
Parents
rG8471791eb6ee: TCP RACK: simplify condition
Branches
Unknown
Tags
Unknown