mirror of https://github.com/xemu-project/xemu.git
cpu: Make kvm-stub.o available outside softmmu
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>
This commit is contained in:
parent
e9016ee2bd
commit
c4cfef5e8a
|
@ -60,6 +60,12 @@ all: $(PROGS) stap
|
||||||
# Dummy command so that make thinks it has done something
|
# Dummy command so that make thinks it has done something
|
||||||
@true
|
@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
|
# cpu emulator library
|
||||||
obj-y = exec.o translate-all.o cpu-exec.o
|
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 += target-$(TARGET_BASE_ARCH)/
|
||||||
obj-y += disas.o
|
obj-y += disas.o
|
||||||
obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
|
obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
|
||||||
|
obj-$(CONFIG_NO_KVM) += kvm-stub.o
|
||||||
|
|
||||||
#########################################################
|
#########################################################
|
||||||
# Linux user emulator target
|
# Linux user emulator target
|
||||||
|
@ -98,18 +105,11 @@ endif #CONFIG_BSD_USER
|
||||||
#########################################################
|
#########################################################
|
||||||
# System emulator target
|
# System emulator target
|
||||||
ifdef CONFIG_SOFTMMU
|
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 += arch_init.o cpus.o monitor.o gdbstub.o balloon.o ioport.o
|
||||||
obj-y += qtest.o
|
obj-y += qtest.o
|
||||||
obj-y += hw/
|
obj-y += hw/
|
||||||
obj-$(CONFIG_FDT) += device_tree.o
|
obj-$(CONFIG_FDT) += device_tree.o
|
||||||
obj-$(CONFIG_KVM) += kvm-all.o
|
obj-$(CONFIG_KVM) += kvm-all.o
|
||||||
obj-$(CONFIG_NO_KVM) += kvm-stub.o
|
|
||||||
obj-y += memory.o savevm.o cputlb.o
|
obj-y += memory.o savevm.o cputlb.o
|
||||||
obj-$(CONFIG_HAVE_GET_MEMORY_MAPPING) += memory_mapping.o
|
obj-$(CONFIG_HAVE_GET_MEMORY_MAPPING) += memory_mapping.o
|
||||||
obj-$(CONFIG_HAVE_CORE_DUMP) += dump.o
|
obj-$(CONFIG_HAVE_CORE_DUMP) += dump.o
|
||||||
|
|
|
@ -144,11 +144,11 @@ int kvm_cpu_exec(CPUArchState *env);
|
||||||
#if !defined(CONFIG_USER_ONLY)
|
#if !defined(CONFIG_USER_ONLY)
|
||||||
void *kvm_vmalloc(ram_addr_t size);
|
void *kvm_vmalloc(ram_addr_t size);
|
||||||
void *kvm_arch_vmalloc(ram_addr_t size);
|
void *kvm_arch_vmalloc(ram_addr_t size);
|
||||||
void kvm_setup_guest_memory(void *start, size_t size);
|
|
||||||
|
|
||||||
void kvm_flush_coalesced_mmio_buffer(void);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void kvm_setup_guest_memory(void *start, size_t size);
|
||||||
|
void kvm_flush_coalesced_mmio_buffer(void);
|
||||||
|
|
||||||
int kvm_insert_breakpoint(CPUArchState *current_env, target_ulong addr,
|
int kvm_insert_breakpoint(CPUArchState *current_env, target_ulong addr,
|
||||||
target_ulong len, int type);
|
target_ulong len, int type);
|
||||||
int kvm_remove_breakpoint(CPUArchState *current_env, target_ulong addr,
|
int kvm_remove_breakpoint(CPUArchState *current_env, target_ulong addr,
|
||||||
|
|
|
@ -12,10 +12,13 @@
|
||||||
|
|
||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
#include "hw/pci/msi.h"
|
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "sysemu/kvm.h"
|
#include "sysemu/kvm.h"
|
||||||
|
|
||||||
|
#ifndef CONFIG_USER_ONLY
|
||||||
|
#include "hw/pci/msi.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
KVMState *kvm_state;
|
KVMState *kvm_state;
|
||||||
bool kvm_kernel_irqchip;
|
bool kvm_kernel_irqchip;
|
||||||
bool kvm_async_interrupts_allowed;
|
bool kvm_async_interrupts_allowed;
|
||||||
|
@ -111,6 +114,7 @@ int kvm_on_sigbus(int code, void *addr)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef CONFIG_USER_ONLY
|
||||||
int kvm_irqchip_add_msi_route(KVMState *s, MSIMessage msg)
|
int kvm_irqchip_add_msi_route(KVMState *s, MSIMessage msg)
|
||||||
{
|
{
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
|
@ -134,3 +138,4 @@ int kvm_irqchip_remove_irqfd_notifier(KVMState *s, EventNotifier *n, int virq)
|
||||||
{
|
{
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue