From patchwork Mon Oct 10 00:31:20 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Axtens X-Patchwork-Id: 680144 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3ssh130zlpz9t0q for ; Mon, 10 Oct 2016 11:32:55 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=axtens.net header.i=@axtens.net header.b=WyK6NjiX; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751263AbcJJAct (ORCPT ); Sun, 9 Oct 2016 20:32:49 -0400 Received: from mail-pa0-f67.google.com ([209.85.220.67]:36598 "EHLO mail-pa0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751056AbcJJAco (ORCPT ); Sun, 9 Oct 2016 20:32:44 -0400 Received: by mail-pa0-f67.google.com with SMTP id rw4so1200469pab.3 for ; Sun, 09 Oct 2016 17:31:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axtens.net; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=5pqt9w7IzIc+KSseN/D+jKN5quca6u54oL2AIrM8xJU=; b=WyK6NjiXFYgPK8KMRLqcFqU8UQRgAWWLqegXpQ1oTIZTZwoY2a38DuiuAdg0g/d0VD 8ZI6b4DZUsCzf98tb1u7ELGAS5btLQmLWCUin9AOtf5k1nXbG0Z0fWpNDAjjskRowbgk ezyl1RoZ9W8DBMtDLwFcJG9QkElHCb9njVmHE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=5pqt9w7IzIc+KSseN/D+jKN5quca6u54oL2AIrM8xJU=; b=QiHOupHlrbTaLbvST2qXxqxS8mqfhZoHTVCyhF/b3642wT5YyrcvQ8vBXA5WT0Q6pz uazBHuXuneJC1TqU1T7dE0qamH6TRwqyMWhERMlPy8/tplfsAyhvxs0IZ1nPGRt0R2KO QdIlh6i/2mvCsdCsvwvBCoSl+YQIj7Dm0dQ/cIuCnBV4cYiAaoqwoEc+O6pYqjJyysmW vruxXIaA4hSSF9CpdgNYUPUKpJhuJxA0B/ZROpY0MtuM5GiAqxyLJlABPtc0qlpTLIgo fSw/F5QDE51QeRpsyHf306datOiVP0vO/hm1FTcsSKAvMAKOhMo3NulKVStFOCNMb/K/ eXzQ== X-Gm-Message-State: AA6/9Rm9UKiMVDQTq3vbHPpUdJFo+G934PgdD+18fW7YufhAsjrGXeniazKuRv5rkpWt3A== X-Received: by 10.66.180.17 with SMTP id dk17mr48205251pac.212.1476059510507; Sun, 09 Oct 2016 17:31:50 -0700 (PDT) Received: from possimpible.ozlabs.ibm.com ([122.99.82.10]) by smtp.gmail.com with ESMTPSA id zg12sm13306792pab.5.2016.10.09.17.31.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 09 Oct 2016 17:31:50 -0700 (PDT) From: Daniel Axtens To: linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, paulus@samba.org Cc: Daniel Axtens Subject: [PATCH 2/2] KVM: PPC: sparse: prototypes for functions called from assembler Date: Mon, 10 Oct 2016 11:31:20 +1100 Message-Id: <1476059480-18145-2-git-send-email-dja@axtens.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1476059480-18145-1-git-send-email-dja@axtens.net> References: <1476059480-18145-1-git-send-email-dja@axtens.net> Sender: kvm-ppc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm-ppc@vger.kernel.org A bunch of KVM functions are only called from assembler. Give them prototypes in asm-prototypes.h This reduces sparse warnings. Signed-off-by: Daniel Axtens --- arch/powerpc/include/asm/asm-prototypes.h | 44 +++++++++++++++++++++++++++++++ arch/powerpc/kvm/book3s_64_vio_hv.c | 1 + arch/powerpc/kvm/book3s_hv_builtin.c | 1 + arch/powerpc/kvm/book3s_hv_ras.c | 1 + arch/powerpc/kvm/book3s_hv_rm_mmu.c | 1 + arch/powerpc/kvm/book3s_hv_rm_xics.c | 1 + 6 files changed, 49 insertions(+) diff --git a/arch/powerpc/include/asm/asm-prototypes.h b/arch/powerpc/include/asm/asm-prototypes.h index d1492736d852..6c853bcd11fa 100644 --- a/arch/powerpc/include/asm/asm-prototypes.h +++ b/arch/powerpc/include/asm/asm-prototypes.h @@ -14,6 +14,9 @@ #include #include +#ifdef CONFIG_KVM +#include +#endif #include @@ -109,4 +112,45 @@ void early_setup_secondary(void); /* time */ void accumulate_stolen_time(void); +/* kvm */ +#ifdef CONFIG_KVM +long kvmppc_rm_h_put_tce(struct kvm_vcpu *vcpu, unsigned long liobn, + unsigned long ioba, unsigned long tce); +long kvmppc_rm_h_put_tce_indirect(struct kvm_vcpu *vcpu, + unsigned long liobn, unsigned long ioba, + unsigned long tce_list, unsigned long npages); +long kvmppc_rm_h_stuff_tce(struct kvm_vcpu *vcpu, + unsigned long liobn, unsigned long ioba, + unsigned long tce_value, unsigned long npages); +long int kvmppc_rm_h_confer(struct kvm_vcpu *vcpu, int target, + unsigned int yield_count); +long kvmppc_h_random(struct kvm_vcpu *vcpu); +void kvmhv_commence_exit(int trap); +long kvmppc_realmode_machine_check(struct kvm_vcpu *vcpu); +void kvmppc_subcore_enter_guest(void); +void kvmppc_subcore_exit_guest(void); +long kvmppc_realmode_hmi_handler(void); +long kvmppc_h_enter(struct kvm_vcpu *vcpu, unsigned long flags, + long pte_index, unsigned long pteh, unsigned long ptel); +long kvmppc_h_remove(struct kvm_vcpu *vcpu, unsigned long flags, + unsigned long pte_index, unsigned long avpn); +long kvmppc_h_bulk_remove(struct kvm_vcpu *vcpu); +long kvmppc_h_protect(struct kvm_vcpu *vcpu, unsigned long flags, + unsigned long pte_index, unsigned long avpn, + unsigned long va); +long kvmppc_h_read(struct kvm_vcpu *vcpu, unsigned long flags, + unsigned long pte_index); +long kvmppc_h_clear_ref(struct kvm_vcpu *vcpu, unsigned long flags, + unsigned long pte_index); +long kvmppc_h_clear_mod(struct kvm_vcpu *vcpu, unsigned long flags, + unsigned long pte_index); +long kvmppc_hpte_hv_fault(struct kvm_vcpu *vcpu, unsigned long addr, + unsigned long slb_v, unsigned int status, bool data); +unsigned long kvmppc_rm_h_xirr(struct kvm_vcpu *vcpu); +int kvmppc_rm_h_ipi(struct kvm_vcpu *vcpu, unsigned long server, + unsigned long mfrr); +int kvmppc_rm_h_cppr(struct kvm_vcpu *vcpu, unsigned long cppr); +int kvmppc_rm_h_eoi(struct kvm_vcpu *vcpu, unsigned long xirr); +#endif + #endif /* _ASM_POWERPC_ASM_PROTOTYPES_H */ diff --git a/arch/powerpc/kvm/book3s_64_vio_hv.c b/arch/powerpc/kvm/book3s_64_vio_hv.c index d461c440889a..30f83cf1b98e 100644 --- a/arch/powerpc/kvm/book3s_64_vio_hv.c +++ b/arch/powerpc/kvm/book3s_64_vio_hv.c @@ -40,6 +40,7 @@ #include #include #include +#include #define TCES_PER_PAGE (PAGE_SIZE / sizeof(u64)) diff --git a/arch/powerpc/kvm/book3s_hv_builtin.c b/arch/powerpc/kvm/book3s_hv_builtin.c index 0c84d6bc8356..90a0b274e699 100644 --- a/arch/powerpc/kvm/book3s_hv_builtin.c +++ b/arch/powerpc/kvm/book3s_hv_builtin.c @@ -26,6 +26,7 @@ #include #include #include +#include #define KVM_CMA_CHUNK_ORDER 18 diff --git a/arch/powerpc/kvm/book3s_hv_ras.c b/arch/powerpc/kvm/book3s_hv_ras.c index 0fa70a9618d7..be1cee5dc032 100644 --- a/arch/powerpc/kvm/book3s_hv_ras.c +++ b/arch/powerpc/kvm/book3s_hv_ras.c @@ -16,6 +16,7 @@ #include #include #include +#include /* SRR1 bits for machine check on POWER7 */ #define SRR1_MC_LDSTERR (1ul << (63-42)) diff --git a/arch/powerpc/kvm/book3s_hv_rm_mmu.c b/arch/powerpc/kvm/book3s_hv_rm_mmu.c index 99b4e9d5dd23..6b3d01b024d7 100644 --- a/arch/powerpc/kvm/book3s_hv_rm_mmu.c +++ b/arch/powerpc/kvm/book3s_hv_rm_mmu.c @@ -21,6 +21,7 @@ #include #include #include +#include /* Translate address of a vmalloc'd thing to a linear map address */ static void *real_vmalloc_addr(void *x) diff --git a/arch/powerpc/kvm/book3s_hv_rm_xics.c b/arch/powerpc/kvm/book3s_hv_rm_xics.c index 82ff5de8b1e7..6de32e610c5d 100644 --- a/arch/powerpc/kvm/book3s_hv_rm_xics.c +++ b/arch/powerpc/kvm/book3s_hv_rm_xics.c @@ -23,6 +23,7 @@ #include #include #include +#include #include "book3s_xics.h"