Hello,

We are looking to add another virtio device to camkes-vm for guests to use. I 
have been looking through the code at how virtio_net works and I have a pretty 
decent understanding of how it is configured and used. I have a few 
design/philosophical questions though.


1.      Was any of this (libethdriver, libpci, Ethdriver component, 
virtio_net.c, virtio_emul.c) ported from somewhere else, or was it all written 
from scratch?

2.      Why is components/Init/src/virtio_net.c used in conjunction with 
vm0_config.init_cons instead of just using the VMNet templates?

3.      Looks like pci handling was decoupled from drivers like libethdriver 
and it is left up to the VM Init component to configure PCI. What is the reason 
for that?

4.      Virtio_emul.c appears to be the layer that actually provides the virtio 
interface to the VM. Would it make more sense to make this more generic to 
cover more devices, or should new emulation files be created for each device?

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

Reply via email to