|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [HVM][SVM] Clean up 32bit/64bit guest reg
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 571507a595cd63471df9a5ed89db91e7c897714f
# Parent 1da8f53ce65b40c6caaf1bc65c1447efb3810d59
[HVM][SVM] Clean up 32bit/64bit guest register code differences.
Signed-off-by: Tom Woller <thomas.woller@xxxxxxx>
---
xen/arch/x86/hvm/svm/svm.c | 23 +++++------------------
1 files changed, 5 insertions(+), 18 deletions(-)
diff -r 1da8f53ce65b -r 571507a595cd xen/arch/x86/hvm/svm/svm.c
--- a/xen/arch/x86/hvm/svm/svm.c Tue Jun 27 18:24:08 2006 +0100
+++ b/xen/arch/x86/hvm/svm/svm.c Wed Jun 28 10:01:18 2006 +0100
@@ -215,17 +215,6 @@ static void svm_store_cpu_guest_regs(
if ( regs != NULL )
{
-#if defined (__x86_64__)
- regs->rip = vmcb->rip;
- regs->rsp = vmcb->rsp;
- regs->rflags = vmcb->rflags;
- regs->cs = vmcb->cs.sel;
- regs->ds = vmcb->ds.sel;
- regs->es = vmcb->es.sel;
- regs->ss = vmcb->ss.sel;
- regs->gs = vmcb->gs.sel;
- regs->fs = vmcb->fs.sel;
-#elif defined (__i386__)
regs->eip = vmcb->rip;
regs->esp = vmcb->rsp;
regs->eflags = vmcb->rflags;
@@ -235,14 +224,14 @@ static void svm_store_cpu_guest_regs(
regs->ss = vmcb->ss.sel;
regs->gs = vmcb->gs.sel;
regs->fs = vmcb->fs.sel;
-#endif
}
if ( crs != NULL )
{
- crs[0] = vmcb->cr0;
- crs[3] = vmcb->cr3;
- crs[4] = vmcb->cr4;
+ /* Returning the guest's regs */
+ crs[0] = v->arch.hvm_svm.cpu_shadow_cr0;
+ crs[3] = v->arch.hvm_svm.cpu_cr3;
+ crs[4] = v->arch.hvm_svm.cpu_shadow_cr4;
}
}
@@ -258,13 +247,11 @@ static inline int long_mode_do_msr_read(
{
u64 msr_content = 0;
struct vcpu *vc = current;
- // struct svm_msr_state *msr = &vc->arch.hvm_svm.msr_content;
struct vmcb_struct *vmcb = vc->arch.hvm_svm.vmcb;
switch (regs->ecx)
{
case MSR_EFER:
- // msr_content = msr->msr_items[SVM_INDEX_MSR_EFER];
msr_content = vmcb->efer;
msr_content &= ~EFER_SVME;
break;
@@ -2583,7 +2570,7 @@ void walk_shadow_and_guest_pt(unsigned l
spte = l1e_empty();
- // This is actually overkill - we only need to make sure the hl2 is
in-sync.
+ /* This is actually overkill - we only need to make sure the hl2 is
in-sync. */
shadow_sync_va(v, gva);
gpte.l1 = 0;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [HVM][SVM] Clean up 32bit/64bit guest register code differences.,
Xen patchbot-unstable <=
|
|
|
|
|