# HG changeset patch # User yamahata@xxxxxxxxxxxxx # Node ID 421f65aa0586c8643e9ef0a98bb509ce7966cd2d # Parent 983311b895bebff38f5a4c10cd84dff64764a787 fix INVALID_M2P_ENTRY and INVALID_M2P PATCHNAME: fix_invalid_m2p_entry_and_invalid_m2p Signed-off-by: Isaku Yamahata diff -r 983311b895be -r 421f65aa0586 xen/arch/ia64/xen/xenmem.c --- a/xen/arch/ia64/xen/xenmem.c Fri Mar 3 13:03:39 2006 -0700 +++ b/xen/arch/ia64/xen/xenmem.c Mon Mar 6 20:58:05 2006 +0900 @@ -35,6 +35,8 @@ paging_init (void) paging_init (void) { unsigned int mpt_order; + unsigned long i; + /* Create machine to physical mapping table * NOTE: similar to frame table, later we may need virtually * mapped mpt table if large hole exists. Also MAX_ORDER needs @@ -47,7 +49,9 @@ paging_init (void) panic("Not enough memory to bootstrap Xen.\n"); printk("machine to physical table: 0x%lx\n", (u64)mpt_table); - memset(mpt_table, INVALID_M2P_ENTRY, mpt_table_size); + for (i = 0; i < (1UL << mpt_order); i++) { + mpt_table[i] = INVALID_M2P_ENTRY; + } /* Other mapping setup */ zero_page_memmap_ptr = virt_to_page(ia64_imva(empty_zero_page)); diff -r 983311b895be -r 421f65aa0586 xen/include/asm-ia64/mm.h --- a/xen/include/asm-ia64/mm.h Fri Mar 3 13:03:39 2006 -0700 +++ b/xen/include/asm-ia64/mm.h Mon Mar 6 20:58:05 2006 +0900 @@ -414,8 +414,8 @@ extern unsigned long lookup_domain_mpa(s #undef machine_to_phys_mapping #define machine_to_phys_mapping mpt_table -#define INVALID_M2P_ENTRY (~0U) -#define VALID_M2P(_e) (!((_e) & (1U<<63))) +#define INVALID_M2P_ENTRY (~0UL) +#define VALID_M2P(_e) (!((_e) & (1UL<<63))) #define IS_INVALID_M2P_ENTRY(_e) (!VALID_M2P(_e)) #define set_gpfn_from_mfn(mfn, pfn) (machine_to_phys_mapping[(mfn)] = (pfn))