# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 411e66a837a12bc6abe7233af6a94f3336ee69b4
# Parent 4520b451a70efd7c768e3532e173840240939f3a
More debug print cleanups.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
diff -r 4520b451a70e -r 411e66a837a1 xen/arch/x86/mm.c
--- a/xen/arch/x86/mm.c Thu Jan 12 14:44:44 2006
+++ b/xen/arch/x86/mm.c Thu Jan 12 14:59:45 2006
@@ -3017,7 +3017,7 @@
/* NB. INVLPG is a serialising instruction: flushes pending updates. */
flush_tlb_one_mask(d->domain_dirty_cpumask, l1va);
PTWR_PRINTK("[%c] disconnected_l1va at %p now %"PRIpte"\n",
- PTWR_PRINT_WHICH, ptep, trawl l1e_get_intpte(pte));
+ PTWR_PRINT_WHICH, ptep, l1e_get_intpte(pte));
/*
* STEP 2. Validate any modified PTEs.
diff -r 4520b451a70e -r 411e66a837a1 xen/arch/x86/traps.c
--- a/xen/arch/x86/traps.c Thu Jan 12 14:44:44 2006
+++ b/xen/arch/x86/traps.c Thu Jan 12 14:59:45 2006
@@ -963,16 +963,26 @@
case 0x30: /* WRMSR */
/* Ignore the instruction if unprivileged. */
if ( !IS_PRIV(v->domain) )
- DPRINTK("Non-priv domain attempted WRMSR(%p,%08lx,%08lx).\n",
- _p(regs->ecx), (long)regs->eax, (long)regs->edx);
+ {
+ u32 l, h;
+ if ( (regs->ecx != MSR_EFER) ||
+ (rdmsr_user(regs->ecx, l, h) != 0) ||
+ (regs->eax != l) || (regs->edx != h) )
+ DPRINTK("Non-priv domain attempted WRMSR %p from "
+ "%08x:%08x to %08lx:%08lx.\n",
+ _p(regs->ecx), h, l, (long)regs->edx, (long)regs->eax);
+ }
else if ( wrmsr_user(regs->ecx, regs->eax, regs->edx) )
goto fail;
break;
case 0x32: /* RDMSR */
if ( !IS_PRIV(v->domain) )
- DPRINTK("Non-priv domain attempted RDMSR(%p,%08lx,%08lx).\n",
- _p(regs->ecx), (long)regs->eax, (long)regs->edx);
+ {
+ if ( regs->ecx != MSR_EFER )
+ DPRINTK("Non-priv domain attempted RDMSR %p.\n",
+ _p(regs->ecx));
+ }
/* Everyone can read the MSR space. */
if ( rdmsr_user(regs->ecx, regs->eax, regs->edx) )
goto fail;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|