On Tue, Jun 21, 2016 at 06:09:34PM +0100, Peter Maydell wrote: > Since the virt board model will never create a CPU which is > pre-ARMv7, we know that our minimum page size is 4K and can > set minimum_page_bits accordingly, for improved performance. > > Note that this is a migration compatibility break. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > hw/arm/virt.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index c5c125e..f9b51aa 100644 > --- a/hw/arm/virt.c > +++ b/hw/arm/virt.c > @@ -1440,6 +1440,8 @@ static void virt_machine_class_init(ObjectClass *oc, > void *data) > mc->block_default_type = IF_VIRTIO; > mc->no_cdrom = 1; > mc->pci_allow_0_address = true; > + /* We know we will never create a pre-ARMv7 CPU which needs 1K pages */ > + mc->minimum_page_bits = 12; > }
As this breaks migration, then I guess we also need @@ -1507,5 +1510,6 @@ static void virt_machine_2_6_options(MachineClass *mc) { virt_machine_2_7_options(mc); SET_MACHINE_COMPAT(mc, VIRT_COMPAT_2_6); + mc->minimum_page_bits = 10; } DEFINE_VIRT_MACHINE(2, 6) > > static const TypeInfo virt_machine_info = { > -- > 1.9.1 > >