debuggers.hg
changeset 4614:260db0c4de3b
bitkeeper revision 1.1328 (4265217aYiP2DYWshvrhuzl1lKe_3w)
Merge freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
into freefall.cl.cam.ac.uk:/auto/groups/xeno/users/iap10/xeno-clone/xen-unstable.bk
Merge freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
into freefall.cl.cam.ac.uk:/auto/groups/xeno/users/iap10/xeno-clone/xen-unstable.bk
author | iap10@freefall.cl.cam.ac.uk |
---|---|
date | Tue Apr 19 15:19:22 2005 +0000 (2005-04-19) |
parents | dfe18db08708 41e1779574b4 |
children | 5b9e241131fb |
files | linux-2.6.11-xen-sparse/arch/xen/kernel/gnttab.c linux-2.6.11-xen-sparse/arch/xen/kernel/reboot.c xen/arch/x86/audit.c xen/arch/x86/domain.c xen/include/asm-x86/mm.h |
line diff
1.1 --- a/linux-2.6.11-xen-sparse/arch/xen/kernel/gnttab.c Tue Apr 19 13:48:05 2005 +0000 1.2 +++ b/linux-2.6.11-xen-sparse/arch/xen/kernel/gnttab.c Tue Apr 19 15:19:22 2005 +0000 1.3 @@ -319,7 +319,8 @@ static int grant_write(struct file *file 1.4 return -ENOSYS; 1.5 } 1.6 1.7 -static int __init gnttab_init(void) 1.8 + 1.9 +int gnttab_resume(void) 1.10 { 1.11 gnttab_setup_table_t setup; 1.12 unsigned long frames[NR_GRANT_FRAMES]; 1.13 @@ -341,6 +342,21 @@ static int __init gnttab_init(void) 1.14 1.15 for ( i = 0; i < NR_GRANT_ENTRIES; i++ ) 1.16 gnttab_free_list[i] = i + 1; 1.17 + 1.18 + return 0; 1.19 +} 1.20 + 1.21 +int gnttab_suspend(void) 1.22 +{ 1.23 + int i; 1.24 + for ( i = 0; i < NR_GRANT_FRAMES; i++ ) 1.25 + clear_fixmap(FIX_GNTTAB_END - i); 1.26 + return 0; 1.27 +} 1.28 + 1.29 +static int __init gnttab_init(void) 1.30 +{ 1.31 + BUG_ON(gnttab_resume()); 1.32 1.33 /* 1.34 * /proc/xen/grant : used by libxc to access grant tables
2.1 --- a/linux-2.6.11-xen-sparse/arch/xen/kernel/reboot.c Tue Apr 19 13:48:05 2005 +0000 2.2 +++ b/linux-2.6.11-xen-sparse/arch/xen/kernel/reboot.c Tue Apr 19 15:19:22 2005 +0000 2.3 @@ -84,6 +84,9 @@ static void __do_suspend(void) 2.4 #define usbif_resume() do{}while(0) 2.5 #endif 2.6 2.7 + extern int gnttab_suspend(void); 2.8 + extern int gnttab_resume(void); 2.9 + 2.10 extern void time_suspend(void); 2.11 extern void time_resume(void); 2.12 extern unsigned long max_pfn; 2.13 @@ -107,6 +110,8 @@ static void __do_suspend(void) 2.14 2.15 irq_suspend(); 2.16 2.17 + gnttab_suspend(); 2.18 + 2.19 HYPERVISOR_shared_info = (shared_info_t *)empty_zero_page; 2.20 clear_fixmap(FIX_SHARED_INFO); 2.21 2.22 @@ -138,6 +143,7 @@ static void __do_suspend(void) 2.23 HYPERVISOR_shared_info->arch.pfn_to_mfn_frame_list = 2.24 virt_to_machine(pfn_to_mfn_frame_list) >> PAGE_SHIFT; 2.25 2.26 + gnttab_resume(); 2.27 2.28 irq_resume(); 2.29
3.1 --- a/xen/arch/x86/audit.c Tue Apr 19 13:48:05 2005 +0000 3.2 +++ b/xen/arch/x86/audit.c Tue Apr 19 15:19:22 2005 +0000 3.3 @@ -285,7 +285,7 @@ int audit_adjust_pgtables(struct domain 3.4 d->id, l1mfn, i, gmfn); 3.5 errors++; 3.6 } 3.7 - } 3.8 + } 3.9 3.10 if ( page_get_owner(gpage) != d ) 3.11 { 3.12 @@ -587,7 +587,7 @@ void _audit_domain(struct domain *d, int 3.13 unsigned long mfn) 3.14 { 3.15 struct pfn_info *page = &frame_table[mfn]; 3.16 - unsigned long *pt = map_domain_mem(mfn); 3.17 + unsigned long *pt = map_domain_mem(mfn<<PAGE_SHIFT); 3.18 int i; 3.19 3.20 for ( i = 0; i < L1_PAGETABLE_ENTRIES; i++ )
4.1 --- a/xen/arch/x86/domain.c Tue Apr 19 13:48:05 2005 +0000 4.2 +++ b/xen/arch/x86/domain.c Tue Apr 19 15:19:22 2005 +0000 4.3 @@ -185,6 +185,14 @@ void dump_pageframe_info(struct domain * 4.4 page->u.inuse.type_info); 4.5 } 4.6 } 4.7 + 4.8 + list_for_each_entry ( page, &d->xenpage_list, list ) 4.9 + { 4.10 + printk("XenPage %08x: caf=%08x, taf=%08x\n", 4.11 + page_to_phys(page), page->count_info, 4.12 + page->u.inuse.type_info); 4.13 + } 4.14 + 4.15 4.16 page = virt_to_page(d->shared_info); 4.17 printk("Shared_info@%08x: caf=%08x, taf=%08x\n",
5.1 --- a/xen/include/asm-x86/mm.h Tue Apr 19 13:48:05 2005 +0000 5.2 +++ b/xen/include/asm-x86/mm.h Tue Apr 19 15:19:22 2005 +0000 5.3 @@ -332,7 +332,7 @@ int audit_adjust_pgtables(struct domain 5.4 #define AUDIT_QUIET ( 1u << 2 ) 5.5 5.6 void _audit_domain(struct domain *d, int flags); 5.7 -#define audit_domain(_d) _audit_domain((_d), 0) 5.8 +#define audit_domain(_d) _audit_domain((_d), AUDIT_ERRORS_OK) 5.9 void audit_domains(void); 5.10 5.11 #else