[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: QEMU+KVM on RISC-V + Hypervisor Extension
|
From: |
Alistair Francis |
|
Subject: |
Re: QEMU+KVM on RISC-V + Hypervisor Extension |
|
Date: |
Tue, 15 Mar 2022 16:48:21 +1000 |
On Sun, Mar 13, 2022 at 12:12 PM Ralf Ramsauer
<ralf.ramsauer@oth-regensburg.de> wrote:
>
> Hi,
>
> I'm trying to run Linux/QEMU+KVM inside an emulated
> qemu-system-riscv64 VM (x86 host). On latest&greatest QEMU (1416688c53),
> I run Linux inside QEMU. On host side:
>
> qemu-system-riscv64 -nographic \
> -machine virt \
> -cpu 'rv64,h=true' \
> -smp 8 -m 8G \
> -bios $latest_opensbi \
> -kernel $latest_upstream_linux \
> […snip…]
>
> Inside that machine, I boot Linux with KVM enabled:
>
> […]
> [ 0.228939] kvm [1]: hypervisor extension available
> [ 0.229000] kvm [1]: using Sv48x4 G-stage page table format
> [ 0.229033] kvm [1]: VMID 14 bits available
> […]
>
> KVM seems to load correctly. Inside that machine, I compiled QEMU from
> the same sources with the KVM accelerator enabled. When I try to start
> QEMU with KVM enabled, I get
>
> ./qemu-system-riscv64 -nographic \
> -monitor none \
> -machine virt \
> -smp 1 -m 1G \
> -bios ./pc-bios/opensbi-riscv64-generic-fw_dynamic.bin \
> -serial stdio \
> -enable-kvm
>
> [ 4860.559194] kvm [9942]: VCPU exit error -95
> [ 4860.584262] kvm [9942]: SEPC=0x0 SSTATUS=0x200004120 HSTATUS=0x2002001c0
> [ 4860.586839] kvm [9942]: SCAUSE=0x14 STVAL=0x0 HTVAL=0x0 HTINST=0x0
>
> on the ringbuffer, together with a register dump of qemu [1] on the
> console. Needless to say, but without -enable-kvm, it works fine.
>
> As far as I see that, SCAUSE=0x14 reports a 'Instruction Guest PF',
> which would be kind of correct, if the guest's PC really tries to
> execute at phys 0x0. DRAM of the 'virt' machine definition should start
> at 0x80000000, where OpenSBI resides. So I wonder if an erroneous reset
> PC might be the culprit…
>
> Before digging deeper into that issue, I wanted to ask if Qemu/KVM
> inside an emulated riscv64+H-extension is actually supported, or if this
> is a known bug and has some ongoing work.
RISC-V KVM should work. I haven't had a chance to try it myself though.
I have CCed two people who hopefully can help.
Alistair
>
> Thanks
> Ralf
>
> [1]
>
> pc 0000000000000000
> mhartid 0000000000000000
> mstatus 0000000200000000
> mip 0000000000000000
> mie 0000000000000000
> mideleg 0000000000000000
> medeleg 0000000000000000
> mtvec 0000000000000000
> stvec 0000000000000000
> mepc 0000000000000000
> sepc 0000000000000000
> mcause 0000000000000000
> scause 0000000000000000
> mtval 0000000000000000
> stval 0000000000000000
> mscratch 0000000000000000
> sscratch 0000000000000000
> satp 0000000000000000
> x0/zero 0000000000000000 x1/ra 0000000000000000 x2/sp
> 0000000000000000 x3/gp 0000000000000000
> x4/tp 0000000000000000 x5/t0 0000000000000000 x6/t1
> 0000000000000000 x7/t2 0000000000000000
> x8/s0 0000000000000000 x9/s1 0000000000000000 x10/a0
> 0000000000000000 x11/a1 00000000bf000000
> x12/a2 0000000000000000 x13/a3 0000000000000000 x14/a4
> 0000000000000000 x15/a5 0000000000000000
> x16/a6 0000000000000000 x17/a7 0000000000000000 x18/s2
> 0000000000000000 x19/s3 0000000000000000
> x20/s4 0000000000000000 x21/s5 0000000000000000 x22/s6
> 0000000000000000 x23/s7 0000000000000000
> x24/s8 0000000000000000 x25/s9 0000000000000000 x26/s10
> 0000000000000000 x27/s11 0000000000000000
> x28/t3 0000000000000000 x29/t4 0000000000000000 x30/t5
> 0000000000000000 x31/t6 0000000000000000
>
- QEMU+KVM on RISC-V + Hypervisor Extension, Ralf Ramsauer, 2022/03/12
- Re: QEMU+KVM on RISC-V + Hypervisor Extension,
Alistair Francis <=
- Re: QEMU+KVM on RISC-V + Hypervisor Extension, Anup Patel, 2022/03/15
- Re: [EXT] Re: QEMU+KVM on RISC-V + Hypervisor Extension, Peter Maydell, 2022/03/15
- Re: [EXT] Re: QEMU+KVM on RISC-V + Hypervisor Extension, Ralf Ramsauer, 2022/03/15
- Re: [EXT] Re: QEMU+KVM on RISC-V + Hypervisor Extension, Alistair Francis, 2022/03/16
- Re: [EXT] Re: QEMU+KVM on RISC-V + Hypervisor Extension, Peter Maydell, 2022/03/17
- Re: [EXT] Re: QEMU+KVM on RISC-V + Hypervisor Extension, Ralf Ramsauer, 2022/03/19
- Re: [EXT] Re: QEMU+KVM on RISC-V + Hypervisor Extension, Alistair Francis, 2022/03/21