mpt_table is accessed concurrently by cpus, so it needs volatile qualifier

-- 
yamahata
# HG changeset patch
# User [EMAIL PROTECTED]
# Node ID b6d7dc918455e9c83f13e7b654759cecdd2e1a0a
# Parent  354565c96b098fe8951d0c6f6e580974f890f11c
mpt_table is accessed concurrently by cpus, so it needs volatile qualifier
PATCHNAME: volatile_mpt_table

Signed-off-by: Isaku Yamahata <[EMAIL PROTECTED]>

diff -r 354565c96b09 -r b6d7dc918455 xen/arch/ia64/xen/xenmem.c
--- a/xen/arch/ia64/xen/xenmem.c        Fri Jun 09 15:18:59 2006 +0900
+++ b/xen/arch/ia64/xen/xenmem.c        Fri Jun 09 15:19:01 2006 +0900
@@ -35,7 +35,7 @@ unsigned long max_page;
 /*
  * Set up the page tables.
  */
-unsigned long *mpt_table;
+volatile unsigned long *mpt_table;
 
 void
 paging_init (void)
@@ -141,7 +141,7 @@ create_mpttable_page_table (u64 start, u
 create_mpttable_page_table (u64 start, u64 end, void *arg)
 {
        unsigned long address, start_page, end_page;
-       unsigned long *map_start, *map_end;
+       volatile unsigned long *map_start, *map_end;
        pgd_t *pgd;
        pud_t *pud;
        pmd_t *pmd;
diff -r 354565c96b09 -r b6d7dc918455 xen/include/asm-ia64/mm.h
--- a/xen/include/asm-ia64/mm.h Fri Jun 09 15:18:59 2006 +0900
+++ b/xen/include/asm-ia64/mm.h Fri Jun 09 15:19:01 2006 +0900
@@ -443,7 +443,7 @@ extern unsigned long dom0vp_add_physmap(
 extern unsigned long dom0vp_add_physmap(struct domain* d, unsigned long gpfn, 
unsigned long mfn, unsigned long flags, domid_t domid);
 #endif
 
-extern unsigned long *mpt_table;
+extern volatile unsigned long *mpt_table;
 extern unsigned long gmfn_to_mfn_foreign(struct domain *d, unsigned long gpfn);
 extern u64 translate_domain_pte(u64 pteval, u64 address, u64 itir__, u64* 
logps);
 #define machine_to_phys_mapping        mpt_table
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

Reply via email to