Index: xen-unstable.hg/xen/arch/ia64/xen/vhpt.c
===================================================================
--- xen-unstable.hg.orig/xen/arch/ia64/xen/vhpt.c	2008-01-11 15:32:10.000000000 +0900
+++ xen-unstable.hg/xen/arch/ia64/xen/vhpt.c	2008-01-11 15:32:49.000000000 +0900
@@ -127,11 +134,9 @@ void vhpt_multiple_insert(unsigned long 
 
 void __init vhpt_init(void)
 {
+#if VHPT_ENABLED
 	unsigned long paddr;
 	struct page_info *page;
-#if !VHPT_ENABLED
-	return;
-#endif
 	/* This allocation only holds true if vhpt table is unique for
 	 * all domains. Or else later new vhpt table should be allocated
 	 * from domain heap when each domain is created. Assume xen buddy
@@ -147,9 +152,14 @@ void __init vhpt_init(void)
 	__get_cpu_var(vhpt_pend) = paddr + (1 << VHPT_SIZE_LOG2) - 1;
 	printk(XENLOG_DEBUG "vhpt_init: vhpt paddr=0x%lx, end=0x%lx\n",
 	       paddr, __get_cpu_var(vhpt_pend));
+	printk("vhpt_init: vhpt cpu=%d paddr=0x%lx, end=0x%lx\n",
+	       smp_processor_id(), paddr, __get_cpu_var(vhpt_pend));
 	vhpt_erase(paddr, VHPT_SIZE_LOG2);
 	// we don't enable VHPT here.
 	// context_switch() or schedule_tail() does it.
+#else /* ! VHPT_ENABLED */
+	return;
+#endif /* VHPT_ENABLED */
 }
 
 #ifdef CONFIG_XEN_IA64_PERVCPU_VHPT
