From patchwork Thu Oct 27 14:24:04 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Gardner X-Patchwork-Id: 687670 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3t4TfY6Q4Dz9vF7; Fri, 28 Oct 2016 01:24:21 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical-com.20150623.gappssmtp.com header.i=@canonical-com.20150623.gappssmtp.com header.b=JGdVjyjg; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1bzlbM-0002nF-QV; Thu, 27 Oct 2016 14:24:16 +0000 Received: from mail-pf0-f182.google.com ([209.85.192.182]) by huckleberry.canonical.com with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1bzlbH-0002n5-LD for kernel-team@lists.ubuntu.com; Thu, 27 Oct 2016 14:24:11 +0000 Received: by mail-pf0-f182.google.com with SMTP id n85so18715131pfi.1 for ; Thu, 27 Oct 2016 07:24:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical-com.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id; bh=uvSz89pX4xKkMpiHvqf0gvtHcmAkyB4WOBY60JcuIlQ=; b=JGdVjyjggLPYNCE0gN23lTsnYXeIxFad+eKA/fSZii6Zz4z815tlpdAwu1bhhSlops 9T3zx84glfZG1RuU8qtJLgbS9dixwD1SyWcsVfvwCUaQtn6VnTzvzXLohQWK+WAZXkHw lB5CAubekvvLEgsE3+XAGAvxu4XG2K9a3iK7nP6oedqZI3PzQh82GP1qAWGendFOwBOE eum5lYVfUhuv6MgBNvIURAttwqCQkF1WDeNHp9LX/+8MJp2Ji9tHtadrh5WGI1U6P4z1 RzpL1Ec5cLWoK616ZFDHDvP6BnLlqB7kv0YRMMtsN1UjYGBRByvYkjyB9Xd4cuSn3amn ID0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id; bh=uvSz89pX4xKkMpiHvqf0gvtHcmAkyB4WOBY60JcuIlQ=; b=ghHTRD0ZrJeqCzsDkc+B76xFU7qXoUh8Znb7hWHyjGI/AOZMGmL14pLOxIMvbaGtmF IS08IJhPa5q5ssYxPzQyB8XjhMYEkERsgsXGMsD+M5BohTUrwe7k131LA3FuYhmFZu+6 WJ+v6sUiIqg5UD5F6rlMN6tBPJ0g16YnwX2exCY8FEvnAAxJBwTGiGUt6ngiMZIK9HzA RfKqh27f1O0XuKYyzfIVTM4fT9ly5/wJdRh6Q+g2v1pd7vKozeSgbaUJEEpYQ/jOiXkL 23pkcBWCck6ykvie9P5o0V4HV5I6ikoUy00dLFJ68vKUFMzxyo8emUw/fGCQ/jiivnvb kUNA== X-Gm-Message-State: ABUngvepjDCtTHRsBIIXkwfTN0wJeEtZ4qMr7hiXK01Y1msHeBjFcc+1ST9hQZlZrFU8yXEE X-Received: by 10.98.89.73 with SMTP id n70mr14873386pfb.82.1477578249320; Thu, 27 Oct 2016 07:24:09 -0700 (PDT) Received: from localhost.localdomain (host-174-45-44-32.hln-mt.client.bresnan.net. [174.45.44.32]) by smtp.gmail.com with ESMTPSA id sc10sm12344009pac.28.2016.10.27.07.24.08 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 27 Oct 2016 07:24:08 -0700 (PDT) From: Tim Gardner To: kernel-team@lists.ubuntu.com Subject: [PATCH Xenial SRU] KVM: PPC: Always select KVM_VFIO, plus Makefile cleanup Date: Thu, 27 Oct 2016 08:24:04 -0600 Message-Id: <1477578244-12852-1-git-send-email-tim.gardner@canonical.com> X-Mailer: git-send-email 2.7.4 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com From: Paul Mackerras BugLink: http://bugs.launchpad.net/bugs/1630554 As discussed recently on the kvm mailing list, David Gibson's intention in commit 178a78750212 ("vfio: Enable VFIO device for powerpc", 2016-02-01) was to have the KVM VFIO device built in on all powerpc platforms. This patch adds the "select KVM_VFIO" statement that makes this happen. Currently, arch/powerpc/kvm/Makefile doesn't include vfio.o for the 64-bit kvm module, because the list of objects doesn't use the $(common-objs-y) list. The reason it doesn't is because we don't necessarily want coalesced_mmio.o or emulate.o (for example if HV KVM is the only target), and common-objs-y includes both. Since this is confusing, this patch adjusts the definitions so that we now use $(common-objs-y) in the list for the 64-bit kvm.ko module, emulate.o is removed from common-objs-y and added in the places that need it, and the inclusion of coalesced_mmio.o now depends on CONFIG_KVM_MMIO. Reviewed-by: Paolo Bonzini Reviewed-by: David Gibson Signed-off-by: Paul Mackerras (back ported from commit 4b3d173d0440d37534906b6d93c02dfb577c68ce) Signed-off-by: Tim Gardner Conflicts: arch/powerpc/kvm/Makefile --- arch/powerpc/kvm/Kconfig | 1 + arch/powerpc/kvm/Makefile | 20 +++++++++----------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig index c2024ac..c0a2478 100644 --- a/arch/powerpc/kvm/Kconfig +++ b/arch/powerpc/kvm/Kconfig @@ -22,6 +22,7 @@ config KVM select ANON_INODES select HAVE_KVM_EVENTFD select SRCU + select KVM_VFIO config KVM_BOOK3S_HANDLER bool diff --git a/arch/powerpc/kvm/Makefile b/arch/powerpc/kvm/Makefile index 0570eef..c65d896 100644 --- a/arch/powerpc/kvm/Makefile +++ b/arch/powerpc/kvm/Makefile @@ -7,15 +7,16 @@ subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror ccflags-y := -Ivirt/kvm -Iarch/powerpc/kvm KVM := ../../../virt/kvm -common-objs-y = $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o \ - $(KVM)/eventfd.o +common-objs-y = $(KVM)/kvm_main.o $(KVM)/eventfd.o +common-objs-$(CONFIG_KVM_VFIO) += $(KVM)/vfio.o +common-objs-$(CONFIG_KVM_MMIO) += $(KVM)/coalesced_mmio.o CFLAGS_e500_mmu.o := -I. CFLAGS_e500_mmu_host.o := -I. CFLAGS_emulate.o := -I. CFLAGS_emulate_loadstore.o := -I. -common-objs-y += powerpc.o emulate.o emulate_loadstore.o +common-objs-y += powerpc.o emulate_loadstore.o obj-$(CONFIG_KVM_EXIT_TIMING) += timing.o obj-$(CONFIG_KVM_BOOK3S_HANDLER) += book3s_exports.o @@ -23,6 +24,7 @@ AFLAGS_booke_interrupts.o := -I$(obj) kvm-e500-objs := \ $(common-objs-y) \ + emulate.o \ booke.o \ booke_emulate.o \ booke_interrupts.o \ @@ -34,6 +36,7 @@ kvm-objs-$(CONFIG_KVM_E500V2) := $(kvm-e500-objs) kvm-e500mc-objs := \ $(common-objs-y) \ + emulate.o \ booke.o \ booke_emulate.o \ bookehv_interrupts.o \ @@ -60,9 +63,6 @@ kvm-pr-y := \ book3s_32_mmu.o ifdef CONFIG_KVM_BOOK3S_PR_POSSIBLE -kvm-book3s_64-module-objs := \ - $(KVM)/coalesced_mmio.o - kvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \ book3s_rmhandlers.o endif @@ -87,11 +87,8 @@ endif kvm-book3s_64-objs-$(CONFIG_KVM_XICS) += \ book3s_xics.o -kvm-book3s_64-module-objs += \ - $(KVM)/kvm_main.o \ - $(KVM)/eventfd.o \ - powerpc.o \ - emulate_loadstore.o \ +kvm-book3s_64-module-objs := \ + $(common-objs-y) \ book3s.o \ book3s_64_vio.o \ book3s_rtas.o \ @@ -101,6 +98,7 @@ kvm-objs-$(CONFIG_KVM_BOOK3S_64) := $(kvm-book3s_64-module-objs) kvm-book3s_32-objs := \ $(common-objs-y) \ + emulate.o \ fpu.o \ book3s_paired_singles.o \ book3s.o \