aboutsummaryrefslogtreecommitdiffstats
path: root/tools/firmware
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2011-04-12 13:46:49 +0100
committerIan Campbell <ian.campbell@citrix.com>2011-04-12 13:46:49 +0100
commit9134c2f6cf509fc559704d0e40943667eaf9f38f (patch)
treee39a1d7657d831a490b458b20d16bbb90a871865 /tools/firmware
parentd195595bc3704a03899b368f3bd10815dc77eb31 (diff)
downloadxen-9134c2f6cf509fc559704d0e40943667eaf9f38f.tar.gz
xen-9134c2f6cf509fc559704d0e40943667eaf9f38f.tar.bz2
xen-9134c2f6cf509fc559704d0e40943667eaf9f38f.zip
tools: hvmloader: Refactor ACPI table setup into struct bios_config
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'tools/firmware')
-rw-r--r--tools/firmware/hvmloader/config.h2
-rw-r--r--tools/firmware/hvmloader/hvmloader.c7
-rw-r--r--tools/firmware/hvmloader/rombios.c2
3 files changed, 8 insertions, 3 deletions
diff --git a/tools/firmware/hvmloader/config.h b/tools/firmware/hvmloader/config.h
index 4aa59a1509..de03f41744 100644
--- a/tools/firmware/hvmloader/config.h
+++ b/tools/firmware/hvmloader/config.h
@@ -34,6 +34,8 @@ struct bios_config {
void (*vm86_setup)(void);
void (*e820_setup)(void);
+
+ void (*acpi_build_tables)(unsigned int physical);
};
extern struct bios_config rombios_config;
diff --git a/tools/firmware/hvmloader/hvmloader.c b/tools/firmware/hvmloader/hvmloader.c
index 232941fd36..b04a1f817a 100644
--- a/tools/firmware/hvmloader/hvmloader.c
+++ b/tools/firmware/hvmloader/hvmloader.c
@@ -20,7 +20,6 @@
* Place - Suite 330, Boston, MA 02111-1307 USA.
*/
-#include "acpi/acpi2_0.h"
#include "util.h"
#include "hypercall.h"
#include "config.h"
@@ -431,8 +430,10 @@ int main(void)
.value = 1,
};
- printf("Loading ACPI ...\n");
- acpi_build_tables(bios->acpi_start);
+ if ( bios->acpi_build_tables ) {
+ printf("Loading ACPI ...\n");
+ bios->acpi_build_tables(bios->acpi_start);
+ }
hypercall_hvm_op(HVMOP_set_param, &p);
}
diff --git a/tools/firmware/hvmloader/rombios.c b/tools/firmware/hvmloader/rombios.c
index 688a2bfa49..ef584d325d 100644
--- a/tools/firmware/hvmloader/rombios.c
+++ b/tools/firmware/hvmloader/rombios.c
@@ -330,6 +330,8 @@ struct bios_config rombios_config = {
.vm86_setup = rombios_init_vm86_tss,
.e820_setup = rombios_setup_e820,
+
+ .acpi_build_tables = acpi_build_tables,
};
/*