ia64/xen-unstable

changeset 3803:856c8d422f0d

bitkeeper revision 1.1190 (420d565aLSpnsj5do0f0daHT7JHvkA)

Subject: [PATCH] vmx-shadow-lock.patch

Fix an assertion failure due to not holding the shadow_lock()
Also remove a printk that makes debug=y too verbose.
Fix an assertion that required PERF_COUNTER
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: ian@xensource.com
author iap10@freefall.cl.cam.ac.uk
date Sat Feb 12 01:05:30 2005 +0000 (2005-02-12)
parents b1a798ce6dbf
children d989598bb439
files xen/arch/x86/shadow.c xen/include/asm-x86/shadow.h
line diff
     1.1 --- a/xen/arch/x86/shadow.c	Sat Feb 12 00:50:27 2005 +0000
     1.2 +++ b/xen/arch/x86/shadow.c	Sat Feb 12 01:05:30 2005 +0000
     1.3 @@ -434,7 +434,9 @@ void unshadow_table(unsigned long gpfn, 
     1.4  void vmx_shadow_clear_state(struct domain *d)
     1.5  {
     1.6      SH_VVLOG("vmx_clear_shadow_state:");
     1.7 +    shadow_lock(d);
     1.8      clear_shadow_state(d);
     1.9 +    shadow_unlock(d);
    1.10  }
    1.11  #endif
    1.12  
    1.13 @@ -887,8 +889,7 @@ void check_pagetable(struct domain *d, p
    1.14    
    1.15      if ( ! (ss & PSH_shadowed) )
    1.16      {
    1.17 -        printk("%s-PT %p not shadowed\n", s, gptbase);
    1.18 -
    1.19 +        /*printk("%s-PT %p not shadowed\n", s, gptbase);*/
    1.20          if ( ss != 0 )
    1.21              BUG();
    1.22          return;
     2.1 --- a/xen/include/asm-x86/shadow.h	Sat Feb 12 00:50:27 2005 +0000
     2.2 +++ b/xen/include/asm-x86/shadow.h	Sat Feb 12 01:05:30 2005 +0000
     2.3 @@ -384,12 +384,14 @@ static void shadow_audit(struct domain *
     2.4          printk("Xlive=%d free=%d\n",live,free);
     2.5  
     2.6      abs = (perfc_value(shadow_l1_pages) + perfc_value(shadow_l2_pages)) - live;
     2.7 +#ifdef PERF_COUNTERS
     2.8      if ( (abs < -1) || (abs > 1) )
     2.9      {
    2.10          printk("live=%d free=%d l1=%d l2=%d\n",live,free,
    2.11                 perfc_value(shadow_l1_pages), perfc_value(shadow_l2_pages) );
    2.12          BUG();
    2.13      }
    2.14 +#endif
    2.15  }
    2.16  #else
    2.17  #define shadow_audit(p, print) ((void)0)