diff options
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r-- | arch/powerpc/include/asm/hvcall.h | 5 | ||||
-rw-r--r-- | arch/powerpc/include/asm/kvm_host.h | 11 | ||||
-rw-r--r-- | arch/powerpc/include/asm/kvm_ppc.h | 1 |
3 files changed, 17 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/hvcall.h b/arch/powerpc/include/asm/hvcall.h index fd8201dddd4b..1c324ff55ea8 100644 --- a/arch/powerpc/include/asm/hvcall.h +++ b/arch/powerpc/include/asm/hvcall.h | |||
@@ -29,6 +29,10 @@ | |||
29 | #define H_LONG_BUSY_ORDER_100_SEC 9905 /* Long busy, hint that 100sec \ | 29 | #define H_LONG_BUSY_ORDER_100_SEC 9905 /* Long busy, hint that 100sec \ |
30 | is a good time to retry */ | 30 | is a good time to retry */ |
31 | #define H_LONG_BUSY_END_RANGE 9905 /* End of long busy range */ | 31 | #define H_LONG_BUSY_END_RANGE 9905 /* End of long busy range */ |
32 | |||
33 | /* Internal value used in book3s_hv kvm support; not returned to guests */ | ||
34 | #define H_TOO_HARD 9999 | ||
35 | |||
32 | #define H_HARDWARE -1 /* Hardware error */ | 36 | #define H_HARDWARE -1 /* Hardware error */ |
33 | #define H_FUNCTION -2 /* Function not supported */ | 37 | #define H_FUNCTION -2 /* Function not supported */ |
34 | #define H_PRIVILEGE -3 /* Caller not privileged */ | 38 | #define H_PRIVILEGE -3 /* Caller not privileged */ |
@@ -100,6 +104,7 @@ | |||
100 | #define H_PAGE_SET_ACTIVE H_PAGE_STATE_CHANGE | 104 | #define H_PAGE_SET_ACTIVE H_PAGE_STATE_CHANGE |
101 | #define H_AVPN (1UL<<(63-32)) /* An avpn is provided as a sanity test */ | 105 | #define H_AVPN (1UL<<(63-32)) /* An avpn is provided as a sanity test */ |
102 | #define H_ANDCOND (1UL<<(63-33)) | 106 | #define H_ANDCOND (1UL<<(63-33)) |
107 | #define H_LOCAL (1UL<<(63-35)) | ||
103 | #define H_ICACHE_INVALIDATE (1UL<<(63-40)) /* icbi, etc. (ignored for IO pages) */ | 108 | #define H_ICACHE_INVALIDATE (1UL<<(63-40)) /* icbi, etc. (ignored for IO pages) */ |
104 | #define H_ICACHE_SYNCHRONIZE (1UL<<(63-41)) /* dcbst, icbi, etc (ignored for IO pages */ | 109 | #define H_ICACHE_SYNCHRONIZE (1UL<<(63-41)) /* dcbst, icbi, etc (ignored for IO pages */ |
105 | #define H_COALESCE_CAND (1UL<<(63-42)) /* page is a good candidate for coalescing */ | 110 | #define H_COALESCE_CAND (1UL<<(63-42)) /* page is a good candidate for coalescing */ |
diff --git a/arch/powerpc/include/asm/kvm_host.h b/arch/powerpc/include/asm/kvm_host.h index 4a3f790d5fc4..6ebf1721680a 100644 --- a/arch/powerpc/include/asm/kvm_host.h +++ b/arch/powerpc/include/asm/kvm_host.h | |||
@@ -59,6 +59,10 @@ struct kvm; | |||
59 | struct kvm_run; | 59 | struct kvm_run; |
60 | struct kvm_vcpu; | 60 | struct kvm_vcpu; |
61 | 61 | ||
62 | struct lppaca; | ||
63 | struct slb_shadow; | ||
64 | struct dtl; | ||
65 | |||
62 | struct kvm_vm_stat { | 66 | struct kvm_vm_stat { |
63 | u32 remote_tlb_flush; | 67 | u32 remote_tlb_flush; |
64 | }; | 68 | }; |
@@ -344,7 +348,14 @@ struct kvm_vcpu_arch { | |||
344 | u64 dec_expires; | 348 | u64 dec_expires; |
345 | unsigned long pending_exceptions; | 349 | unsigned long pending_exceptions; |
346 | u16 last_cpu; | 350 | u16 last_cpu; |
351 | u8 ceded; | ||
352 | u8 prodded; | ||
347 | u32 last_inst; | 353 | u32 last_inst; |
354 | |||
355 | struct lppaca *vpa; | ||
356 | struct slb_shadow *slb_shadow; | ||
357 | struct dtl *dtl; | ||
358 | struct dtl *dtl_end; | ||
348 | int trap; | 359 | int trap; |
349 | struct kvm_vcpu_arch_shared *shared; | 360 | struct kvm_vcpu_arch_shared *shared; |
350 | unsigned long magic_page_pa; /* phys addr to map the magic page to */ | 361 | unsigned long magic_page_pa; /* phys addr to map the magic page to */ |
diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h index 0dafd53c30ed..2afe92e6f625 100644 --- a/arch/powerpc/include/asm/kvm_ppc.h +++ b/arch/powerpc/include/asm/kvm_ppc.h | |||
@@ -118,6 +118,7 @@ extern long kvmppc_prepare_vrma(struct kvm *kvm, | |||
118 | struct kvm_userspace_memory_region *mem); | 118 | struct kvm_userspace_memory_region *mem); |
119 | extern void kvmppc_map_vrma(struct kvm *kvm, | 119 | extern void kvmppc_map_vrma(struct kvm *kvm, |
120 | struct kvm_userspace_memory_region *mem); | 120 | struct kvm_userspace_memory_region *mem); |
121 | extern int kvmppc_pseries_do_hcall(struct kvm_vcpu *vcpu); | ||
121 | extern int kvmppc_core_init_vm(struct kvm *kvm); | 122 | extern int kvmppc_core_init_vm(struct kvm *kvm); |
122 | extern void kvmppc_core_destroy_vm(struct kvm *kvm); | 123 | extern void kvmppc_core_destroy_vm(struct kvm *kvm); |
123 | extern int kvmppc_core_prepare_memory_region(struct kvm *kvm, | 124 | extern int kvmppc_core_prepare_memory_region(struct kvm *kvm, |