diff options
author | Jan Beulich <jbeulich@suse.com> | 2013-09-09 10:20:52 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-09-09 10:20:52 +0200 |
commit | 71eb3a65e305d2cde6a2fcdae186a7f333c9b778 (patch) | |
tree | 670e86d09838d2c2a834cd3873e40c43bf580b56 /xen/include/asm-x86 | |
parent | e008e9119d03852020b93e1d4da9a80ec1af9c75 (diff) | |
download | xen-71eb3a65e305d2cde6a2fcdae186a7f333c9b778.tar.gz xen-71eb3a65e305d2cde6a2fcdae186a7f333c9b778.tar.bz2 xen-71eb3a65e305d2cde6a2fcdae186a7f333c9b778.zip |
VMX: streamline entry.S code
- move stuff easily/better done in C into C code
- re-arrange code paths so that no redundant GET_CURRENT() would remain
on the fast paths
- move long latency operations earlier
- slightly defer disabling interrupts on the VM entry path
- use ENTRY() instead of open coding it
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Tim Deegan <tim@xen.org>
Diffstat (limited to 'xen/include/asm-x86')
-rw-r--r-- | xen/include/asm-x86/hvm/hvm.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h index 00489cfc73..083f813d63 100644 --- a/xen/include/asm-x86/hvm/hvm.h +++ b/xen/include/asm-x86/hvm/hvm.h @@ -439,6 +439,21 @@ static inline void hvm_set_info_guest(struct vcpu *v) int hvm_debug_op(struct vcpu *v, int32_t op); +static inline void hvm_invalidate_regs_fields(struct cpu_user_regs *regs) +{ +#ifndef NDEBUG + regs->error_code = 0xbeef; + regs->entry_vector = 0xbeef; + regs->saved_upcall_mask = 0xbf; + regs->cs = 0xbeef; + regs->ss = 0xbeef; + regs->ds = 0xbeef; + regs->es = 0xbeef; + regs->fs = 0xbeef; + regs->gs = 0xbeef; +#endif +} + int hvm_hap_nested_page_fault(paddr_t gpa, bool_t gla_valid, unsigned long gla, bool_t access_r, |