au-ts / libvmm

An experimental virtual machine monitor for the seL4 microkernel
Other
27 stars 12 forks source link

error acking VPPI #19

Closed sitestudio closed 1 year ago

sitestudio commented 1 year ago

Trying to run the rust VMM at libvmm/examples/rust with

make MICROKIT_SDK=/home/andymc/projects/seL4/microkit-sdk-1.2.6 qemu

results in:

[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: gic_handle_irq
<<seL4(CPU 0) [decodeVCPUWriteReg/322 T0x8060003400 "child of: 'rootserver'" @24ba9b0]: VCPUWriteReg: Truncated message.>>
microkit_arm_vcpu_ack_vppi: error acking VPPI
MON|ERROR: received message 0x00000006  badge: 0x0000000000000001  tcb cap: 0x8000000000002401
MON|ERROR: faulting PD: VMM
Registers: 
pc : 0x00000000024ba9e0
spsr : 0x0000000080000040
x0 : 0x0000000000000000
x1 : 0x0000000000000000
x2 : 0x0000000000000000
x3 : 0x0000000000000000
x4 : 0x0000000000000000
x5 : 0x0000000000000000
x6 : 0x0000000000000000
x7 : 0xfffffffffffffff4
MON|ERROR: VMFault: ip=0x00000000024ba9e0  fault_addr=0x0000000000000007  fsr=0x00000000939f0046  (data fault)
MON|ERROR:    ec: 0x00000024  Data Abort from a lower Exception level   il: 1   iss: 0x019f0046
MON|ERROR:    dfsc = translation fault, level 2 (0x00000006) -- write not read
<<seL4(CPU 0) 
Ivan-Velickovic commented 1 year ago

Can you try with this SDK in the README? https://github.com/au-ts/libvmm#option-1---download-pre-built-sdk. I recently, updated the version that libvmm requires/uses. That's my first guess as to what's going on.

This example is in the CI of the project so should definitely be reproducible.

sitestudio commented 1 year ago

Oops, wasn't on main branch.

Ivan-Velickovic commented 1 year ago

Oops, wasn't on main branch.

No worries, sorry it's probably going to be a bit annoying for a while to keep updating the SDK. Hopefully soon it will be changing less frequently.