mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-10 02:54:58 -06:00
acpi_table_add(): accept QemuOpts and parse it with OptsVisitor
As one consequence, strtok() -- which modifies its argument -- is replaced with g_strsplit(). Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Anthony Liguori <aliguori@us.ibm.com> Message-id: 1363821803-3380-6-git-send-email-lersek@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
8ccbad5c7b
commit
0c764a9dfc
6 changed files with 98 additions and 63 deletions
|
@ -51,6 +51,7 @@
|
|||
#include "exec/address-spaces.h"
|
||||
#include "sysemu/arch_init.h"
|
||||
#include "qemu/bitmap.h"
|
||||
#include "qemu/config-file.h"
|
||||
|
||||
/* debug PC/ISA interrupts */
|
||||
//#define DEBUG_IRQ
|
||||
|
@ -889,6 +890,7 @@ void pc_cpus_init(const char *cpu_model)
|
|||
void pc_acpi_init(const char *default_dsdt)
|
||||
{
|
||||
char *filename = NULL, *arg = NULL;
|
||||
QemuOpts *opts;
|
||||
|
||||
if (acpi_tables != NULL) {
|
||||
/* manually set via -acpitable, leave it alone */
|
||||
|
@ -902,7 +904,12 @@ void pc_acpi_init(const char *default_dsdt)
|
|||
}
|
||||
|
||||
arg = g_strdup_printf("file=%s", filename);
|
||||
if (acpi_table_add(arg) != 0) {
|
||||
|
||||
/* creates a deep copy of "arg" */
|
||||
opts = qemu_opts_parse(qemu_find_opts("acpi"), arg, 0);
|
||||
g_assert(opts != NULL);
|
||||
|
||||
if (acpi_table_add(opts) != 0) {
|
||||
fprintf(stderr, "WARNING: failed to load %s\n", filename);
|
||||
}
|
||||
g_free(arg);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue