+/* qemu microvm supports 8 virtio-mmio devices */ +static u64 devs[8];
It would be preferable to avoid using global variables for temporary state. Because of all the weird linker rules and segment rules, the use of global variables is conceptually harder in SeaBIOS.
If I understand this patch series correctly, the ultimate result is an acpi parser that walks the dsdt and calls virtio_mmio_register(). Could that code directly launch the appropriate hardware registration directly?
With the initial series using bootorder I had the problem that virtio-scsi controllers show up multiple times in case there are multiple scsi devices connected to it, so I had to weed out duplicates somehow. This is where virtio_mmio_register() comes from.
But, yes, when using acpi for device discovery this is not needed any more. I'll drop it for the next revision.
take care, Gerd