diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2013-11-14 20:38:05 -0500 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2013-11-14 20:38:05 -0500 |
commit | 42249094f79422fbf5ed4b54eeb48ff096809b8f (patch) | |
tree | 91e6850c8c7e8cc284cf8bb6363f8662f84011f4 /arch/powerpc/include/asm/kvm_ppc.h | |
parent | 936816161978ca716a56c5e553c68f25972b1e3a (diff) | |
parent | 2c027b7c48a888ab173ba45babb4525e278375d9 (diff) |
Merge branch 'next' into for-linus
Merge first round of changes for 3.13 merge window.
Diffstat (limited to 'arch/powerpc/include/asm/kvm_ppc.h')
-rw-r--r-- | arch/powerpc/include/asm/kvm_ppc.h | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h index a5287fe03d77..b15554a26c20 100644 --- a/arch/powerpc/include/asm/kvm_ppc.h +++ b/arch/powerpc/include/asm/kvm_ppc.h | |||
@@ -137,10 +137,10 @@ extern long kvmppc_h_put_tce(struct kvm_vcpu *vcpu, unsigned long liobn, | |||
137 | unsigned long ioba, unsigned long tce); | 137 | unsigned long ioba, unsigned long tce); |
138 | extern long kvm_vm_ioctl_allocate_rma(struct kvm *kvm, | 138 | extern long kvm_vm_ioctl_allocate_rma(struct kvm *kvm, |
139 | struct kvm_allocate_rma *rma); | 139 | struct kvm_allocate_rma *rma); |
140 | extern struct kvmppc_linear_info *kvm_alloc_rma(void); | 140 | extern struct kvm_rma_info *kvm_alloc_rma(void); |
141 | extern void kvm_release_rma(struct kvmppc_linear_info *ri); | 141 | extern void kvm_release_rma(struct kvm_rma_info *ri); |
142 | extern struct kvmppc_linear_info *kvm_alloc_hpt(void); | 142 | extern struct page *kvm_alloc_hpt(unsigned long nr_pages); |
143 | extern void kvm_release_hpt(struct kvmppc_linear_info *li); | 143 | extern void kvm_release_hpt(struct page *page, unsigned long nr_pages); |
144 | extern int kvmppc_core_init_vm(struct kvm *kvm); | 144 | extern int kvmppc_core_init_vm(struct kvm *kvm); |
145 | extern void kvmppc_core_destroy_vm(struct kvm *kvm); | 145 | extern void kvmppc_core_destroy_vm(struct kvm *kvm); |
146 | extern void kvmppc_core_free_memslot(struct kvm_memory_slot *free, | 146 | extern void kvmppc_core_free_memslot(struct kvm_memory_slot *free, |
@@ -261,6 +261,7 @@ void kvmppc_set_pid(struct kvm_vcpu *vcpu, u32 pid); | |||
261 | struct openpic; | 261 | struct openpic; |
262 | 262 | ||
263 | #ifdef CONFIG_KVM_BOOK3S_64_HV | 263 | #ifdef CONFIG_KVM_BOOK3S_64_HV |
264 | extern void kvm_cma_reserve(void) __init; | ||
264 | static inline void kvmppc_set_xics_phys(int cpu, unsigned long addr) | 265 | static inline void kvmppc_set_xics_phys(int cpu, unsigned long addr) |
265 | { | 266 | { |
266 | paca[cpu].kvm_hstate.xics_phys = addr; | 267 | paca[cpu].kvm_hstate.xics_phys = addr; |
@@ -281,13 +282,12 @@ static inline void kvmppc_set_host_ipi(int cpu, u8 host_ipi) | |||
281 | } | 282 | } |
282 | 283 | ||
283 | extern void kvmppc_fast_vcpu_kick(struct kvm_vcpu *vcpu); | 284 | extern void kvmppc_fast_vcpu_kick(struct kvm_vcpu *vcpu); |
284 | extern void kvm_linear_init(void); | ||
285 | 285 | ||
286 | #else | 286 | #else |
287 | static inline void kvmppc_set_xics_phys(int cpu, unsigned long addr) | 287 | static inline void __init kvm_cma_reserve(void) |
288 | {} | 288 | {} |
289 | 289 | ||
290 | static inline void kvm_linear_init(void) | 290 | static inline void kvmppc_set_xics_phys(int cpu, unsigned long addr) |
291 | {} | 291 | {} |
292 | 292 | ||
293 | static inline u32 kvmppc_get_xics_latch(void) | 293 | static inline u32 kvmppc_get_xics_latch(void) |
@@ -394,10 +394,15 @@ static inline void kvmppc_mmu_flush_icache(pfn_t pfn) | |||
394 | } | 394 | } |
395 | } | 395 | } |
396 | 396 | ||
397 | /* Please call after prepare_to_enter. This function puts the lazy ee state | 397 | /* |
398 | back to normal mode, without actually enabling interrupts. */ | 398 | * Please call after prepare_to_enter. This function puts the lazy ee and irq |
399 | static inline void kvmppc_lazy_ee_enable(void) | 399 | * disabled tracking state back to normal mode, without actually enabling |
400 | * interrupts. | ||
401 | */ | ||
402 | static inline void kvmppc_fix_ee_before_entry(void) | ||
400 | { | 403 | { |
404 | trace_hardirqs_on(); | ||
405 | |||
401 | #ifdef CONFIG_PPC64 | 406 | #ifdef CONFIG_PPC64 |
402 | /* Only need to enable IRQs by hard enabling them after this */ | 407 | /* Only need to enable IRQs by hard enabling them after this */ |
403 | local_paca->irq_happened = 0; | 408 | local_paca->irq_happened = 0; |