]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
spapr_pci: Allow 2MiB and 16MiB IOMMU pagesizes by default
authorDavid Gibson <david@gibson.dropbear.id.au>
Fri, 5 Jul 2019 05:03:05 +0000 (15:03 +1000)
committerDavid Gibson <david@gibson.dropbear.id.au>
Wed, 21 Aug 2019 07:16:22 +0000 (17:16 +1000)
We've had the qemu and kernel KVM infrastructure to handle larger TCE
page sizes for a while, but forgot to update the defaults to actually
allow them.  This turns that change on.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/spapr.c
hw/ppc/spapr_pci.c

index 6587d9b559494f0763041fab691d1313b5d1595d..22a45c373761aebd81b5eb101a9b2994e8feffc9 100644 (file)
@@ -4445,8 +4445,14 @@ DEFINE_SPAPR_MACHINE(4_2, "4.2", true);
  */
 static void spapr_machine_4_1_class_options(MachineClass *mc)
 {
+    static GlobalProperty compat[] = {
+        /* Only allow 4kiB and 64kiB IOMMU pagesizes */
+        { TYPE_SPAPR_PCI_HOST_BRIDGE, "pgsz", "0x11000" },
+    };
+
     spapr_machine_4_2_class_options(mc);
     compat_props_add(mc->compat_props, hw_compat_4_1, hw_compat_4_1_len);
+    compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
 }
 
 DEFINE_SPAPR_MACHINE(4_1, "4.1", false);
index bf31fd854c546e77ba48d985fc36cb6c42cba505..4c5420c4656e12a3c8d6e60b7e13a0854848d72d 100644 (file)
@@ -2093,7 +2093,8 @@ static Property spapr_phb_properties[] = {
                        0x800000000000000ULL),
     DEFINE_PROP_BOOL("ddw", SpaprPhbState, ddw_enabled, true),
     DEFINE_PROP_UINT64("pgsz", SpaprPhbState, page_size_mask,
-                       (1ULL << 12) | (1ULL << 16)),
+                       (1ULL << 12) | (1ULL << 16)
+                       | (1ULL << 21) | (1ULL << 24)),
     DEFINE_PROP_UINT32("numa_node", SpaprPhbState, numa_node, -1),
     DEFINE_PROP_BOOL("pre-2.8-migration", SpaprPhbState,
                      pre_2_8_migration, false),