Hello Adam,
thanks for your answers.
Is it some more special hardware? But if it work I guess it's good.
It's a whitebox from Armortec. Something like this: https://www.armortec.net/products/network-appliances/x86-desktop/2023/0725/3...
I did see the following error messages from IO while booting, but I don't think it is related to the changed base address.
error: EC: error missing resources error: ACPI LID0: could not evaluate _PRW object (AE_NOT_FOUND), not enabled as wake source
It is correct that uvmm does need a device tree, also on x86. However, you can just take the virt-pc.dtb. All the pass-through of PCI devices will just work through the virtual PCI bridge, thus has nothing to do anymore with the device tree. Just for putting any other devices to the VM requires adding those to the device tree (such as more virtio device).
In the corresponding vbus config you select with PCI devs to make available on this vbus which will consequently show up in the VM.
Okay, so it turns out I made two mistakes. (It is working fine now.) One was the naming of the vbuses where they have to match in the lua config. (I took the example where there is only one bus named vbus and added another VM, but must have overlooked how the matching is done.) And the second one is using the wrong kernel or rather the wrong network driver in the kernel. I did not see any network devices in the VM and assumed the pass-through did not work. But the PCI device was actually there under /sys/bus/pci. (The standard e100/e1000 driver included in your kernel does not handle the network interfaces on the whitebox, had to use igc.)
Maybe I can pass the whole PCI bus, but then I would like to isolate at least some parts.
That's possible too, just to mention it.
So I can pass the whole bus but then blacklist specific devices on that bus that should not be passed to the VM? Is there an example config for this?
And while both VMs should be able to read the RTC, they should not be able to modify it. (or maybe only one of them)
There's an L4Re RTC service for this.
Could you elaborate a bit on this? I did see the RTC driver, which seems to work as a multiplexer. But I didn't see how I can limit read/write access with it. (The documentation said there are no config options.) Or is this modeled via capabilities?
From what I read, the capabilities give access to the server/device they point to.
But how would the server know (without configuration) if the client is allowed to write or if it's read-only? (unless there are separate capabilities)
Thanks again for help,
Andreas _______________________________________________ l4-hackers mailing list -- l4-hackers@os.inf.tu-dresden.de To unsubscribe send an email to l4-hackers-leave@os.inf.tu-dresden.de