From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41614) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WLVWg-0008U1-El for qemu-devel@nongnu.org; Thu, 06 Mar 2014 05:27:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WLVWa-0001vH-3F for qemu-devel@nongnu.org; Thu, 06 Mar 2014 05:27:42 -0500 Received: from mail-pa0-x229.google.com ([2607:f8b0:400e:c03::229]:45285) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WLVWZ-0001tu-Pf for qemu-devel@nongnu.org; Thu, 06 Mar 2014 05:27:36 -0500 Received: by mail-pa0-f41.google.com with SMTP id fa1so2478548pad.28 for ; Thu, 06 Mar 2014 02:27:34 -0800 (PST) From: Xuebing Wang Date: Thu, 6 Mar 2014 18:27:10 +0800 Message-Id: <1394101634-21509-4-git-send-email-xbing6@gmail.com> In-Reply-To: <1394101634-21509-1-git-send-email-xbing6@gmail.com> References: <1394101634-21509-1-git-send-email-xbing6@gmail.com> Subject: [Qemu-devel] [PATCH 3/7] kvm-i386: remove target-i386/kvm-stub.c List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , xbing6@gmail.com, Gleb Natapov To eliminate kvm-stub for target-i386. Size of text section of x86_64-linux-user/qemu-x86_64 is reduced by 104 bytes by inline these 2 functions. Signed-off-by: Xuebing Wang --- include/sysemu/kvm.h | 3 --- target-i386/Makefile.objs | 1 - target-i386/cpu.c | 2 +- target-i386/kvm-stub.c | 24 ------------------------ target-i386/kvm_i386.h | 26 ++++++++++++++++++++++++++ 5 files changed, 27 insertions(+), 29 deletions(-) delete mode 100644 target-i386/kvm-stub.c diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h index 1829206..60e95d8 100644 --- a/include/sysemu/kvm.h +++ b/include/sysemu/kvm.h @@ -281,9 +281,6 @@ bool kvm_arch_stop_on_emulation_error(CPUState *cpu); int kvm_check_extension(KVMState *s, unsigned int extension); -uint32_t kvm_arch_get_supported_cpuid(KVMState *env, uint32_t function, - uint32_t index, int reg); - #if !defined(CONFIG_USER_ONLY) int kvm_physical_memory_addr_from_host(KVMState *s, void *ram_addr, hwaddr *phys_addr); diff --git a/target-i386/Makefile.objs b/target-i386/Makefile.objs index 027b94e..abebea8 100644 --- a/target-i386/Makefile.objs +++ b/target-i386/Makefile.objs @@ -4,6 +4,5 @@ obj-y += smm_helper.o misc_helper.o mem_helper.o seg_helper.o obj-y += gdbstub.o obj-$(CONFIG_SOFTMMU) += machine.o arch_memory_mapping.o arch_dump.o obj-$(CONFIG_KVM) += kvm.o -obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o obj-$(CONFIG_LINUX_USER) += ioport-user.o obj-$(CONFIG_BSD_USER) += ioport-user.o diff --git a/target-i386/cpu.c b/target-i386/cpu.c index 0e8812a..31ebef0 100644 --- a/target-i386/cpu.c +++ b/target-i386/cpu.c @@ -22,7 +22,7 @@ #include #include "cpu.h" -#include "sysemu/kvm.h" +#include "kvm_i386.h" #include "sysemu/cpus.h" #include "topology.h" diff --git a/target-i386/kvm-stub.c b/target-i386/kvm-stub.c deleted file mode 100644 index 0ef642d..0000000 --- a/target-i386/kvm-stub.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * QEMU KVM x86 specific function stubs - * - * Copyright Linaro Limited 2012 - * - * Author: Peter Maydell - * - * This work is licensed under the terms of the GNU GPL, version 2 or later. - * See the COPYING file in the top-level directory. - * - */ -#include "qemu-common.h" -#include "kvm_i386.h" - -bool kvm_allows_irq0_override(void) -{ - return 1; -} - -uint32_t kvm_arch_get_supported_cpuid(KVMState *env, uint32_t function, - uint32_t index, int reg) -{ - abort(); -} diff --git a/target-i386/kvm_i386.h b/target-i386/kvm_i386.h index 4392ab4..202b811 100644 --- a/target-i386/kvm_i386.h +++ b/target-i386/kvm_i386.h @@ -11,9 +11,24 @@ #ifndef QEMU_KVM_I386_H #define QEMU_KVM_I386_H +/* Adding "config-target.h" is to ensure this header file is correct by itself. + * + * Only source files in *-softmmu/ or *-linux-user/ folder can + * include "config-target.h". If this header is incorrectly included, + * compiler errors out. + */ +#include "config-target.h" /* for CONFIG_KVM */ + #include "sysemu/kvm.h" +#if defined(CONFIG_KVM) bool kvm_allows_irq0_override(void); +#else +static inline bool kvm_allows_irq0_override(void) +{ + return 1; +} +#endif int kvm_device_pci_assign(KVMState *s, PCIHostDeviceAddress *dev_addr, uint32_t flags, uint32_t *dev_id); @@ -35,4 +50,15 @@ int kvm_device_msix_set_vector(KVMState *s, uint32_t dev_id, uint32_t vector, int kvm_device_msix_assign(KVMState *s, uint32_t dev_id); int kvm_device_msix_deassign(KVMState *s, uint32_t dev_id); +#if defined(CONFIG_KVM) +uint32_t kvm_arch_get_supported_cpuid(KVMState *env, uint32_t function, + uint32_t index, int reg); +#else +static inline uint32_t kvm_arch_get_supported_cpuid(KVMState *env, uint32_t function, + uint32_t index, int reg) +{ + abort(); +} #endif + +#endif /* QEMU_KVM_I386_H */ -- 1.7.9.5