Properly conditionalize two places where compat-only structure fields get
accessed, and avoid compiler warnings on unused variables in two other
places.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
Index: 2007-01-08/xen/arch/x86/mm.c
===================================================================
--- 2007-01-08.orig/xen/arch/x86/mm.c 2007-01-09 17:00:55.000000000 +0100
+++ 2007-01-08/xen/arch/x86/mm.c 2007-01-11 15:33:22.000000000 +0100
@@ -1143,10 +1143,12 @@ static int alloc_l4_table(struct page_in
pl4e[l4_table_offset(PERDOMAIN_VIRT_START)] =
l4e_from_page(virt_to_page(d->arch.mm_perdomain_l3),
__PAGE_HYPERVISOR);
+#ifdef CONFIG_COMPAT
if ( IS_COMPAT(d) )
pl4e[l4_table_offset(COMPAT_ARG_XLAT_VIRT_BASE)] =
l4e_from_page(virt_to_page(d->arch.mm_arg_xlat_l3),
__PAGE_HYPERVISOR);
+#endif
return 1;
@@ -1376,7 +1378,7 @@ static int mod_l2_entry(l2_pgentry_t *pl
if ( !l2e_has_changed(ol2e, nl2e, _PAGE_PRESENT))
return UPDATE_ENTRY(l2, pl2e, ol2e, nl2e, pfn, current);
- if ( unlikely(!get_page_from_l2e(nl2e, pfn, current->domain)) )
+ if ( unlikely(!get_page_from_l2e(nl2e, pfn, d)) )
return 0;
if ( unlikely(!UPDATE_ENTRY(l2, pl2e, ol2e, nl2e, pfn, current)) )
@@ -1439,7 +1441,7 @@ static int mod_l3_entry(l3_pgentry_t *pl
if (!l3e_has_changed(ol3e, nl3e, _PAGE_PRESENT))
return UPDATE_ENTRY(l3, pl3e, ol3e, nl3e, pfn, current);
- if ( unlikely(!get_page_from_l3e(nl3e, pfn, current->domain)) )
+ if ( unlikely(!get_page_from_l3e(nl3e, pfn, d)) )
return 0;
if ( unlikely(!UPDATE_ENTRY(l3, pl3e, ol3e, nl3e, pfn, current)) )
Index: 2007-01-08/xen/include/asm-x86/config.h
===================================================================
--- 2007-01-08.orig/xen/include/asm-x86/config.h 2007-01-08
14:54:33.000000000 +0100
+++ 2007-01-08/xen/include/asm-x86/config.h 2007-01-11 15:27:04.000000000
+0100
@@ -208,7 +208,11 @@ extern unsigned long _end; /* standard E
/* This is not a fixed value, just a lower limit. */
#define __HYPERVISOR_COMPAT_VIRT_START 0xF5800000
+#ifdef CONFIG_COMPAT
#define HYPERVISOR_COMPAT_VIRT_START(d) ((d)->arch.hv_compat_vstart)
+#else
+#define HYPERVISOR_COMPAT_VIRT_START(d) 0
+#endif
#define MACH2PHYS_COMPAT_VIRT_START HYPERVISOR_COMPAT_VIRT_START
#define MACH2PHYS_COMPAT_VIRT_END 0xFFE00000
#define MACH2PHYS_COMPAT_NR_ENTRIES(d) \
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|