Page MenuHomeFreeBSD

riscv vmm: SBI timer support
ClosedPublic

Authored by br on Dec 18 2024, 4:06 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Jun 15, 5:50 AM
Unknown Object (File)
Sun, Jun 15, 2:23 AM
Unknown Object (File)
Fri, Jun 13, 10:29 AM
Unknown Object (File)
Thu, Jun 12, 10:31 AM
Unknown Object (File)
Mon, Jun 2, 4:08 AM
Unknown Object (File)
Apr 29 2025, 3:13 PM
Unknown Object (File)
Apr 29 2025, 10:04 AM
Unknown Object (File)
Apr 26 2025, 2:16 AM

Details

Summary

Add SBI timer implementation and rework interrupts handling.

This is needed for EIC7700 which does not have SSTC extension supported.

Add new "interrupts_pending" field. Use it for timer interrupt only for now, but later we can extend to store all pending interrupts (IPI and External).

Test Plan

With this I'm able to boot SMP guest on HiFive Premier P550.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

br requested review of this revision.Dec 18 2024, 4:06 PM

Wait so you put up a patch to disable Sstc before an alternative was provided?

Wait so you put up a patch to disable Sstc before an alternative was provided?

:-)
Well it was still working in QEMU and Spike that both have SSTC.
On EIC7700 I needed to disable SSTC advertisement before I can work on SBI timer...otherwise the guest runs an invalid instruction.

This revision was not accepted when it landed; it landed in state Needs Review.Jan 2 2025, 4:05 PM
This revision was automatically updated to reflect the committed changes.