[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2] x86/pvh: Do not add DSDT and FACS to PVH dom0 XSDT
These tables are pointed to from FADT. Adding them will result in duplicate entries in the guest's tables. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> --- Changes in v2: * Merge (pvh_acpi_table_allowed(sig) && pvh_acpi_table_in_xsdt(sig)) into a single call * Make this call return a boolean expression as opposed to explicit true/false xen/arch/x86/hvm/dom0_build.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c index a67071c..cfcf461 100644 --- a/xen/arch/x86/hvm/dom0_build.c +++ b/xen/arch/x86/hvm/dom0_build.c @@ -818,6 +818,17 @@ static bool __init pvh_acpi_table_allowed(const char *sig) return true; } +static bool __init pvh_acpi_xsdt_table_allowed(const char *sig) +{ + /* + * DSDT and FACS are pointed to from FADT and thus don't belong + * in XSDT. + */ + return pvh_acpi_table_allowed(sig) && + strncmp(sig, ACPI_SIG_DSDT, ACPI_NAME_SIZE) && + strncmp(sig, ACPI_SIG_FACS, ACPI_NAME_SIZE); +} + static int __init pvh_setup_acpi_xsdt(struct domain *d, paddr_t madt_addr, paddr_t *addr) { @@ -841,7 +852,7 @@ static int __init pvh_setup_acpi_xsdt(struct domain *d, paddr_t madt_addr, { const char *sig = acpi_gbl_root_table_list.tables[i].signature.ascii; - if ( pvh_acpi_table_allowed(sig) ) + if ( pvh_acpi_xsdt_table_allowed(sig) ) num_tables++; } @@ -888,7 +899,7 @@ static int __init pvh_setup_acpi_xsdt(struct domain *d, paddr_t madt_addr, { const char *sig = acpi_gbl_root_table_list.tables[i].signature.ascii; - if ( pvh_acpi_table_allowed(sig) ) + if ( pvh_acpi_xsdt_table_allowed(sig) ) xsdt->table_offset_entry[j++] = acpi_gbl_root_table_list.tables[i].address; } -- 1.8.3.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |