This makes the feature fully functional.
https://bugzilla.redhat.com/show_bug.cgi?id=1571078
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
src/qemu/qemu_command.c | 12 ++++++++++++
tests/qemuxml2argvdata/pseries-features.args | 3 ++-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 5cd6d44a88..748b596f63 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -7265,6 +7265,18 @@ qemuBuildMachineCommandLine(virCommandPtr cmd,
virBufferAsprintf(&buf, ",resize-hpt=%s", str);
}
+
+ if (def->hpt_maxpagesize > 0) {
+ if (!virQEMUCapsGet(qemuCaps,
QEMU_CAPS_MACHINE_PSERIES_CAP_HPT_MAX_PAGE_SIZE)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("Configuring the page size for HPT guests "
+ "is not supported by this QEMU binary"));
+ goto cleanup;
+ }
+
+ virBufferAsprintf(&buf, ",cap-hpt-max-page-size=%lluk",
+ def->hpt_maxpagesize);
+ }
}
if (cpu && cpu->model &&
diff --git a/tests/qemuxml2argvdata/pseries-features.args
b/tests/qemuxml2argvdata/pseries-features.args
index f5c1959cca..12c14715c6 100644
--- a/tests/qemuxml2argvdata/pseries-features.args
+++ b/tests/qemuxml2argvdata/pseries-features.args
@@ -7,7 +7,8 @@ QEMU_AUDIO_DRV=none \
/usr/bin/qemu-system-ppc64 \
-name guest \
-S \
--machine pseries,accel=tcg,usb=off,dump-guest-core=off,resize-hpt=required \
+-machine pseries,accel=tcg,usb=off,dump-guest-core=off,resize-hpt=required,\
+cap-hpt-max-page-size=1048576k \
-m 512 \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \
--
2.17.1