aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRadim Krčmář <rkrcmar@redhat.com>2016-12-06 08:49:05 -0500
committerRadim Krčmář <rkrcmar@redhat.com>2016-12-06 08:49:05 -0500
commit57d1da871b85c3a79e070d5cfc5ccb554ed839c4 (patch)
treea697ed84ef44a6fe97abf4376ee56d03ae3d2e67
parentffcb09f27f46ea21305c7846de1fd3b76e4e6a6f (diff)
parente34af7849014f1d80899b811cf9021588cb8dd88 (diff)
Merge branch 'kvm-ppc-next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Eliminate merge conflict between 9e5f68842276 and ebe4535fbe7a.
-rw-r--r--arch/powerpc/include/asm/asm-prototypes.h44
-rw-r--r--arch/powerpc/include/asm/kvm_ppc.h42
-rw-r--r--arch/powerpc/kvm/book3s_64_vio_hv.c1
-rw-r--r--arch/powerpc/kvm/book3s_hv_builtin.c1
-rw-r--r--arch/powerpc/kvm/book3s_hv_ras.c2
-rw-r--r--arch/powerpc/kvm/book3s_hv_rm_mmu.c1
-rw-r--r--arch/powerpc/kvm/book3s_hv_rm_xics.c1
7 files changed, 43 insertions, 49 deletions
diff --git a/arch/powerpc/include/asm/asm-prototypes.h b/arch/powerpc/include/asm/asm-prototypes.h
index 6c853bcd11fa..d1492736d852 100644
--- a/arch/powerpc/include/asm/asm-prototypes.h
+++ b/arch/powerpc/include/asm/asm-prototypes.h
@@ -14,9 +14,6 @@
14 14
15#include <linux/threads.h> 15#include <linux/threads.h>
16#include <linux/kprobes.h> 16#include <linux/kprobes.h>
17#ifdef CONFIG_KVM
18#include <linux/kvm_host.h>
19#endif
20 17
21#include <uapi/asm/ucontext.h> 18#include <uapi/asm/ucontext.h>
22 19
@@ -112,45 +109,4 @@ void early_setup_secondary(void);
112/* time */ 109/* time */
113void accumulate_stolen_time(void); 110void accumulate_stolen_time(void);
114 111
115/* kvm */
116#ifdef CONFIG_KVM
117long kvmppc_rm_h_put_tce(struct kvm_vcpu *vcpu, unsigned long liobn,
118 unsigned long ioba, unsigned long tce);
119long kvmppc_rm_h_put_tce_indirect(struct kvm_vcpu *vcpu,
120 unsigned long liobn, unsigned long ioba,
121 unsigned long tce_list, unsigned long npages);
122long kvmppc_rm_h_stuff_tce(struct kvm_vcpu *vcpu,
123 unsigned long liobn, unsigned long ioba,
124 unsigned long tce_value, unsigned long npages);
125long int kvmppc_rm_h_confer(struct kvm_vcpu *vcpu, int target,
126 unsigned int yield_count);
127long kvmppc_h_random(struct kvm_vcpu *vcpu);
128void kvmhv_commence_exit(int trap);
129long kvmppc_realmode_machine_check(struct kvm_vcpu *vcpu);
130void kvmppc_subcore_enter_guest(void);
131void kvmppc_subcore_exit_guest(void);
132long kvmppc_realmode_hmi_handler(void);
133long kvmppc_h_enter(struct kvm_vcpu *vcpu, unsigned long flags,
134 long pte_index, unsigned long pteh, unsigned long ptel);
135long kvmppc_h_remove(struct kvm_vcpu *vcpu, unsigned long flags,
136 unsigned long pte_index, unsigned long avpn);
137long kvmppc_h_bulk_remove(struct kvm_vcpu *vcpu);
138long kvmppc_h_protect(struct kvm_vcpu *vcpu, unsigned long flags,
139 unsigned long pte_index, unsigned long avpn,
140 unsigned long va);
141long kvmppc_h_read(struct kvm_vcpu *vcpu, unsigned long flags,
142 unsigned long pte_index);
143long kvmppc_h_clear_ref(struct kvm_vcpu *vcpu, unsigned long flags,
144 unsigned long pte_index);
145long kvmppc_h_clear_mod(struct kvm_vcpu *vcpu, unsigned long flags,
146 unsigned long pte_index);
147long kvmppc_hpte_hv_fault(struct kvm_vcpu *vcpu, unsigned long addr,
148 unsigned long slb_v, unsigned int status, bool data);
149unsigned long kvmppc_rm_h_xirr(struct kvm_vcpu *vcpu);
150int kvmppc_rm_h_ipi(struct kvm_vcpu *vcpu, unsigned long server,
151 unsigned long mfrr);
152int kvmppc_rm_h_cppr(struct kvm_vcpu *vcpu, unsigned long cppr);
153int kvmppc_rm_h_eoi(struct kvm_vcpu *vcpu, unsigned long xirr);
154#endif
155
156#endif /* _ASM_POWERPC_ASM_PROTOTYPES_H */ 112#endif /* _ASM_POWERPC_ASM_PROTOTYPES_H */
diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h
index a5b94bed1423..2da67bf1f2ec 100644
--- a/arch/powerpc/include/asm/kvm_ppc.h
+++ b/arch/powerpc/include/asm/kvm_ppc.h
@@ -511,6 +511,48 @@ static inline int kvmppc_xics_hcall(struct kvm_vcpu *vcpu, u32 cmd)
511#endif 511#endif
512 512
513/* 513/*
514 * Prototypes for functions called only from assembler code.
515 * Having prototypes reduces sparse errors.
516 */
517long kvmppc_rm_h_put_tce(struct kvm_vcpu *vcpu, unsigned long liobn,
518 unsigned long ioba, unsigned long tce);
519long kvmppc_rm_h_put_tce_indirect(struct kvm_vcpu *vcpu,
520 unsigned long liobn, unsigned long ioba,
521 unsigned long tce_list, unsigned long npages);
522long kvmppc_rm_h_stuff_tce(struct kvm_vcpu *vcpu,
523 unsigned long liobn, unsigned long ioba,
524 unsigned long tce_value, unsigned long npages);
525long int kvmppc_rm_h_confer(struct kvm_vcpu *vcpu, int target,
526 unsigned int yield_count);
527long kvmppc_h_random(struct kvm_vcpu *vcpu);
528void kvmhv_commence_exit(int trap);
529long kvmppc_realmode_machine_check(struct kvm_vcpu *vcpu);
530void kvmppc_subcore_enter_guest(void);
531void kvmppc_subcore_exit_guest(void);
532long kvmppc_realmode_hmi_handler(void);
533long kvmppc_h_enter(struct kvm_vcpu *vcpu, unsigned long flags,
534 long pte_index, unsigned long pteh, unsigned long ptel);
535long kvmppc_h_remove(struct kvm_vcpu *vcpu, unsigned long flags,
536 unsigned long pte_index, unsigned long avpn);
537long kvmppc_h_bulk_remove(struct kvm_vcpu *vcpu);
538long kvmppc_h_protect(struct kvm_vcpu *vcpu, unsigned long flags,
539 unsigned long pte_index, unsigned long avpn,
540 unsigned long va);
541long kvmppc_h_read(struct kvm_vcpu *vcpu, unsigned long flags,
542 unsigned long pte_index);
543long kvmppc_h_clear_ref(struct kvm_vcpu *vcpu, unsigned long flags,
544 unsigned long pte_index);
545long kvmppc_h_clear_mod(struct kvm_vcpu *vcpu, unsigned long flags,
546 unsigned long pte_index);
547long kvmppc_hpte_hv_fault(struct kvm_vcpu *vcpu, unsigned long addr,
548 unsigned long slb_v, unsigned int status, bool data);
549unsigned long kvmppc_rm_h_xirr(struct kvm_vcpu *vcpu);
550int kvmppc_rm_h_ipi(struct kvm_vcpu *vcpu, unsigned long server,
551 unsigned long mfrr);
552int kvmppc_rm_h_cppr(struct kvm_vcpu *vcpu, unsigned long cppr);
553int kvmppc_rm_h_eoi(struct kvm_vcpu *vcpu, unsigned long xirr);
554
555/*
514 * Host-side operations we want to set up while running in real 556 * Host-side operations we want to set up while running in real
515 * mode in the guest operating on the xics. 557 * mode in the guest operating on the xics.
516 * Currently only VCPU wakeup is supported. 558 * Currently only VCPU wakeup is supported.
diff --git a/arch/powerpc/kvm/book3s_64_vio_hv.c b/arch/powerpc/kvm/book3s_64_vio_hv.c
index 66e98276d93e..e4c4ea973e57 100644
--- a/arch/powerpc/kvm/book3s_64_vio_hv.c
+++ b/arch/powerpc/kvm/book3s_64_vio_hv.c
@@ -39,7 +39,6 @@
39#include <asm/udbg.h> 39#include <asm/udbg.h>
40#include <asm/iommu.h> 40#include <asm/iommu.h>
41#include <asm/tce.h> 41#include <asm/tce.h>
42#include <asm/asm-prototypes.h>
43 42
44#define TCES_PER_PAGE (PAGE_SIZE / sizeof(u64)) 43#define TCES_PER_PAGE (PAGE_SIZE / sizeof(u64))
45 44
diff --git a/arch/powerpc/kvm/book3s_hv_builtin.c b/arch/powerpc/kvm/book3s_hv_builtin.c
index 11561f0ef83a..5bb24be0b346 100644
--- a/arch/powerpc/kvm/book3s_hv_builtin.c
+++ b/arch/powerpc/kvm/book3s_hv_builtin.c
@@ -26,7 +26,6 @@
26#include <asm/dbell.h> 26#include <asm/dbell.h>
27#include <asm/cputhreads.h> 27#include <asm/cputhreads.h>
28#include <asm/io.h> 28#include <asm/io.h>
29#include <asm/asm-prototypes.h>
30#include <asm/opal.h> 29#include <asm/opal.h>
31#include <asm/smp.h> 30#include <asm/smp.h>
32 31
diff --git a/arch/powerpc/kvm/book3s_hv_ras.c b/arch/powerpc/kvm/book3s_hv_ras.c
index be1cee5dc032..7ef0993214f3 100644
--- a/arch/powerpc/kvm/book3s_hv_ras.c
+++ b/arch/powerpc/kvm/book3s_hv_ras.c
@@ -16,7 +16,7 @@
16#include <asm/machdep.h> 16#include <asm/machdep.h>
17#include <asm/cputhreads.h> 17#include <asm/cputhreads.h>
18#include <asm/hmi.h> 18#include <asm/hmi.h>
19#include <asm/asm-prototypes.h> 19#include <asm/kvm_ppc.h>
20 20
21/* SRR1 bits for machine check on POWER7 */ 21/* SRR1 bits for machine check on POWER7 */
22#define SRR1_MC_LDSTERR (1ul << (63-42)) 22#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 378b962bcf2e..9ef3c4be952f 100644
--- a/arch/powerpc/kvm/book3s_hv_rm_mmu.c
+++ b/arch/powerpc/kvm/book3s_hv_rm_mmu.c
@@ -21,7 +21,6 @@
21#include <asm/hvcall.h> 21#include <asm/hvcall.h>
22#include <asm/synch.h> 22#include <asm/synch.h>
23#include <asm/ppc-opcode.h> 23#include <asm/ppc-opcode.h>
24#include <asm/asm-prototypes.h>
25 24
26/* Translate address of a vmalloc'd thing to a linear map address */ 25/* Translate address of a vmalloc'd thing to a linear map address */
27static void *real_vmalloc_addr(void *x) 26static 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 6a4c4d758a9e..06edc4366639 100644
--- a/arch/powerpc/kvm/book3s_hv_rm_xics.c
+++ b/arch/powerpc/kvm/book3s_hv_rm_xics.c
@@ -24,7 +24,6 @@
24#include <asm/pnv-pci.h> 24#include <asm/pnv-pci.h>
25#include <asm/opal.h> 25#include <asm/opal.h>
26#include <asm/smp.h> 26#include <asm/smp.h>
27#include <asm/asm-prototypes.h>
28 27
29#include "book3s_xics.h" 28#include "book3s_xics.h"
30 29