summaryrefslogtreecommitdiff
path: root/hw/pc.c
diff options
context:
space:
mode:
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2009-02-27 20:12:36 +0000
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2009-02-27 20:12:36 +0000
commit8a92ea2f2c7b3e185ef6f4d8d3c376b752275ec7 (patch)
tree5697ae67cc99b9478efaa73725b1cbf5e9a79edf /hw/pc.c
parent680c30692dc9e8f6d63ad0eb6ddb2a9ace0503cf (diff)
downloadqemu-8a92ea2f2c7b3e185ef6f4d8d3c376b752275ec7.tar.gz
qemu-8a92ea2f2c7b3e185ef6f4d8d3c376b752275ec7.tar.bz2
qemu-8a92ea2f2c7b3e185ef6f4d8d3c376b752275ec7.zip
Allow additions of ACPI tables from command line (Gleb Natapov)
This is needed to dynamically add SLIC tables with Windows activation keys. Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6650 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/pc.c')
-rw-r--r--hw/pc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/pc.c b/hw/pc.c
index 57ba803fe6..3849390702 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -50,9 +50,13 @@
/* Leave a chunk of memory at the top of RAM for the BIOS ACPI tables. */
#define ACPI_DATA_SIZE 0x10000
#define BIOS_CFG_IOPORT 0x510
+#define FW_CFG_ACPI_TABLES (FW_CFG_ARCH_LOCAL + 0)
#define MAX_IDE_BUS 2
+extern uint8_t *acpi_tables;
+extern size_t acpi_tables_len;
+
static fdctrl_t *floppy_controller;
static RTCState *rtc_state;
static PITState *pit;
@@ -438,6 +442,7 @@ static void bochs_bios_init(void)
fw_cfg = fw_cfg_init(BIOS_CFG_IOPORT, BIOS_CFG_IOPORT + 1, 0, 0);
fw_cfg_add_i32(fw_cfg, FW_CFG_ID, 1);
fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size);
+ fw_cfg_add_bytes(fw_cfg, FW_CFG_ACPI_TABLES, acpi_tables, acpi_tables_len);
}
/* Generate an initial boot sector which sets state and jump to