Hi all,

I have a couple questions about VM an VMM communication for CAMKES-ARM-VM. 
Please correct me if I’m wrong. I found when VMM load Linux device it installs 
a vgic (install_linux_devices() -> vm_install_vgic()) But how exactly a 
interrupt caused by VM is distributed from GIC to VGIC (kernel to VMM)? I saw 
that we can register a virq to the VGIC (vm_virq_new()), but I’m not sure when 
a interrupt is generated how it is passed to the VGIC.

Second, I found that we can install virtual devices to VM (e.g. for Vchan 
communication). Seems like when Linux tries to access the mapped virtual 
device, a page_fault will generated. Does it create a interrupt? How does it 
processed by VMM code exactly? I found post_main() in the generated camkes.c 
file has 3 threads, case 3 runs the control thread -> run(), case 5 runs vevent 
interface vevent__run(), and case 7 runs fault hander. Does it triggers vevent? 
I’m not sure the control flow.

Thank you in advance! 

Best Regards
-Daniel Wang



_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to