#
17f6f2fd |
| 03-Sep-2024 |
Andrew Jones <andrew.jones@linux.dev> |
Merge branch 'riscv/sbi' into 'master'
riscv: Add support for SBI tests
See merge request kvm-unit-tests/kvm-unit-tests!67
|
#
94ca1aaf |
| 28-Aug-2024 |
Andrew Jones <andrew.jones@linux.dev> |
riscv: Introduce local_hart_init
When Sstc is available make sure that even if we enable timer interrupts nothing will happen. This is necessary for cases where the unit tests actually intend to use
riscv: Introduce local_hart_init
When Sstc is available make sure that even if we enable timer interrupts nothing will happen. This is necessary for cases where the unit tests actually intend to use the SBI TIME extension and aren't thinking about Sstc at all, like the SBI TIME test in riscv/sbi where we can now remove the initialization.
We introduce local_hart_init() rather than something like local_timer_init() for this since other non-timer-related CSRs will also need to be set at init time in the future and we can just lump them all together.
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>
show more ...
|
#
a1418d6d |
| 02-Aug-2024 |
Andrew Jones <andrew.jones@linux.dev> |
Merge branch 'riscv/sbi' into 'master'
riscv: Add TIME SBI extension tests
See merge request kvm-unit-tests/kvm-unit-tests!62
|
#
a3c0b550 |
| 30-Jul-2024 |
Andrew Jones <andrew.jones@linux.dev> |
riscv: Extend exception handling support for interrupts
Add install_irq_handler() to enable tests to install interrupt handlers. Also add local_irq_enable() and local_irq_disable() to respectively e
riscv: Extend exception handling support for interrupts
Add install_irq_handler() to enable tests to install interrupt handlers. Also add local_irq_enable() and local_irq_disable() to respectively enable and disable IRQs via the sstatus.SIE bit.
Signed-off-by: James Raphael Tiovalen <jamestiotio@gmail.com> Signed-off-by: Andrew Jones <andrew.jones@linux.dev>
show more ...
|
#
6444ae20 |
| 18-Mar-2024 |
Andrew Jones <andrew.jones@linux.dev> |
Merge branch 'riscv/queue' into 'master'
riscv: Add EFI support and SBI base ext tests
See merge request kvm-unit-tests/kvm-unit-tests!54
|
#
e442bc9c |
| 05-Mar-2024 |
Andrew Jones <andrew.jones@linux.dev> |
riscv: show_regs: Prepare for EFI images
EFI images start with a header page and then _text, so the load address should use 'ImageBase' instead of _text. Just add the ImageBase symbol to the non-efi
riscv: show_regs: Prepare for EFI images
EFI images start with a header page and then _text, so the load address should use 'ImageBase' instead of _text. Just add the ImageBase symbol to the non-efi build too and then change show_regs() to use it instead. While there, add a couple convenience calculations for the PC and return address (pre-subtract the load address from them) in order to make it quicker for looking them up in an objdump.
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>
show more ...
|
#
6c2108db |
| 05-Mar-2024 |
Andrew Jones <andrew.jones@linux.dev> |
riscv: Call abort instead of assert on unhandled exceptions
We should call abort() instead of assert() on an unhandled exception since assert() calls abort() anyway after a useless "assert failed: 0
riscv: Call abort instead of assert on unhandled exceptions
We should call abort() instead of assert() on an unhandled exception since assert() calls abort() anyway after a useless "assert failed: 0" message. We can also skip dumping the exception stack and just unwind from the stack frame where the exception occurred.
Signed-off-by: Andrew Jones <andrew.jones@linux.dev>
show more ...
|
#
48d59524 |
| 02-Feb-2024 |
Andrew Jones <andrew.jones@linux.dev> |
Merge branch 'riscv/initial-port-v3' into 'master'
riscv: Initial port
See merge request kvm-unit-tests/kvm-unit-tests!50
|
#
db0ae91c |
| 03-Oct-2023 |
Andrew Jones <andrew.jones@linux.dev> |
riscv: Add isa string parsing
We can probably get away with just assuming several important and popular extensions (at least everything covered by G), but we'll also want to use some extensions whic
riscv: Add isa string parsing
We can probably get away with just assuming several important and popular extensions (at least everything covered by G), but we'll also want to use some extensions which we should ensure are present by parsing the isa string. Add a parser and already apply it to Sstc.
Signed-off-by: Andrew Jones <andrew.jones@linux.dev> Acked-by: Thomas Huth <thuth@redhat.com>
show more ...
|
#
9c92b28e |
| 03-Oct-2023 |
Andrew Jones <andrew.jones@linux.dev> |
riscv: Add SMP support
Implement the same SMP API that Arm has but using an SBI HSM call instead of PSCI. Unlike Arm, riscv needs to always set cpu0_calls_idle, because the boot hart doesn't have to
riscv: Add SMP support
Implement the same SMP API that Arm has but using an SBI HSM call instead of PSCI. Unlike Arm, riscv needs to always set cpu0_calls_idle, because the boot hart doesn't have to be the first hart described in the DT, which means cpu0 may well be a secondary. As usual, add a couple tests to selftest.c to make sure everything works.
(The secondary boot process is also improved over Arm's a bit by keeping boot data percpu, dropping the need for a lock. We could create percpu data for Arm too, but that's left as future work.)
Signed-off-by: Andrew Jones <andrew.jones@linux.dev> Acked-by: Thomas Huth <thuth@redhat.com>
show more ...
|
#
386561f8 |
| 02-Oct-2023 |
Andrew Jones <andrew.jones@linux.dev> |
riscv: Add exception handling
Steal more code from Linux to implement exception handling, but with the same kvm-unit-tests API that Arm has. Also introduce struct thread_info like Arm has in order t
riscv: Add exception handling
Steal more code from Linux to implement exception handling, but with the same kvm-unit-tests API that Arm has. Also introduce struct thread_info like Arm has in order to hold the handler pointers. Finally, as usual, extend the selftest to make sure it all works.
Signed-off-by: Andrew Jones <andrew.jones@linux.dev> Acked-by: Thomas Huth <thuth@redhat.com>
show more ...
|