On 14/06/2018 12:53, Samuel Ortiz wrote:
- the ARM virt machine type is not a "virtual hardware platform". It
has PL011 serial, PL031 RTC, PL061 GPIO controller, a generic PCIe bridge, fw_cfg for the firmware to get data from QEMU, and emulated flash. The idea behind the ARM virt machine type is simply to make everything discoverable via device tree; the "virtualness" of it is simply that the device tree is provided by QEMU and not embedded into something like U-Boot or Linux.
Yes, we're aware of that. It's also one of the very few ARM machine type that does not map to an existing SoC. On that topic, one question: Would you be accepting patches for optionally making the ARM virt machine discoverable through ACPI only? Booting an ARM64 kernel on top of that should work in theory at least.
I'm not the maintainer of the ARM virt machine, so I don't know even what the hurdles are. :)
As you probably know, the ARM virt machine is already providing ACPI tables built by QEMU, in addition to the device tree. It includes the UART, flash, virtio-mmio devices, GPIO, but for some reason not the RTC which is only included in the device tree. Probably because it's only meant to be used via the UEFI runtime services, but that's just a guess.