[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 16/33] acpi: filter based on CONFIG_ACPI_X86 rather t
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 16/33] acpi: filter based on CONFIG_ACPI_X86 rather than TARGET |
Date: |
Wed, 11 Jan 2017 20:35:10 +0100 |
Copy the mechanism of hw/smbios/smbios-stub.c to implement an ACPI-stub
instead, so that -acpitable can be later extended to ARM.
Signed-off-by: Paolo Bonzini <address@hidden>
---
arch_init.c | 13 -------------
hw/Makefile.objs | 2 +-
hw/acpi/Makefile.objs | 7 ++++++-
hw/acpi/acpi-stub.c | 29 +++++++++++++++++++++++++++++
include/sysemu/arch_init.h | 1 -
vl.c | 3 ++-
6 files changed, 38 insertions(+), 17 deletions(-)
create mode 100644 hw/acpi/acpi-stub.c
diff --git a/arch_init.c b/arch_init.c
index 34e7694..6c4e287 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -234,19 +234,6 @@ void audio_init(void)
}
}
-void do_acpitable_option(const QemuOpts *opts)
-{
-#ifdef TARGET_I386
- Error *err = NULL;
-
- acpi_table_add(opts, &err);
- if (err) {
- error_reportf_err(err, "Wrong acpi table provided: ");
- exit(1);
- }
-#endif
-}
-
int kvm_available(void)
{
#ifdef CONFIG_KVM
diff --git a/hw/Makefile.objs b/hw/Makefile.objs
index 7be399e..a2c61f6 100644
--- a/hw/Makefile.objs
+++ b/hw/Makefile.objs
@@ -1,5 +1,5 @@
devices-dirs-$(call land, $(CONFIG_VIRTIO),$(call
land,$(CONFIG_VIRTFS),$(CONFIG_PCI))) += 9pfs/
-devices-dirs-$(CONFIG_ACPI) += acpi/
+devices-dirs-$(CONFIG_SOFTMMU) += acpi/
devices-dirs-$(CONFIG_SOFTMMU) += adc/
devices-dirs-$(CONFIG_SOFTMMU) += audio/
devices-dirs-$(CONFIG_SOFTMMU) += block/
diff --git a/hw/acpi/Makefile.objs b/hw/acpi/Makefile.objs
index dfc8229..6acf798 100644
--- a/hw/acpi/Makefile.objs
+++ b/hw/acpi/Makefile.objs
@@ -1,9 +1,11 @@
+ifeq ($(CONFIG_ACPI),y)
common-obj-$(CONFIG_ACPI_X86) += core.o piix4.o pcihp.o
common-obj-$(CONFIG_ACPI_X86_ICH) += ich9.o tco.o
common-obj-$(CONFIG_ACPI_CPU_HOTPLUG) += cpu_hotplug.o
common-obj-$(CONFIG_ACPI_MEMORY_HOTPLUG) += memory_hotplug.o
common-obj-$(CONFIG_ACPI_CPU_HOTPLUG) += cpu.o
common-obj-$(CONFIG_ACPI_NVDIMM) += nvdimm.o
+common-obj-$(call lnot,$(CONFIG_ACPI_X86)) += acpi-stub.o
common-obj-y += acpi_interface.o
common-obj-y += bios-linker-loader.o
@@ -11,4 +13,7 @@ common-obj-y += aml-build.o
common-obj-$(CONFIG_IPMI) += ipmi.o
common-obj-$(call lnot,$(CONFIG_IPMI)) += ipmi-stub.o
-common-obj-$(CONFIG_ALL) += ipmi-stub.o
+else
+common-obj-y += acpi-stub.o
+endif
+common-obj-$(CONFIG_ALL) += acpi-stub.o ipmi-stub.o
diff --git a/hw/acpi/acpi-stub.c b/hw/acpi/acpi-stub.c
new file mode 100644
index 0000000..26bd22f
--- /dev/null
+++ b/hw/acpi/acpi-stub.c
@@ -0,0 +1,29 @@
+/*
+ * ACPI stubs for platforms that don't support ACPI.
+ *
+ * Copyright (c) 2006 Fabrice Bellard
+ * Copyright (c) 2016 Red Hat, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "qemu/osdep.h"
+#include "qapi/qmp/qerror.h"
+#include "qmp-commands.h"
+#include "hw/acpi/acpi.h"
+
+void acpi_table_add(const QemuOpts *opts, Error **errp)
+{
+ error_setg(errp, QERR_UNSUPPORTED);
+}
diff --git a/include/sysemu/arch_init.h b/include/sysemu/arch_init.h
index 88dcf77..20b01e3 100644
--- a/include/sysemu/arch_init.h
+++ b/include/sysemu/arch_init.h
@@ -28,7 +28,6 @@ enum {
extern const uint32_t arch_type;
void select_soundhw(const char *optarg);
-void do_acpitable_option(const QemuOpts *opts);
void audio_init(void);
int kvm_available(void);
int xen_available(void);
diff --git a/vl.c b/vl.c
index 1a3ca96..99f6e7f 100644
--- a/vl.c
+++ b/vl.c
@@ -65,6 +65,7 @@ int main(int argc, char **argv)
#include "hw/bt.h"
#include "sysemu/watchdog.h"
#include "hw/smbios/smbios.h"
+#include "hw/acpi/acpi.h"
#include "hw/xen/xen.h"
#include "hw/qdev.h"
#include "hw/loader.h"
@@ -3662,7 +3663,7 @@ int main(int argc, char **argv, char **envp)
if (!opts) {
exit(1);
}
- do_acpitable_option(opts);
+ acpi_table_add(opts, &error_fatal);
break;
case QEMU_OPTION_smbios:
opts = qemu_opts_parse_noisily(qemu_find_opts("smbios"),
--
1.8.3.1
- [Qemu-devel] [PULL 07/33] stubs: move acpi stubs to hw/acpi, (continued)
- [Qemu-devel] [PULL 07/33] stubs: move acpi stubs to hw/acpi, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 08/33] stubs: remove unused stub for serial_hd, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 09/33] hw: move reset handlers from vl.c to hw/core, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 10/33] stubs: group stubs for user-mode emulation, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 14/33] build: remove --enable-colo/--disable-colo, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 12/33] stubs: move vhost stubs to stubs/vhost.o, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 13/33] event_notifier: cleanups around event_notifier_set_handler, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 11/33] stubs: group all monitor_fdset_* functions in a single file, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 15/33] stubs: remove stubs/kvm.c, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 17/33] target-i386: Correctly apply patch for syscall eflags.TF handling, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 16/33] acpi: filter based on CONFIG_ACPI_X86 rather than TARGET,
Paolo Bonzini <=
- [Qemu-devel] [PULL 18/33] pc: fix crash in rtc_set_memory() if initial cpu is marked as hotplugged, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 19/33] scsi-block: fix direction of BYTCHK test for VERIFY commands, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 20/33] serial: fix memory leak in serial exit, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 22/33] hxtool: emit Texinfo headings as @subsection, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 21/33] qemu-thread: fix qemu_thread_set_name() race in qemu_thread_create(), Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 23/33] x86: ioapic: add traces for ioapic, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 25/33] x86: ioapic: fix fail migration when irqchip=split, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 26/33] exec: Add missing rcu_read_unlock, Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 24/33] x86: ioapic: dump version for "info ioapic", Paolo Bonzini, 2017/01/11
- [Qemu-devel] [PULL 27/33] char: fix ctrl-a b not working, Paolo Bonzini, 2017/01/11