hvmloader, libxl: use the correct ACPI settings depending on device model
authorIgor Druzhinin <igor.druzhinin@citrix.com>
Fri, 1 Sep 2017 09:03:20 +0000 (11:03 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 1 Sep 2017 09:03:20 +0000 (11:03 +0200)
commit9e50d8adc9454ccbcd7b3b31e8f1abcc8a976b67
treeca841a55bf6efaff4fc86c956481b4b9bb1b5688
parentc286af54c7177c14180121b422d8df7281e547cb
hvmloader, libxl: use the correct ACPI settings depending on device model

We need to choose ACPI tables properly depending on the device
model version we are running. Previously, this decision was
made by BIOS type specific code in hvmloader, e.g. always load
QEMU traditional specific tables if it's ROMBIOS and always
load QEMU Xen specific tables if it's SeaBIOS.

This change saves this behavior (for compatibility) but adds
an additional way (xenstore key) to specify the correct
device model if we happen to run a non-default one. Toolstack
bit makes use of it.

The enforcement of BIOS type depending on QEMU version will
be lifted later when the rest of ROMBIOS compatibility fixes
are in place.

Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com>
Reviewed-by: Paul Durrant <paul.durrant@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
tools/firmware/hvmloader/ovmf.c
tools/firmware/hvmloader/rombios.c
tools/firmware/hvmloader/seabios.c
tools/firmware/hvmloader/util.c
tools/firmware/hvmloader/util.h
tools/libxl/libxl_create.c
xen/include/public/hvm/ioreq.h