From: Marek Marczykowski-Górecki Date: Sun, 15 Sep 2019 19:43:24 +0000 (+0200) Subject: libxl: add slic_table <-> acpi_firmware conversion X-Git-Tag: v5.9.0-rc1~315 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=668dc9fe8c95e919d028356f729404a5ad49e678;p=thirdparty%2Flibvirt.git libxl: add slic_table <-> acpi_firmware conversion This isn't exactly equivalent setting (acpi_firmware may point to non-SLIC ACPI table), but it's the most behavior preserving option. Signed-off-by: Marek Marczykowski-Górecki --- diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c index 3a41a4ad00..015f0aa620 100644 --- a/src/libxl/xen_xl.c +++ b/src/libxl/xen_xl.c @@ -134,6 +134,9 @@ xenParseXLOS(virConfPtr conf, virDomainDefPtr def, virCapsPtr caps) } } + if (xenConfigCopyStringOpt(conf, "acpi_firmware", &def->os.slic_table) < 0) + return -1; + #ifdef LIBXL_HAVE_BUILDINFO_KERNEL if (xenConfigCopyStringOpt(conf, "kernel", &def->os.kernel) < 0) return -1; @@ -1247,6 +1250,10 @@ xenFormatXLOS(virConfPtr conf, virDomainDefPtr def) return -1; } + if (def->os.slic_table && + xenConfigSetString(conf, "acpi_firmware", def->os.slic_table) < 0) + return -1; + #ifdef LIBXL_HAVE_BUILDINFO_KERNEL if (def->os.kernel && xenConfigSetString(conf, "kernel", def->os.kernel) < 0) diff --git a/tests/xlconfigdata/test-fullvirt-acpi-slic.cfg b/tests/xlconfigdata/test-fullvirt-acpi-slic.cfg new file mode 100644 index 0000000000..99b1726343 --- /dev/null +++ b/tests/xlconfigdata/test-fullvirt-acpi-slic.cfg @@ -0,0 +1,26 @@ +name = "XenGuest2" +uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809" +maxmem = 579 +memory = 394 +vcpus = 1 +pae = 1 +acpi = 1 +apic = 1 +viridian = 0 +rtc_timeoffset = 0 +localtime = 0 +on_poweroff = "destroy" +on_reboot = "restart" +on_crash = "restart" +device_model = "/usr/lib/xen/bin/qemu-system-i386" +sdl = 0 +vnc = 1 +vncunused = 1 +vnclisten = "127.0.0.1" +vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000" ] +parallel = "none" +serial = "none" +builder = "hvm" +acpi_firmware = "/sys/firmware/acpi/tables/SLIC" +boot = "d" +disk = [ "format=raw,vdev=hda,access=rw,backendtype=phy,target=/dev/HostVG/XenGuest2", "format=qcow2,vdev=hdb,access=rw,backendtype=qdisk,target=/var/lib/libvirt/images/XenGuest2-home", "format=raw,vdev=hdc,access=ro,backendtype=qdisk,devtype=cdrom,target=/root/boot.iso" ] diff --git a/tests/xlconfigdata/test-fullvirt-acpi-slic.xml b/tests/xlconfigdata/test-fullvirt-acpi-slic.xml new file mode 100644 index 0000000000..9727422f62 --- /dev/null +++ b/tests/xlconfigdata/test-fullvirt-acpi-slic.xml @@ -0,0 +1,63 @@ + + XenGuest2 + c7a5fdb2-cdaf-9455-926a-d65c16db1809 + 592896 + 403456 + 1 + + hvm + /usr/lib/xen/boot/hvmloader + + /sys/firmware/acpi/tables/SLIC
+
+ +
+ + + + + + + destroy + restart + restart + + /usr/lib/xen/bin/qemu-system-i386 + + + + +
+ + + + + +
+ + + + + + +
+ + + + + + +