[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 10/20] acpi/hvmloader: Provide address of acpi_info as an argument to ACPI code
Some users of ACPI builder may be building tables in virtual address space. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> --- tools/firmware/hvmloader/acpi/acpi2_0.h | 4 ++++ tools/firmware/hvmloader/acpi/build.c | 3 +-- tools/firmware/hvmloader/config.h | 3 +-- tools/firmware/hvmloader/util.c | 1 + 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/firmware/hvmloader/acpi/acpi2_0.h b/tools/firmware/hvmloader/acpi/acpi2_0.h index cf707b8..0bfd3ed 100644 --- a/tools/firmware/hvmloader/acpi/acpi2_0.h +++ b/tools/firmware/hvmloader/acpi/acpi2_0.h @@ -306,6 +306,9 @@ struct acpi_20_waet { #define ACPI_TIS_HDR_ADDRESS 0xFED40F00UL +/* NB. ACPI_INFO_PHYSICAL_ADDRESS *MUST* match definition in acpi/dsdt.asl! */ +#define ACPI_INFO_PHYSICAL_ADDRESS 0xFC000000UL + /* * Multiple APIC Flags. */ @@ -504,6 +507,7 @@ struct acpi_config { int apic_mode; struct acpi_numa numa; uint16_t *tis_hdr; + void *acpi_info_page; }; void acpi_build_tables(struct acpi_config *config, unsigned int physical); diff --git a/tools/firmware/hvmloader/acpi/build.c b/tools/firmware/hvmloader/acpi/build.c index 2bf89e4..991a73f 100644 --- a/tools/firmware/hvmloader/acpi/build.c +++ b/tools/firmware/hvmloader/acpi/build.c @@ -589,8 +589,7 @@ void acpi_build_tables(struct acpi_config *config, unsigned int physical) if ( !new_vm_gid(config) ) goto oom; - memcpy((struct acpi_info *)ACPI_INFO_PHYSICAL_ADDRESS, - &config->acpi_info, + memcpy(config->acpi_info_page, &config->acpi_info, sizeof(config->acpi_info)); return; diff --git a/tools/firmware/hvmloader/config.h b/tools/firmware/hvmloader/config.h index b838cf9..6253155 100644 --- a/tools/firmware/hvmloader/config.h +++ b/tools/firmware/hvmloader/config.h @@ -65,8 +65,7 @@ extern uint64_t pci_hi_mem_start, pci_hi_mem_end; #define HVMLOADER_PHYSICAL_ADDRESS 0x00100000 /* Special BIOS mappings, etc. are allocated from here upwards... */ #define RESERVED_MEMBASE 0xFC000000 -/* NB. ACPI_INFO_PHYSICAL_ADDRESS *MUST* match definition in acpi/dsdt.asl! */ -#define ACPI_INFO_PHYSICAL_ADDRESS 0xFC000000 + #define RESERVED_MEMORY_DYNAMIC_START 0xFC001000 #define RESERVED_MEMORY_DYNAMIC_END 0xFE000000 /* diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c index c2145f6..d099adb 100644 --- a/tools/firmware/hvmloader/util.c +++ b/tools/firmware/hvmloader/util.c @@ -925,6 +925,7 @@ void hvmloader_acpi_build_tables(struct acpi_config *config, config->numa.vmemrange = vmemrange; config->tis_hdr = (uint16_t *)ACPI_TIS_HDR_ADDRESS; + config->acpi_info_page = (void *)ACPI_INFO_PHYSICAL_ADDRESS; acpi_build_tables(config, physical); -- 2.4.3 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |