IASL stores it's revision in each table header it generates. That's a problem since guests see a change each time they move between hypervisors. We generally fill our own info for tables, but we forgot to do this for the built-in DSDT.
Signed-off-by: Michael S. Tsirkin mst@redhat.com --- src/fw/acpi.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/fw/acpi.c b/src/fw/acpi.c index c29425c..0e3e3ad 100644 --- a/src/fw/acpi.c +++ b/src/fw/acpi.c @@ -689,13 +689,16 @@ acpi_setup(void)
if (CONFIG_ACPI_DSDT && fadt && !fadt->dsdt) { /* default DSDT */ - void *dsdt = malloc_high(sizeof(AmlCode)); + struct acpi_table_header *dsdt = malloc_high(sizeof(AmlCode)); if (!dsdt) { warn_noalloc(); return; } memcpy(dsdt, AmlCode, sizeof(AmlCode)); fill_dsdt(fadt, dsdt); + /* Strip out compiler-generated header if any */ + memset(dsdt, 0, sizeof *dsdt); + build_header(dsdt, DSDT_SIGNATURE, sizeof(AmlCode), 1); }
// Build final rsdt table
On Thu, Oct 03, 2013 at 04:06:24PM +0300, Michael S. Tsirkin wrote:
IASL stores it's revision in each table header it generates. That's a problem since guests see a change each time they move between hypervisors. We generally fill our own info for tables, but we forgot to do this for the built-in DSDT.
It's fine with me. There will be a guest visible change in clearing it too though.
-Kevin
On Wed, Oct 09, 2013 at 08:33:40PM -0400, Kevin O'Connor wrote:
On Thu, Oct 03, 2013 at 04:06:24PM +0300, Michael S. Tsirkin wrote:
IASL stores it's revision in each table header it generates. That's a problem since guests see a change each time they move between hypervisors. We generally fill our own info for tables, but we forgot to do this for the built-in DSDT.
It's fine with me. There will be a guest visible change in clearing it too though.
-Kevin
Right, but what can one do? Make it a build option?
On Wed, Oct 09, 2013 at 08:33:40PM -0400, Kevin O'Connor wrote:
On Thu, Oct 03, 2013 at 04:06:24PM +0300, Michael S. Tsirkin wrote:
IASL stores it's revision in each table header it generates. That's a problem since guests see a change each time they move between hypervisors. We generally fill our own info for tables, but we forgot to do this for the built-in DSDT.
It's fine with me. There will be a guest visible change in clearing it too though.
-Kevin
Ping. Let's apply this?
On Thu, Nov 14, 2013 at 01:39:30PM +0200, Michael S. Tsirkin wrote:
On Wed, Oct 09, 2013 at 08:33:40PM -0400, Kevin O'Connor wrote:
On Thu, Oct 03, 2013 at 04:06:24PM +0300, Michael S. Tsirkin wrote:
IASL stores it's revision in each table header it generates. That's a problem since guests see a change each time they move between hypervisors. We generally fill our own info for tables, but we forgot to do this for the built-in DSDT.
It's fine with me. There will be a guest visible change in clearing it too though.
-Kevin
Ping. Let's apply this?
Hi Michael,
I applied your patch.
Thanks, -Kevin