diff options
-rw-r--r-- | xen/arch/x86/hvm/hvm.c | 2 | ||||
-rw-r--r-- | xen/arch/x86/hvm/svm/svm.c | 2 | ||||
-rw-r--r-- | xen/arch/x86/mm/p2m.c | 2 | ||||
-rw-r--r-- | xen/include/asm-x86/hvm/hvm.h | 11 | ||||
-rw-r--r-- | xen/include/asm-x86/p2m.h | 7 |
5 files changed, 22 insertions, 2 deletions
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index 7ae6f9a2b0..62c018fa44 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -3781,6 +3781,7 @@ int hvm_debug_op(struct vcpu *v, int32_t op) return rc; } +#ifdef __x86_64__ static int hvm_memory_event_traps(long p, uint32_t reason, unsigned long value, unsigned long old, bool_t gla_valid, unsigned long gla) @@ -3859,6 +3860,7 @@ int hvm_memory_event_int3(unsigned long gla) MEM_EVENT_REASON_INT3, gfn, 0, 1, gla); } +#endif /* __x86_64__ */ /* * Local variables: diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index ec7f8f282a..9e10a43109 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -979,7 +979,7 @@ static void svm_do_nested_pgfault(paddr_t gpa) __trace_var(TRC_HVM_NPF, 0, sizeof(_d), &_d); } - if ( hvm_hap_nested_page_fault(gpa, 0, ~0ull, 0, 0, 0, 0) ) + if ( hvm_hap_nested_page_fault(gpa, 0, ~0ul, 0, 0, 0, 0) ) return; /* Everything else is an error. */ diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c index 849c0b87eb..bfe2842817 100644 --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -2857,7 +2857,6 @@ void p2m_mem_paging_resume(struct p2m_domain *p2m) /* Unpause any domains that were paused because the ring was full */ mem_event_unpause_vcpus(d); } -#endif /* __x86_64__ */ void p2m_mem_access_check(unsigned long gpa, bool_t gla_valid, unsigned long gla, bool_t access_r, bool_t access_w, bool_t access_x) @@ -2949,6 +2948,7 @@ void p2m_mem_access_resume(struct p2m_domain *p2m) * was available */ mem_event_unpause_vcpus(d); } +#endif /* __x86_64__ */ /* * Local variables: diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h index dc8e238a95..ca122c1ab6 100644 --- a/xen/include/asm-x86/hvm/hvm.h +++ b/xen/include/asm-x86/hvm/hvm.h @@ -372,6 +372,7 @@ bool_t hvm_hap_nested_page_fault(unsigned long gpa, int hvm_x2apic_msr_read(struct vcpu *v, unsigned int msr, uint64_t *msr_content); int hvm_x2apic_msr_write(struct vcpu *v, unsigned int msr, uint64_t msr_content); +#ifdef __x86_64__ /* Called for current VCPU on crX changes by guest */ void hvm_memory_event_cr0(unsigned long value, unsigned long old); void hvm_memory_event_cr3(unsigned long value, unsigned long old); @@ -379,5 +380,15 @@ void hvm_memory_event_cr4(unsigned long value, unsigned long old); /* Called for current VCPU on int3: returns -1 if no listener */ int hvm_memory_event_int3(unsigned long gla); +#else +static inline void hvm_memory_event_cr0(unsigned long value, unsigned long old) +{ } +static inline void hvm_memory_event_cr3(unsigned long value, unsigned long old) +{ } +static inline void hvm_memory_event_cr4(unsigned long value, unsigned long old) +{ } +static inline int hvm_memory_event_int3(unsigned long gla) +{ return 0; } +#endif #endif /* __ASM_X86_HVM_HVM_H__ */ diff --git a/xen/include/asm-x86/p2m.h b/xen/include/asm-x86/p2m.h index 8272ec79ed..4c4ce0fe05 100644 --- a/xen/include/asm-x86/p2m.h +++ b/xen/include/asm-x86/p2m.h @@ -522,12 +522,19 @@ static inline void p2m_mem_paging_populate(struct p2m_domain *p2m, unsigned long { } #endif +#ifdef __x86_64__ /* Send mem event based on the access (gla is -1ull if not available). Handles * the rw2rx conversion */ void p2m_mem_access_check(unsigned long gpa, bool_t gla_valid, unsigned long gla, bool_t access_r, bool_t access_w, bool_t access_x); /* Resumes the running of the VCPU, restarting the last instruction */ void p2m_mem_access_resume(struct p2m_domain *p2m); +#else +static inline void p2m_mem_access_check(unsigned long gpa, bool_t gla_valid, + unsigned long gla, bool_t access_r, + bool_t access_w, bool_t access_x) +{ } +#endif struct page_info *p2m_alloc_ptp(struct p2m_domain *p2m, unsigned long type); |