ia64/xen-unstable
changeset 2670:03612420798a
bitkeeper revision 1.1159.117.2 (4176a216CU3JD-3Q5NlBFwP8DCqzVg)
Additional fixes to the writable pagetable error paths.
Additional fixes to the writable pagetable error paths.
author | cl349@freefall.cl.cam.ac.uk |
---|---|
date | Wed Oct 20 17:36:22 2004 +0000 (2004-10-20) |
parents | 6b58e5458fcd |
children | 3a1793ba6859 |
files | xen/arch/x86/memory.c xen/common/schedule.c |
line diff
1.1 --- a/xen/arch/x86/memory.c Wed Oct 20 16:23:51 2004 +0000 1.2 +++ b/xen/arch/x86/memory.c Wed Oct 20 17:36:22 2004 +0000 1.3 @@ -1682,6 +1682,8 @@ void ptwr_flush(const int which) 1.4 */ 1.5 memcpy(&pl1e[i], &ptwr_info[cpu].ptinfo[which].page[i], 1.6 (ENTRIES_PER_L1_PAGETABLE - i) * sizeof(l1_pgentry_t)); 1.7 + unmap_domain_mem(pl1e); 1.8 + ptwr_info[cpu].ptinfo[which].l1va = 0; 1.9 domain_crash(); 1.10 } 1.11
2.1 --- a/xen/common/schedule.c Wed Oct 20 16:23:51 2004 +0000 2.2 +++ b/xen/common/schedule.c Wed Oct 20 17:36:22 2004 +0000 2.3 @@ -326,6 +326,9 @@ void __enter_scheduler(void) 2.4 task_slice_t next_slice; 2.5 s32 r_time; /* time for new dom to run */ 2.6 2.7 + cleanup_writable_pagetable( 2.8 + prev, PTWR_CLEANUP_ACTIVE | PTWR_CLEANUP_INACTIVE); 2.9 + 2.10 perfc_incrc(sched_run); 2.11 2.12 spin_lock_irq(&schedule_data[cpu].schedule_lock); 2.13 @@ -373,9 +376,6 @@ void __enter_scheduler(void) 2.14 if ( unlikely(prev == next) ) 2.15 return; 2.16 2.17 - cleanup_writable_pagetable( 2.18 - prev, PTWR_CLEANUP_ACTIVE | PTWR_CLEANUP_INACTIVE); 2.19 - 2.20 perfc_incrc(sched_ctx); 2.21 2.22 #if defined(WAKE_HISTO)