From: "Andreas Färber" <afaerber@suse.de>
To: qemu-devel@nongnu.org
Cc: "Igor Mammedov" <imammedo@redhat.com>,
"Marcelo Tosatti" <mtosatti@redhat.com>,
"Andreas Färber" <afaerber@suse.de>,
"Gleb Natapov" <gleb@redhat.com>,
"open list:Overall" <kvm@vger.kernel.org>
Subject: [Qemu-devel] [PATCH 01/29] cpu: Make kvm-stub.o available outside softmmu
Date: Thu, 2 May 2013 15:35:27 +0200 [thread overview]
Message-ID: <1367501755-32272-2-git-send-email-afaerber@suse.de> (raw)
In-Reply-To: <1367501755-32272-1-git-send-email-afaerber@suse.de>
From: Igor Mammedov <imammedo@redhat.com>
It will provide stubs for *-user targets once softmmu-specific calls
are attempted from common CPU code.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
Makefile.target | 14 +++++++-------
include/sysemu/kvm.h | 4 ++--
kvm-stub.c | 7 ++++++-
3 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index 6583b05..ce4391f 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -60,6 +60,12 @@ all: $(PROGS) stap
# Dummy command so that make thinks it has done something
@true
+CONFIG_NO_PCI = $(if $(subst n,,$(CONFIG_PCI)),n,y)
+CONFIG_NO_KVM = $(if $(subst n,,$(CONFIG_KVM)),n,y)
+CONFIG_NO_XEN = $(if $(subst n,,$(CONFIG_XEN)),n,y)
+CONFIG_NO_GET_MEMORY_MAPPING = $(if $(subst n,,$(CONFIG_HAVE_GET_MEMORY_MAPPING)),n,y)
+CONFIG_NO_CORE_DUMP = $(if $(subst n,,$(CONFIG_HAVE_CORE_DUMP)),n,y)
+
#########################################################
# cpu emulator library
obj-y = exec.o translate-all.o cpu-exec.o
@@ -70,6 +76,7 @@ obj-y += fpu/softfloat.o
obj-y += target-$(TARGET_BASE_ARCH)/
obj-y += disas.o
obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
+obj-$(CONFIG_NO_KVM) += kvm-stub.o
#########################################################
# Linux user emulator target
@@ -98,18 +105,11 @@ endif #CONFIG_BSD_USER
#########################################################
# System emulator target
ifdef CONFIG_SOFTMMU
-CONFIG_NO_PCI = $(if $(subst n,,$(CONFIG_PCI)),n,y)
-CONFIG_NO_KVM = $(if $(subst n,,$(CONFIG_KVM)),n,y)
-CONFIG_NO_XEN = $(if $(subst n,,$(CONFIG_XEN)),n,y)
-CONFIG_NO_GET_MEMORY_MAPPING = $(if $(subst n,,$(CONFIG_HAVE_GET_MEMORY_MAPPING)),n,y)
-CONFIG_NO_CORE_DUMP = $(if $(subst n,,$(CONFIG_HAVE_CORE_DUMP)),n,y)
-
obj-y += arch_init.o cpus.o monitor.o gdbstub.o balloon.o ioport.o
obj-y += qtest.o
obj-y += hw/
obj-$(CONFIG_FDT) += device_tree.o
obj-$(CONFIG_KVM) += kvm-all.o
-obj-$(CONFIG_NO_KVM) += kvm-stub.o
obj-y += memory.o savevm.o cputlb.o
obj-$(CONFIG_HAVE_GET_MEMORY_MAPPING) += memory_mapping.o
obj-$(CONFIG_HAVE_CORE_DUMP) += dump.o
diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
index 75bd7d9..2bc1f6b 100644
--- a/include/sysemu/kvm.h
+++ b/include/sysemu/kvm.h
@@ -144,10 +144,10 @@ int kvm_cpu_exec(CPUArchState *env);
#if !defined(CONFIG_USER_ONLY)
void *kvm_vmalloc(ram_addr_t size);
void *kvm_arch_vmalloc(ram_addr_t size);
-void kvm_setup_guest_memory(void *start, size_t size);
+#endif
+void kvm_setup_guest_memory(void *start, size_t size);
void kvm_flush_coalesced_mmio_buffer(void);
-#endif
int kvm_insert_breakpoint(CPUArchState *current_env, target_ulong addr,
target_ulong len, int type);
diff --git a/kvm-stub.c b/kvm-stub.c
index 5f52186..b228378 100644
--- a/kvm-stub.c
+++ b/kvm-stub.c
@@ -12,10 +12,13 @@
#include "qemu-common.h"
#include "hw/hw.h"
-#include "hw/pci/msi.h"
#include "cpu.h"
#include "sysemu/kvm.h"
+#ifndef CONFIG_USER_ONLY
+#include "hw/pci/msi.h"
+#endif
+
KVMState *kvm_state;
bool kvm_kernel_irqchip;
bool kvm_async_interrupts_allowed;
@@ -111,6 +114,7 @@ int kvm_on_sigbus(int code, void *addr)
return 1;
}
+#ifndef CONFIG_USER_ONLY
int kvm_irqchip_add_msi_route(KVMState *s, MSIMessage msg)
{
return -ENOSYS;
@@ -134,3 +138,4 @@ int kvm_irqchip_remove_irqfd_notifier(KVMState *s, EventNotifier *n, int virq)
{
return -ENOSYS;
}
+#endif
--
1.8.1.4
next prev parent reply other threads:[~2013-05-02 13:36 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-02 13:35 [Qemu-devel] [PULL for-1.5 00/29] QOM CPUState patch queue 2013-05-02 Andreas Färber
2013-05-02 13:35 ` Andreas Färber [this message]
2013-05-02 13:35 ` [Qemu-devel] [PATCH 02/29] cpu: Call cpu_synchronize_post_init() from DeviceClass::realize() Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 03/29] cpu: Introduce cpu_resume(), for single CPU Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 04/29] cpu: Resume CPU from DeviceClass::realize() if hot-plugged Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 05/29] cpu: Introduce CPU hot-plug notifier Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 06/29] pc: Update rtc_cmos on CPU hot-plug Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 07/29] cpu: Introduce get_arch_id() method and override it for X86CPU Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 08/29] cpu: Add qemu_for_each_cpu() Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 09/29] cpus: Use qemu_for_each_cpu() in TCG thread Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 10/29] cpu: Add helper cpu_exists(), to check if CPU with specified id exists Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 11/29] acpi_piix4: Add infrastructure to send CPU hot-plug GPE to guest Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 12/29] target-i386: Introduce feat2prop() for CPU properties Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 13/29] target-i386: Introduce apic-id CPU property Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 14/29] target-i386: Do not allow to set apic-id once CPU is realized Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 15/29] target-i386: Replace MSI_SPACE_SIZE with APIC_SPACE_SIZE Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 16/29] kvmvapic: Make dependency on sysbus.h explicit Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 17/29] cpu: Move cpu_write_elfXX_note() functions to CPUState Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 18/29] target-i386: Introduce ICC bus/device/bridge Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 19/29] target-i386: Attach ICC bus to CPU on its creation Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 20/29] target-i386: Move APIC to ICC bus Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 21/29] Add hot_add_cpu hook to QEMUMachine Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 22/29] QMP: Add cpu-add command Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 23/29] pc: Implement QEMUMachine::hot_add_cpu hook Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 24/29] target-i386: Group together level, xlevel, xlevel2 fields Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 25/29] target-i386/kvm.c: Code formatting changes Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 26/29] target-i386: Break CPUID feature definition lines Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 27/29] target-i386: Replace cpuid_*features fields with a feature word array Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 28/29] cpus: Fix pausing TCG CPUs while in vCPU thread Andreas Färber
2013-05-02 13:35 ` [Qemu-devel] [PATCH 29/29] Drop redundant resume_all_vcpus() from main() Andreas Färber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1367501755-32272-2-git-send-email-afaerber@suse.de \
--to=afaerber@suse.de \
--cc=gleb@redhat.com \
--cc=imammedo@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).