Hello,
I have a few questions regarding networking (I also want to be able to communicate with sel4 system over network).
When I initialize with
default.xml and try to compile, I am getting the following error:
I suspect that is something related with the recent changes in camkes/sel4? Or is the default ethernet-demo app simply not configured properly? I am not talking about memory mapping/irsq, this is a different error.
2. When I use the same repository and the
working manifest (pointing to specific commits so it compiles), and change the ethernet memory address and irqs I can compile the application, but I get the following error when running it:
Notably the process fails when sel4 tries to access client iospace. I know I have the irqs and the memory right, as well as the device id (
pci_bdf).
However, the problem is obviously the
iospace_id.From what I read from the sel4 manual, the iospace_id depends on the type of iommu unit if I understand it correctly. But I am running sel4 in qemu and I don't pass any physical device to it, it is all virtual devices. To verify, I can run Ubuntu
in qemu with the very same settings and it detects all virtual devices without issues. I can also run sel4-rumprum app (see below) and it also detects the hardware without issues.
The same error happens even when I disable the IOMMU in the sel4 config (
here).
Am I missing something fundamental here? Why in one case I need iommu to run sel4 (this case), and why in other case (sel4-rumprun or regular Ubuntu) I dont?
3. I tested the
sel4-rumprun-ethernet app in qemu and it works great! I can connect over TCP socket from host and send data to sel4 running in qemu. In this case there was no issue with iommu or iospaces (I am just passing through the irq numbers and device addresses).
So my question is - was this app just a quick test (committed by
Kent McLeod), or do you think using rumpkernels as camkes components is the preferred way forward? Especially because that way we have access to NetBSD drivers without much modifications.
Thank you in advance for your advice.
Regards
Michal