On Mon, Nov 26, 2018 at 12:29:45PM +0100, Andrea Bolognani wrote:
On Mon, 2018-11-26 at 11:23 +0100, Kashyap Chamarthy wrote:
> Hi
>
> I see in the following change, Dan added the default machine types for
> all architectures:
>
>
https://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=26cfb1a3
> ("qemu: ensure default machine types don't change if QEMU
changes")
>
> What caught my eye was the default machine type chosen ("integratorcp")
> for ARM / AAarch64:
>
> + [VIR_ARCH_ARMV7L] = "integratorcp",
> + [VIR_ARCH_ARMV7B] = "integratorcp",
> +
> + [VIR_ARCH_AARCH64] = "integratorcp",
>
> I thought the default for AArch64 / ARM would be 'virt'---as I learnt
> that upstream QEMU explicitly designed the 'virt' board for ARM /
> AArch64-based machine machines (because it supports PCI, 'virtio', has
> decent RAM limits, etc.)
>
> So, shouldn't the default for the above be changed from
"integratorcp"
> to "virt"?
The entries in the table are supposed to reflect the (historical)
QEMU default; in the case of Arm architectures, you're correct that
integratorcp is not the right value, but it should *not* be virt:
Right, I keep remembering this on-and-off---there is no default machine
type for ARM architectures, and that it depends on the CPU model
configured.
QEMU simply has no default for those architectures, so we should set
the entires above to NULL and let libvirt go through the usual
Can send that trivial patch, if someone is already not on it.
process of looking for QEMU's default machine type, not finding
one,
and falling back to using the first entry in the list (on my system
that would be akita).
Of course that's not really what users expect, so any application
paying more than lip-service to Arm support will already be asking
for a virt machine explicitly, and a properly-built application will
be looking for that information in libosinfo instead - and getting
back virt as the recommendation.
Yep, noted.
--
/kashyap