diff -r 3d6c1af609bf buildconfigs/linux-defconfig_xen0_ia64 --- a/buildconfigs/linux-defconfig_xen0_ia64 Thu Aug 03 11:21:34 2006 -0600 +++ b/buildconfigs/linux-defconfig_xen0_ia64 Thu Aug 03 16:41:54 2006 -0600 @@ -91,7 +91,6 @@ CONFIG_EFI=y CONFIG_EFI=y CONFIG_GENERIC_IOMAP=y CONFIG_XEN=y -CONFIG_XEN_IA64_DOM0_VP=y CONFIG_XEN_IA64_VDSO_PARAVIRT=y CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y CONFIG_DMA_IS_DMA32=y diff -r 3d6c1af609bf buildconfigs/linux-defconfig_xenU_ia64 --- a/buildconfigs/linux-defconfig_xenU_ia64 Thu Aug 03 11:21:34 2006 -0600 +++ b/buildconfigs/linux-defconfig_xenU_ia64 Thu Aug 03 16:41:54 2006 -0600 @@ -88,7 +88,6 @@ CONFIG_EFI=y CONFIG_EFI=y CONFIG_GENERIC_IOMAP=y CONFIG_XEN=y -CONFIG_XEN_IA64_DOM0_VP=y CONFIG_XEN_IA64_VDSO_PARAVIRT=y CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y CONFIG_DMA_IS_DMA32=y diff -r 3d6c1af609bf buildconfigs/linux-defconfig_xen_ia64 --- a/buildconfigs/linux-defconfig_xen_ia64 Thu Aug 03 11:21:34 2006 -0600 +++ b/buildconfigs/linux-defconfig_xen_ia64 Thu Aug 03 16:41:54 2006 -0600 @@ -91,7 +91,6 @@ CONFIG_EFI=y CONFIG_EFI=y CONFIG_GENERIC_IOMAP=y CONFIG_XEN=y -CONFIG_XEN_IA64_DOM0_VP=y CONFIG_XEN_IA64_VDSO_PARAVIRT=y CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y CONFIG_DMA_IS_DMA32=y diff -r 3d6c1af609bf linux-2.6-xen-sparse/arch/ia64/Kconfig --- a/linux-2.6-xen-sparse/arch/ia64/Kconfig Thu Aug 03 11:21:34 2006 -0600 +++ b/linux-2.6-xen-sparse/arch/ia64/Kconfig Thu Aug 03 16:41:54 2006 -0600 @@ -56,20 +56,6 @@ config XEN help Enable Xen hypervisor support. Resulting kernel runs both as a guest OS on Xen and natively on hardware. - -config XEN_IA64_DOM0_VP - bool "dom0 vp model" - depends on XEN - default n - help - dom0 vp model - -config XEN_IA64_DOM0_NON_VP - bool - depends on XEN && !XEN_IA64_DOM0_VP - default y - help - dom0 P=M model config XEN_IA64_VDSO_PARAVIRT bool @@ -516,25 +502,25 @@ source "crypto/Kconfig" # if XEN config XEN_UTIL - default n if XEN_IA64_DOM0_VP + default n config HAVE_ARCH_ALLOC_SKB - default n if !XEN_IA64_DOM0_VP + default y config HAVE_ARCH_DEV_ALLOC_SKB - default n if !XEN_IA64_DOM0_VP + default y config XEN_BALLOON - default n if !XEN_IA64_DOM0_VP + default y config XEN_SKBUFF - default n if !XEN_IA64_DOM0_VP + default y config XEN_NETDEV_BACKEND - default n if !XEN_IA64_DOM0_VP + default y config XEN_NETDEV_FRONTEND - default n if !XEN_IA64_DOM0_VP + default y config XEN_DEVMEM default n diff -r 3d6c1af609bf linux-2.6-xen-sparse/arch/ia64/xen/Makefile --- a/linux-2.6-xen-sparse/arch/ia64/xen/Makefile Thu Aug 03 11:21:34 2006 -0600 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/Makefile Thu Aug 03 16:41:54 2006 -0600 @@ -2,7 +2,7 @@ # Makefile for Xen components # -obj-y := hypercall.o xenivt.o xenentry.o xensetup.o xenpal.o xenhpski.o +obj-y := hypercall.o xenivt.o xenentry.o xensetup.o xenpal.o xenhpski.o \ + hypervisor.o pci-dma-xen.o util.o -obj-$(CONFIG_XEN_IA64_DOM0_VP) += hypervisor.o pci-dma-xen.o util.o -pci-dma-xen-$(CONFIG_XEN_IA64_DOM0_VP) := ../../i386/kernel/pci-dma-xen.o +pci-dma-xen-y := ../../i386/kernel/pci-dma-xen.o diff -r 3d6c1af609bf linux-2.6-xen-sparse/arch/ia64/xen/util.c --- a/linux-2.6-xen-sparse/arch/ia64/xen/util.c Thu Aug 03 11:21:34 2006 -0600 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/util.c Thu Aug 03 16:41:54 2006 -0600 @@ -105,21 +105,6 @@ void unlock_vm_area(struct vm_struct *ar } EXPORT_SYMBOL_GPL(unlock_vm_area); -#ifndef CONFIG_XEN_IA64_DOM0_VP -/* We just need a range of legal va here, though finally identity - * mapped one is instead used for gnttab mapping. - */ -unsigned long alloc_empty_foreign_map_page_range(unsigned long pages) -{ - struct vm_struct *vma; - - if ( (vma = get_vm_area(PAGE_SIZE * pages, VM_ALLOC)) == NULL ) - return NULL; - - return (unsigned long)vma->addr; -} -#endif - /* * Local variables: * c-file-style: "linux" diff -r 3d6c1af609bf linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c --- a/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c Thu Aug 03 11:21:34 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c Thu Aug 03 16:41:54 2006 -0600 @@ -398,14 +398,9 @@ static void dispatch_rw_block_io(blkif_t } pending_handle(pending_req, i) = map[i].handle; -#ifdef CONFIG_XEN_IA64_DOM0_NON_VP - pending_vaddrs[vaddr_pagenr(pending_req, i)] = - (unsigned long)gnttab_map_vaddr(map[i]); -#else set_phys_to_machine(__pa(vaddr( pending_req, i)) >> PAGE_SHIFT, FOREIGN_FRAME(map[i].dev_bus_addr >> PAGE_SHIFT)); -#endif seg[i].buf = map[i].dev_bus_addr | (req->seg[i].first_sect << 9); } @@ -534,16 +529,9 @@ static int __init blkif_init(void) blkif_interface_init(); -#ifdef CONFIG_XEN_IA64_DOM0_NON_VP - extern unsigned long alloc_empty_foreign_map_page_range( - unsigned long pages); - mmap_vstart = (unsigned long) - alloc_empty_foreign_map_page_range(mmap_pages); -#else /* ! ia64 */ page = balloon_alloc_empty_page_range(mmap_pages); BUG_ON(page == NULL); mmap_vstart = (unsigned long)pfn_to_kaddr(page_to_pfn(page)); -#endif printk("%s: reqs=%d, pages=%d, mmap_vstart=0x%lx\n", __FUNCTION__, blkif_reqs, mmap_pages, mmap_vstart); BUG_ON(mmap_vstart == 0); diff -r 3d6c1af609bf linux-2.6-xen-sparse/drivers/xen/blkback/interface.c --- a/linux-2.6-xen-sparse/drivers/xen/blkback/interface.c Thu Aug 03 11:21:34 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/interface.c Thu Aug 03 16:41:54 2006 -0600 @@ -75,12 +75,6 @@ static int map_frontend_page(blkif_t *bl blkif->shmem_ref = shared_page; blkif->shmem_handle = op.handle; - -#ifdef CONFIG_XEN_IA64_DOM0_NON_VP - /* on some arch's, map_grant_ref behaves like mmap, in that the - * passed address is a hint and a different address may be returned */ - blkif->blk_ring_area->addr = gnttab_map_vaddr(op); -#endif return 0; } diff -r 3d6c1af609bf linux-2.6-xen-sparse/drivers/xen/blktap/blktap.c --- a/linux-2.6-xen-sparse/drivers/xen/blktap/blktap.c Thu Aug 03 11:21:34 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/blktap/blktap.c Thu Aug 03 16:41:54 2006 -0600 @@ -1299,13 +1299,8 @@ static void dispatch_rw_block_io(blkif_t = map[i].handle; pending_handle(mmap_idx, pending_idx, i/2).user = map[i+1].handle; -#ifdef CONFIG_XEN_IA64_DOM0_NON_VP - pending_addrs[mmap_idx][vaddr_pagenr(pending_req, i)] = - (unsigned long)gnttab_map_vaddr(map[i]); -#else set_phys_to_machine(__pa(kvaddr) >> PAGE_SHIFT, FOREIGN_FRAME(map[i].dev_bus_addr >> PAGE_SHIFT)); -#endif offset = (uvaddr - info->vma->vm_start) >> PAGE_SHIFT; pg = pfn_to_page(__pa(kvaddr) >> PAGE_SHIFT); ((struct page **)info->vma->vm_private_data)[offset] = diff -r 3d6c1af609bf linux-2.6-xen-sparse/drivers/xen/blktap/interface.c --- a/linux-2.6-xen-sparse/drivers/xen/blktap/interface.c Thu Aug 03 11:21:34 2006 -0600 +++ b/linux-2.6-xen-sparse/drivers/xen/blktap/interface.c Thu Aug 03 16:41:54 2006 -0600 @@ -75,12 +75,6 @@ static int map_frontend_page(blkif_t *bl blkif->shmem_ref = shared_page; blkif->shmem_handle = op.handle; - -#ifdef CONFIG_XEN_IA64_DOM0_NON_VP - /* on some arch's, map_grant_ref behaves like mmap, in that the - * passed address is a hint and a different address may be returned */ - blkif->blk_ring_area->addr = gnttab_map_vaddr(op); -#endif return 0; } diff -r 3d6c1af609bf linux-2.6-xen-sparse/include/asm-ia64/agp.h --- a/linux-2.6-xen-sparse/include/asm-ia64/agp.h Thu Aug 03 11:21:34 2006 -0600 +++ b/linux-2.6-xen-sparse/include/asm-ia64/agp.h Thu Aug 03 16:41:54 2006 -0600 @@ -19,21 +19,10 @@ #define flush_agp_cache() mb() /* Convert a physical address to an address suitable for the GART. */ -#ifndef CONFIG_XEN_IA64_DOM0_VP -#define phys_to_gart(x) (x) -#define gart_to_phys(x) (x) -#else #define phys_to_gart(x) phys_to_machine_for_dma(x) #define gart_to_phys(x) machine_to_phys_for_dma(x) -#endif /* GATT allocation. Returns/accepts GATT kernel virtual address. */ -#ifndef CONFIG_XEN_IA64_DOM0_VP -#define alloc_gatt_pages(order) \ - ((char *)__get_free_pages(GFP_KERNEL, (order))) -#define free_gatt_pages(table, order) \ - free_pages((unsigned long)(table), (order)) -#else #include static inline char* alloc_gatt_pages(unsigned int order) @@ -57,6 +46,5 @@ free_gatt_pages(void* table, unsigned in xen_destroy_contiguous_region((unsigned long)table, order); free_pages((unsigned long)table, order); } -#endif /* CONFIG_XEN_IA64_DOM0_VP */ #endif /* _ASM_IA64_AGP_H */ diff -r 3d6c1af609bf linux-2.6-xen-sparse/include/asm-ia64/dma-mapping.h --- a/linux-2.6-xen-sparse/include/asm-ia64/dma-mapping.h Thu Aug 03 11:21:34 2006 -0600 +++ b/linux-2.6-xen-sparse/include/asm-ia64/dma-mapping.h Thu Aug 03 16:41:54 2006 -0600 @@ -7,28 +7,11 @@ */ #include #include -#ifdef CONFIG_XEN_IA64_DOM0_VP /* Needed for arch/i386/kernel/swiotlb.c and arch/i386/kernel/pci-dma-xen.c */ #include /* Needed for arch/i386/kernel/swiotlb.c */ #include -#endif -#ifndef CONFIG_XEN_IA64_DOM0_VP -#define dma_alloc_coherent platform_dma_alloc_coherent -#define dma_alloc_noncoherent platform_dma_alloc_coherent /* coherent mem. is cheap */ -#define dma_free_coherent platform_dma_free_coherent -#define dma_free_noncoherent platform_dma_free_coherent -#define dma_map_single platform_dma_map_single -#define dma_map_sg platform_dma_map_sg -#define dma_unmap_single platform_dma_unmap_single -#define dma_unmap_sg platform_dma_unmap_sg -#define dma_sync_single_for_cpu platform_dma_sync_single_for_cpu -#define dma_sync_sg_for_cpu platform_dma_sync_sg_for_cpu -#define dma_sync_single_for_device platform_dma_sync_single_for_device -#define dma_sync_sg_for_device platform_dma_sync_sg_for_device -#define dma_mapping_error platform_dma_mapping_error -#else int dma_map_sg(struct device *hwdev, struct scatterlist *sg, int nents, enum dma_data_direction direction); void dma_unmap_sg(struct device *hwdev, struct scatterlist *sg, int nents, @@ -67,7 +50,6 @@ dma_sync_sg_for_device(struct device *de swiotlb_sync_sg_for_device(dev,sg,nelems,direction); flush_write_buffers(); } -#endif #define dma_map_page(dev, pg, off, size, dir) \ dma_map_single(dev, page_address(pg) + (off), (size), (dir)) @@ -109,7 +91,6 @@ dma_cache_sync (void *vaddr, size_t size #define dma_is_consistent(dma_handle) (1) /* all we do is coherent memory... */ -#ifdef CONFIG_XEN_IA64_DOM0_VP /* arch/i386/kernel/swiotlb.o requires */ void contiguous_bitmap_init(unsigned long end_pfn); @@ -130,8 +111,5 @@ range_straddles_page_boundary(void *p, s return (((((unsigned long)p & ~PAGE_MASK) + size) > PAGE_SIZE) && !test_bit(__pa(p) >> PAGE_SHIFT, contiguous_bitmap)); } -#else -#define contiguous_bitmap_init(end_pfn) ((void)end_pfn) -#endif #endif /* _ASM_IA64_DMA_MAPPING_H */ diff -r 3d6c1af609bf linux-2.6-xen-sparse/include/asm-ia64/hypercall.h --- a/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h Thu Aug 03 11:21:34 2006 -0600 +++ b/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h Thu Aug 03 16:41:54 2006 -0600 @@ -195,14 +195,6 @@ HYPERVISOR_multicall( return _hypercall2(int, multicall, call_list, nr_calls); } -#ifndef CONFIG_XEN_IA64_DOM0_VP -static inline int -HYPERVISOR_memory_op( - unsigned int cmd, void *arg) -{ - return _hypercall2(int, memory_op, cmd, arg); -} -#else //XXX xen/ia64 copy_from_guest() is broken. // This is a temporal work around until it is fixed. static inline int @@ -230,7 +222,6 @@ HYPERVISOR_memory_op( } /* NOTREACHED */ } -#endif static inline int HYPERVISOR_event_channel_op( @@ -288,12 +279,8 @@ ____HYPERVISOR_grant_table_op( { return _hypercall3(int, grant_table_op, cmd, uop, count); } -#ifndef CONFIG_XEN_IA64_DOM0_VP -#define HYPERVISOR_grant_table_op(cmd, uop, count) \ - ____HYPERVISOR_grant_table_op((cmd), (uop), (count)) -#else + int HYPERVISOR_grant_table_op(unsigned int cmd, void *uop, unsigned int count); -#endif static inline int HYPERVISOR_vcpu_op( @@ -319,7 +306,6 @@ static inline void exit_idle(void) {} irq_exit(); \ }) -#ifdef CONFIG_XEN_IA64_DOM0_VP #include #include @@ -507,11 +493,4 @@ HYPERVISOR_add_physmap(unsigned long gpf // for balloon driver #define HYPERVISOR_update_va_mapping(va, new_val, flags) (0) -#else -#define HYPERVISOR_ioremap(ioaddr, size) (ioaddr) -#define HYPERVISOR_phystomach(gpfn) (gpfn) -#define HYPERVISOR_machtophys(mfn) (mfn) -#define HYPERVISOR_zap_physmap(gpfn, extent_order) (0) -#define HYPERVISOR_add_physmap(gpfn, mfn, flags) (0) -#endif #endif /* __HYPERCALL_H__ */ diff -r 3d6c1af609bf linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h --- a/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h Thu Aug 03 11:21:34 2006 -0600 +++ b/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h Thu Aug 03 16:41:54 2006 -0600 @@ -125,11 +125,6 @@ HYPERVISOR_poll( // for drivers/xen/privcmd/privcmd.c #define machine_to_phys_mapping 0 -#ifndef CONFIG_XEN_IA64_DOM0_VP -#define direct_remap_pfn_range(a,b,c,d,e,f) remap_pfn_range(a,b,c,d,e) -#define pfn_to_mfn(x) (x) -#define mfn_to_pfn(x) (x) -#else struct vm_area_struct; int direct_remap_pfn_range(struct vm_area_struct *vma, unsigned long address, @@ -140,7 +135,6 @@ struct file; struct file; int privcmd_mmap(struct file * file, struct vm_area_struct * vma); #define HAVE_ARCH_PRIVCMD_MMAP -#endif // for drivers/xen/balloon/balloon.c #ifdef CONFIG_XEN_SCRUB_PAGES @@ -152,12 +146,7 @@ int privcmd_mmap(struct file * file, str #define __pte_ma(_x) ((pte_t) {(_x)}) #define phys_to_machine_mapping_valid(_x) (1) #define pfn_pte_ma(_x,_y) __pte_ma(0) -#ifndef CONFIG_XEN_IA64_DOM0_VP //XXX -#define set_phys_to_machine(_x,_y) do {} while (0) -#define xen_machphys_update(_x,_y) do {} while (0) -#endif -#ifdef CONFIG_XEN_IA64_DOM0_VP int __xen_create_contiguous_region(unsigned long vstart, unsigned int order, unsigned int address_bits); static inline int xen_create_contiguous_region(unsigned long vstart, @@ -191,11 +180,6 @@ MULTI_update_va_mapping( mcl->result = 0; } -#else -#define xen_create_contiguous_region(vstart, order, address_bits) (0) -#define xen_destroy_contiguous_region(vstart, order) do {} while (0) -#endif - // for debug asmlinkage int xprintk(const char *fmt, ...); #define xprintd(fmt, ...) xprintk("%s:%d " fmt, __func__, __LINE__, \ diff -r 3d6c1af609bf linux-2.6-xen-sparse/include/asm-ia64/io.h --- a/linux-2.6-xen-sparse/include/asm-ia64/io.h Thu Aug 03 11:21:34 2006 -0600 +++ b/linux-2.6-xen-sparse/include/asm-ia64/io.h Thu Aug 03 16:41:54 2006 -0600 @@ -97,13 +97,6 @@ extern int valid_mmap_phys_addr_range (u * The following two macros are deprecated and scheduled for removal. * Please use the PCI-DMA interface defined in instead. */ -#ifndef CONFIG_XEN_IA64_DOM0_VP -#define bus_to_virt phys_to_virt -#define virt_to_bus virt_to_phys -#define page_to_bus page_to_phys -#define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT) -#define page_to_pseudophys(page) page_to_phys(page) -#else #define bus_to_virt(bus) \ phys_to_virt(machine_to_phys_for_dma(bus)) #define virt_to_bus(virt) \ @@ -131,7 +124,6 @@ extern int valid_mmap_phys_addr_range (u (((bvec_to_bus((vec1)) + (vec1)->bv_len) == bvec_to_bus((vec2))) && \ ((bvec_to_pseudophys((vec1)) + (vec1)->bv_len) == \ bvec_to_pseudophys((vec2)))) -#endif # endif /* KERNEL */ diff -r 3d6c1af609bf linux-2.6-xen-sparse/include/asm-ia64/machvec.h --- a/linux-2.6-xen-sparse/include/asm-ia64/machvec.h Thu Aug 03 11:21:34 2006 -0600 +++ b/linux-2.6-xen-sparse/include/asm-ia64/machvec.h Thu Aug 03 16:41:54 2006 -0600 @@ -247,7 +247,6 @@ extern void machvec_init (const char *na # error Unknown configuration. Update asm-ia64/machvec.h. # endif /* CONFIG_IA64_GENERIC */ -#ifdef CONFIG_XEN_IA64_DOM0_VP # define platform_dma_map_sg dma_map_sg # define platform_dma_unmap_sg dma_unmap_sg # define platform_dma_mapping_error dma_mapping_error @@ -260,7 +259,6 @@ extern void machvec_init (const char *na dma_sync_single_for_cpu # define platform_dma_sync_single_for_device \ dma_sync_single_for_device -#endif /* * Declare default routines which aren't declared anywhere else: diff -r 3d6c1af609bf linux-2.6-xen-sparse/include/asm-ia64/page.h --- a/linux-2.6-xen-sparse/include/asm-ia64/page.h Thu Aug 03 11:21:34 2006 -0600 +++ b/linux-2.6-xen-sparse/include/asm-ia64/page.h Thu Aug 03 16:41:54 2006 -0600 @@ -223,15 +223,6 @@ get_order (unsigned long size) #define INVALID_P2M_ENTRY (~0UL) -#ifndef CONFIG_XEN_IA64_DOM0_VP - -#define virt_to_machine(v) __pa(v) -#define machine_to_virt(m) __va(m) -#define virt_to_mfn(v) ((__pa(v)) >> PAGE_SHIFT) -#define mfn_to_virt(m) (__va((m) << PAGE_SHIFT)) - -#else - #include #include #include // to compile netback, netfront @@ -337,7 +328,6 @@ mfn_to_local_pfn(unsigned long mfn) return pfn; } -#endif /* CONFIG_XEN_IA64_DOM0_VP */ #endif /* CONFIG_XEN */ #endif /* __ASSEMBLY__ */ diff -r 3d6c1af609bf xen/arch/ia64/Rules.mk --- a/xen/arch/ia64/Rules.mk Thu Aug 03 11:21:34 2006 -0600 +++ b/xen/arch/ia64/Rules.mk Thu Aug 03 16:41:54 2006 -0600 @@ -3,7 +3,6 @@ HAS_ACPI := y VALIDATE_VT ?= n -xen_ia64_dom0_virtual_physical ?= y no_warns ?= n ifneq ($(COMPILE_ARCH),$(TARGET_ARCH)) @@ -36,9 +35,6 @@ ifeq ($(VALIDATE_VT),y) ifeq ($(VALIDATE_VT),y) CFLAGS += -DVALIDATE_VT endif -ifeq ($(xen_ia64_dom0_virtual_physical),y) -CFLAGS += -DCONFIG_XEN_IA64_DOM0_VP -endif ifeq ($(no_warns),y) CFLAGS += -Wa,--fatal-warnings -Werror -Wno-uninitialized endif diff -r 3d6c1af609bf xen/arch/ia64/xen/dom0_ops.c --- a/xen/arch/ia64/xen/dom0_ops.c Thu Aug 03 11:21:34 2006 -0600 +++ b/xen/arch/ia64/xen/dom0_ops.c Thu Aug 03 16:41:54 2006 -0600 @@ -199,7 +199,6 @@ long arch_do_dom0_op(dom0_op_t *op, XEN_ return ret; } -#ifdef CONFIG_XEN_IA64_DOM0_VP static unsigned long dom0vp_ioremap(struct domain *d, unsigned long mpaddr, unsigned long size) { @@ -260,7 +259,6 @@ do_dom0vp_op(unsigned long cmd, return ret; } -#endif /* * Local variables: diff -r 3d6c1af609bf xen/arch/ia64/xen/dom_fw.c --- a/xen/arch/ia64/xen/dom_fw.c Thu Aug 03 11:21:34 2006 -0600 +++ b/xen/arch/ia64/xen/dom_fw.c Thu Aug 03 16:41:54 2006 -0600 @@ -169,12 +169,6 @@ static void dom_fpswa_hypercall_patch(st unsigned long entry_paddr = FW_HYPERCALL_FPSWA_ENTRY_PADDR; unsigned long patch_paddr = FW_HYPERCALL_FPSWA_PATCH_PADDR; -#ifndef CONFIG_XEN_IA64_DOM0_VP - if (d == dom0) { - entry_paddr += dom0_start; - patch_paddr += dom0_start; - } -#endif ASSIGN_NEW_DOMAIN_PAGE_IF_DOM0(d, entry_paddr); ASSIGN_NEW_DOMAIN_PAGE_IF_DOM0(d, patch_paddr); entry_imva = domain_mpa_to_imva(d, entry_paddr); @@ -190,9 +184,6 @@ static void dom_efi_hypercall_patch(stru { unsigned long *imva; -#ifndef CONFIG_XEN_IA64_DOM0_VP - if (d == dom0) paddr += dom0_start; -#endif ASSIGN_NEW_DOMAIN_PAGE_IF_DOM0(d, paddr); imva = domain_mpa_to_imva(d, paddr); build_hypercall_bundle(imva, d->arch.breakimm, hypercall, 1); @@ -223,12 +214,6 @@ void dom_fw_setup(struct domain *d, unsi struct ia64_boot_param *bp; dom_fw_base_mpa = 0; -#ifndef CONFIG_XEN_IA64_DOM0_VP - if (d == dom0) { - dom_fw_base_mpa += dom0_start; - bp_mpa += dom0_start; - } -#endif ASSIGN_NEW_DOMAIN_PAGE_IF_DOM0(d, dom_fw_base_mpa); imva_fw_base = (unsigned long) domain_mpa_to_imva(d, dom_fw_base_mpa); ASSIGN_NEW_DOMAIN_PAGE_IF_DOM0(d, bp_mpa); @@ -483,10 +468,8 @@ dom_fw_fake_acpi(struct domain *d, struc #define NUM_MEM_DESCS 64 //large enough struct dom0_passthrough_arg { -#ifdef CONFIG_XEN_IA64_DOM0_VP struct domain* d; int flags; -#endif efi_memory_desc_t *md; int* i; }; @@ -496,8 +479,6 @@ dom_fw_dom0_passthrough(efi_memory_desc_ { struct dom0_passthrough_arg* arg = (struct dom0_passthrough_arg*)arg__; unsigned long paddr; - -#ifdef CONFIG_XEN_IA64_DOM0_VP struct domain* d = arg->d; u64 start = md->phys_addr; u64 size = md->num_pages << EFI_PAGE_SHIFT; @@ -515,9 +496,6 @@ dom_fw_dom0_passthrough(efi_memory_desc_ paddr = assign_domain_mmio_page(d, start, size); } else paddr = assign_domain_mach_page(d, start, size, arg->flags); -#else - paddr = md->phys_addr; -#endif BUG_ON(md->type != EFI_RUNTIME_SERVICES_CODE && md->type != EFI_RUNTIME_SERVICES_DATA && @@ -630,11 +608,7 @@ dom_fw_init (struct domain *d, struct ia unsigned char checksum = 0; char *cp, *fw_vendor; int num_mds, j, i = 0; -#ifdef CONFIG_XEN_IA64_DOM0_VP const unsigned long start_mpaddr = 0; -#else - const unsigned long start_mpaddr = ((d==dom0)?dom0_start:0); -#endif /* FIXME: should check size but for now we have a whole MB to play with. And if stealing code from fw-emu.c, watch out for new fw_vendor on the end! @@ -800,52 +774,24 @@ dom_fw_init (struct domain *d, struct ia dom_pa((unsigned long)fw_mem + fw_mem_size), 1); if (d == dom0) { -#ifndef CONFIG_XEN_IA64_DOM0_VP - /* - * This is a bad hack. Dom0 may share other domains' memory - * through a dom0 physical address. Unfortunately, this - * address may be used in maddr_to_page (e.g. in the loopback - * driver) but when Linux initializes memory it only creates - * page structs for the physical memory it knows about. And - * on ia64, only for full writeback granules. So, we reserve - * the last full granule of Xen's memory for dom0 (in - * start_kernel) to ensure dom0 creates a large enough memmap - */ - unsigned long last_start = max_page << PAGE_SHIFT; - unsigned long last_end = last_start + IA64_GRANULE_SIZE; - - /* simulate 1MB free memory at physical address zero */ - MAKE_MD(EFI_LOADER_DATA,EFI_MEMORY_WB,0*MB,1*MB, 0);//XXX -#endif /* hypercall patches live here, masquerade as reserved PAL memory */ MAKE_MD(EFI_PAL_CODE,EFI_MEMORY_WB|EFI_MEMORY_RUNTIME,HYPERCALL_START,HYPERCALL_END, 0); - -#ifndef CONFIG_XEN_IA64_DOM0_VP - MAKE_MD(EFI_CONVENTIONAL_MEMORY,EFI_MEMORY_WB,HYPERCALL_END,maxmem-IA64_GRANULE_SIZE, 0);//XXX make sure this doesn't overlap on i/o, runtime area. -/* hack */ MAKE_MD(EFI_CONVENTIONAL_MEMORY,EFI_MEMORY_WB,last_start,last_end,1); -#endif /* pass through the I/O port space */ if (!running_on_sim) { struct dom0_passthrough_arg arg; arg.md = &efi_memmap[i]; arg.i = &i; -#ifdef CONFIG_XEN_IA64_DOM0_VP arg.d = d; arg.flags = ASSIGN_writable; -#endif //XXX Is this needed? efi_memmap_walk_type(EFI_RUNTIME_SERVICES_CODE, dom_fw_dom0_passthrough, &arg); // for ACPI table. -#ifdef CONFIG_XEN_IA64_DOM0_VP arg.flags = ASSIGN_readonly; -#endif efi_memmap_walk_type(EFI_RUNTIME_SERVICES_DATA, dom_fw_dom0_passthrough, &arg); -#ifdef CONFIG_XEN_IA64_DOM0_VP arg.flags = ASSIGN_writable; -#endif efi_memmap_walk_type(EFI_ACPI_RECLAIM_MEMORY, dom_fw_dom0_passthrough, &arg); efi_memmap_walk_type(EFI_ACPI_MEMORY_NVS, @@ -861,12 +807,6 @@ dom_fw_init (struct domain *d, struct ia } else MAKE_MD(EFI_RESERVED_TYPE,0,0,0,0); } else { -#ifndef CONFIG_XEN_IA64_DOM0_VP - /* Dom0 maps legacy mmio in first MB. */ - MAKE_MD(EFI_LOADER_DATA, EFI_MEMORY_WB, 0*MB, 1*MB, 1); - MAKE_MD(EFI_CONVENTIONAL_MEMORY, EFI_MEMORY_WB, - HYPERCALL_END, maxmem, 1); -#endif /* hypercall patches live here, masquerade as reserved PAL memory */ MAKE_MD(EFI_PAL_CODE, EFI_MEMORY_WB | EFI_MEMORY_RUNTIME, @@ -877,7 +817,6 @@ dom_fw_init (struct domain *d, struct ia MAKE_MD(EFI_RESERVED_TYPE,0,0,0,0); } -#ifdef CONFIG_XEN_IA64_DOM0_VP // simple // MAKE_MD(EFI_CONVENTIONAL_MEMORY, EFI_MEMORY_WB, // HYPERCALL_END, maxmem, 0); @@ -920,7 +859,6 @@ dom_fw_init (struct domain *d, struct ia if (next_start >= maxmem) break; } -#endif sort(efi_memmap, i, sizeof(efi_memory_desc_t), efi_mdt_cmp, NULL); bp->efi_systab = dom_pa((unsigned long) fw_mem); diff -r 3d6c1af609bf xen/arch/ia64/xen/domain.c --- a/xen/arch/ia64/xen/domain.c Thu Aug 03 11:21:34 2006 -0600 +++ b/xen/arch/ia64/xen/domain.c Thu Aug 03 16:41:54 2006 -0600 @@ -49,9 +49,6 @@ #include #include -#ifndef CONFIG_XEN_IA64_DOM0_VP -#define CONFIG_DOMAIN0_CONTIGUOUS -#endif unsigned long dom0_start = -1L; unsigned long dom0_size = 512*1024*1024; unsigned long dom0_align = 64*1024*1024; @@ -534,9 +531,7 @@ static void relinquish_memory(struct dom /* Follow the list chain and /then/ potentially free the page. */ ent = ent->next; -#ifdef CONFIG_XEN_IA64_DOM0_VP BUG_ON(get_gpfn_from_mfn(page_to_mfn(page)) != INVALID_M2P_ENTRY); -#endif put_page(page); } @@ -953,11 +948,7 @@ int construct_dom0(struct domain *d, alloc_end = dom0_start + dom0_size; max_pages = dom0_size / PAGE_SIZE; d->max_pages = max_pages; -#ifndef CONFIG_XEN_IA64_DOM0_VP - d->tot_pages = d->max_pages; -#else d->tot_pages = 0; -#endif dsi.image_addr = (unsigned long)image_start; dsi.image_len = image_len; rc = parseelfimage(&dsi); @@ -1054,25 +1045,6 @@ int construct_dom0(struct domain *d, if (alloc_vcpu(d, i, i) == NULL) printf ("Cannot allocate dom0 vcpu %d\n", i); -#if defined(VALIDATE_VT) && !defined(CONFIG_XEN_IA64_DOM0_VP) - /* Construct a frame-allocation list for the initial domain, since these - * pages are allocated by boot allocator and pfns are not set properly - */ - for ( mfn = (alloc_start>>PAGE_SHIFT); - mfn < (alloc_end>>PAGE_SHIFT); - mfn++ ) - { - page = mfn_to_page(mfn); - page_set_owner(page, d); - page->u.inuse.type_info = 0; - page->count_info = PGC_allocated | 1; - list_add_tail(&page->list, &d->page_list); - - /* Construct 1:1 mapping */ - set_gpfn_from_mfn(mfn, mfn); - } -#endif - /* Copy the OS image. */ loaddomainelfimage(d,image_start); diff -r 3d6c1af609bf xen/arch/ia64/xen/hypercall.c --- a/xen/arch/ia64/xen/hypercall.c Thu Aug 03 11:21:34 2006 -0600 +++ b/xen/arch/ia64/xen/hypercall.c Thu Aug 03 16:41:54 2006 -0600 @@ -84,11 +84,7 @@ hypercall_t ia64_hypercall_table[] = (hypercall_t)do_ni_hypercall, /* */ /* 45 */ (hypercall_t)do_ni_hypercall, /* */ (hypercall_t)do_ni_hypercall, /* */ -#ifdef CONFIG_XEN_IA64_DOM0_VP (hypercall_t)do_dom0vp_op, /* dom0vp_op */ -#else - (hypercall_t)do_ni_hypercall, /* arch_0 */ -#endif (hypercall_t)do_ni_hypercall, /* arch_1 */ (hypercall_t)do_ni_hypercall, /* arch_2 */ /* 50 */ (hypercall_t)do_ni_hypercall, /* arch_3 */ diff -r 3d6c1af609bf xen/arch/ia64/xen/hyperprivop.S --- a/xen/arch/ia64/xen/hyperprivop.S Thu Aug 03 11:21:34 2006 -0600 +++ b/xen/arch/ia64/xen/hyperprivop.S Thu Aug 03 16:41:54 2006 -0600 @@ -27,20 +27,10 @@ #define FAST_REFLECT_CNT //#define FAST_TICK // mostly working (unat problems) but default off for now //#define FAST_TLB_MISS_REFLECT // mostly working but default off for now -#ifdef CONFIG_XEN_IA64_DOM0_VP -#undef FAST_ITC //XXX CONFIG_XEN_IA64_DOM0_VP - // TODO fast_itc doesn't suport dom0 vp yet. -#else -//#define FAST_ITC // to be reviewed -#endif +#undef FAST_ITC //XXX TODO fast_itc doesn't suport dom0 vp yet. #define FAST_BREAK -#ifndef CONFIG_XEN_IA64_DOM0_VP -# define FAST_ACCESS_REFLECT -#else -# undef FAST_ACCESS_REFLECT //XXX CONFIG_XEN_IA64_DOM0_VP - // TODO fast_access_reflect +# undef FAST_ACCESS_REFLECT //XXX TODO fast_access_reflect // doesn't support dom0 vp yet. -#endif #define FAST_RFI #define FAST_SSM_I #define FAST_PTC_GA diff -r 3d6c1af609bf xen/arch/ia64/xen/mm.c --- a/xen/arch/ia64/xen/mm.c Thu Aug 03 11:21:34 2006 -0600 +++ b/xen/arch/ia64/xen/mm.c Thu Aug 03 16:41:54 2006 -0600 @@ -173,12 +173,8 @@ #include #include -#ifndef CONFIG_XEN_IA64_DOM0_VP -#define CONFIG_DOMAIN0_CONTIGUOUS -#else static void domain_page_flush(struct domain* d, unsigned long mpaddr, unsigned long old_mfn, unsigned long new_mfn); -#endif extern unsigned long ia64_iobase; @@ -268,12 +264,11 @@ relinquish_pte(struct domain* d, pte_t* return; } -#ifdef CONFIG_XEN_IA64_DOM0_VP if (page_get_owner(page) == d) { BUG_ON(get_gpfn_from_mfn(mfn) == INVALID_M2P_ENTRY); set_gpfn_from_mfn(mfn, INVALID_M2P_ENTRY); } -#endif + try_to_clear_PGC_allocate(d, page); put_page(page); } @@ -397,10 +392,6 @@ gmfn_to_mfn_foreign(struct domain *d, un { unsigned long pte; -#ifndef CONFIG_XEN_IA64_DOM0_VP - if (d == dom0) - return(gpfn); -#endif pte = lookup_domain_mpa(d,gpfn << PAGE_SHIFT, NULL); if (!pte) { panic("gmfn_to_mfn_foreign: bad gpfn. spinning...\n"); @@ -427,34 +418,12 @@ u64 translate_domain_pte(u64 pteval, u64 // FIXME address had better be pre-validated on insert mask = ~itir_mask(itir.itir); mpaddr = ((pteval & _PAGE_PPN_MASK) & ~mask) | (address & mask); -#ifdef CONFIG_XEN_IA64_DOM0_VP - if (itir.ps > PAGE_SHIFT) { + + if (itir.ps > PAGE_SHIFT) itir.ps = PAGE_SHIFT; - } -#endif + *logps = itir.ps; -#ifndef CONFIG_XEN_IA64_DOM0_VP - if (d == dom0) { - if (mpaddr < dom0_start || mpaddr >= dom0_start + dom0_size) { - /* - printk("translate_domain_pte: out-of-bounds dom0 mpaddr 0x%lx! itc=%lx...\n", - mpaddr, ia64_get_itc()); - */ - } - } - else if ((mpaddr >> PAGE_SHIFT) > d->max_pages) { - /* Address beyond the limit. However the grant table is - also beyond the limit. Display a message if not in the - grant table. */ - if (mpaddr >= IA64_GRANT_TABLE_PADDR - && mpaddr < (IA64_GRANT_TABLE_PADDR - + (ORDER_GRANT_FRAMES << PAGE_SHIFT))) - printf("translate_domain_pte: bad mpa=0x%lx (> 0x%lx)," - "vadr=0x%lx,pteval=0x%lx,itir=0x%lx\n", - mpaddr, (unsigned long)d->max_pages<domain == dom0) { - if (mpaddr < dom0_start || mpaddr >= dom0_start + dom0_size) { - printk("translate_domain_mpaddr: out-of-bounds dom0 mpaddr 0x%lx! continuing...\n", - mpaddr); - } - } -#endif pteval = lookup_domain_mpa(current->domain, mpaddr, entry); return ((pteval & _PAGE_PPN_MASK) | (mpaddr & ~PAGE_MASK)); } @@ -644,7 +605,6 @@ lookup_noalloc_domain_pte(struct domain* return (volatile pte_t*)pte_offset_map(pmd, mpaddr); } -#ifdef CONFIG_XEN_IA64_DOM0_VP static volatile pte_t* lookup_noalloc_domain_pte_none(struct domain* d, unsigned long mpaddr) { @@ -684,7 +644,6 @@ ____lookup_domain_mpa(struct domain *d, return GPFN_INV_MASK; return INVALID_MFN; } -#endif unsigned long lookup_domain_mpa(struct domain *d, unsigned long mpaddr, struct p2m_entry* entry) @@ -973,7 +932,6 @@ ioports_deny_access(struct domain *d, un return 0; } -#ifdef CONFIG_XEN_IA64_DOM0_VP static void assign_domain_same_page(struct domain *d, unsigned long mpaddr, unsigned long size, @@ -1563,7 +1521,6 @@ domain_page_mapped(struct domain* d, uns return 1; return 0; } -#endif /* Flush cache of domain d. */ void domain_cache_flush (struct domain *d, int sync_only) diff -r 3d6c1af609bf xen/arch/ia64/xen/vcpu.c --- a/xen/arch/ia64/xen/vcpu.c Thu Aug 03 11:21:34 2006 -0600 +++ b/xen/arch/ia64/xen/vcpu.c Thu Aug 03 16:41:54 2006 -0600 @@ -2012,9 +2012,7 @@ void vcpu_itc_no_srlz(VCPU *vcpu, UINT64 panic_domain (NULL, "vcpu_itc_no_srlz: domain trying to use " "smaller page size!\n"); -#ifdef CONFIG_XEN_IA64_DOM0_VP BUG_ON(logps > PAGE_SHIFT); -#endif psr = ia64_clear_ic(); ia64_itc(IorD,vaddr,pte,ps); // FIXME: look for bigger mappings ia64_set_psr(psr); diff -r 3d6c1af609bf xen/arch/ia64/xen/xensetup.c --- a/xen/arch/ia64/xen/xensetup.c Thu Aug 03 11:21:34 2006 -0600 +++ b/xen/arch/ia64/xen/xensetup.c Thu Aug 03 16:41:54 2006 -0600 @@ -388,13 +388,6 @@ void start_kernel(void) max_page = 0; efi_memmap_walk(find_max_pfn, &max_page); printf("find_memory: efi_memmap_walk returns max_page=%lx\n",max_page); -#ifndef CONFIG_XEN_IA64_DOM0_VP - /* this is a bad hack. see dom_fw.c creation of EFI map for dom0 */ - max_page = (GRANULEROUNDDOWN(max_page << PAGE_SHIFT) - - IA64_GRANULE_SIZE) >> PAGE_SHIFT; - printf("find_memory: last granule reserved for dom0; xen max_page=%lx\n", - max_page); -#endif efi_print(); heap_start = memguard_init(ia64_imva(&_end)); diff -r 3d6c1af609bf xen/include/asm-ia64/config.h --- a/xen/include/asm-ia64/config.h Thu Aug 03 11:21:34 2006 -0600 +++ b/xen/include/asm-ia64/config.h Thu Aug 03 16:41:54 2006 -0600 @@ -228,9 +228,7 @@ struct screen_info { }; #define seq_printf(a,b...) printf(b) //#define CONFIG_BLK_DEV_INITRD // needed to reserve memory for domain0 -#ifdef CONFIG_XEN_IA64_DOM0_VP #define CONFIG_SHADOW 1 -#endif // xen/include/asm/config.h /****************************************************************************** diff -r 3d6c1af609bf xen/include/asm-ia64/grant_table.h --- a/xen/include/asm-ia64/grant_table.h Thu Aug 03 11:21:34 2006 -0600 +++ b/xen/include/asm-ia64/grant_table.h Thu Aug 03 16:41:54 2006 -0600 @@ -7,20 +7,12 @@ #define ORDER_GRANT_FRAMES 0 -#ifndef CONFIG_XEN_IA64_DOM0_VP -// for grant map/unmap -#define create_grant_host_mapping(a, f, fl) 0 -#define destroy_grant_host_mapping(a, f, fl) 0 - -#else // for grant map/unmap int create_grant_host_mapping(unsigned long gpaddr, unsigned long mfn, unsigned int flags); int destroy_grant_host_mapping(unsigned long gpaddr, unsigned long mfn, unsigned int flags); // for grant transfer void guest_physmap_add_page(struct domain *d, unsigned long gpfn, unsigned long mfn); - -#endif // for grant table shared page #define gnttab_create_shared_page(d, t, i) \ @@ -37,21 +29,11 @@ void guest_physmap_add_page(struct domai #define gnttab_shared_maddr(d, t, i) \ virt_to_maddr((char*)(t)->shared + ((i) << PAGE_SHIFT)) -#ifndef CONFIG_XEN_IA64_DOM0_VP -# define gnttab_shared_gmfn(d, t, i) \ - ({ ((d) == dom0) ? \ - (virt_to_maddr((t)->shared) >> PAGE_SHIFT) + (i): \ - assign_domain_page((d), \ - IA64_GRANT_TABLE_PADDR + ((i) << PAGE_SHIFT), \ - gnttab_shared_maddr(d, t, i)), \ - (IA64_GRANT_TABLE_PADDR >> PAGE_SHIFT) + (i);}) -#else # define gnttab_shared_gmfn(d, t, i) \ ({ assign_domain_page((d), \ IA64_GRANT_TABLE_PADDR + ((i) << PAGE_SHIFT), \ gnttab_shared_maddr((d), (t), (i))); \ (IA64_GRANT_TABLE_PADDR >> PAGE_SHIFT) + (i);}) -#endif #define gnttab_log_dirty(d, f) ((void)0) diff -r 3d6c1af609bf xen/include/asm-ia64/mm.h --- a/xen/include/asm-ia64/mm.h Thu Aug 03 11:21:34 2006 -0600 +++ b/xen/include/asm-ia64/mm.h Thu Aug 03 16:41:54 2006 -0600 @@ -435,7 +435,6 @@ extern unsigned long lookup_domain_mpa(s extern unsigned long lookup_domain_mpa(struct domain *d, unsigned long mpaddr, struct p2m_entry* entry); extern void *domain_mpa_to_imva(struct domain *d, unsigned long mpaddr); extern volatile pte_t *lookup_noalloc_domain_pte(struct domain* d, unsigned long mpaddr); -#ifdef CONFIG_XEN_IA64_DOM0_VP extern unsigned long assign_domain_mmio_page(struct domain *d, unsigned long mpaddr, unsigned long size); extern unsigned long assign_domain_mach_page(struct domain *d, unsigned long mpaddr, unsigned long size, unsigned long flags); int domain_page_mapped(struct domain *d, unsigned long mpaddr); @@ -444,7 +443,6 @@ extern unsigned long do_dom0vp_op(unsign extern unsigned long do_dom0vp_op(unsigned long cmd, unsigned long arg0, unsigned long arg1, unsigned long arg2, unsigned long arg3); extern unsigned long dom0vp_zap_physmap(struct domain *d, unsigned long gpfn, unsigned int extent_order); extern unsigned long dom0vp_add_physmap(struct domain* d, unsigned long gpfn, unsigned long mfn, unsigned long flags, domid_t domid); -#endif extern volatile unsigned long *mpt_table; extern unsigned long gmfn_to_mfn_foreign(struct domain *d, unsigned long gpfn); @@ -499,11 +497,7 @@ extern u64 translate_domain_pte(u64 ptev /* Arch-specific portion of memory_op hypercall. */ #define arch_memory_op(op, arg) (-ENOSYS) -#ifndef CONFIG_XEN_IA64_DOM0_VP -#define steal_page(d, p, f) 0 -#else int steal_page( struct domain *d, struct page_info *page, unsigned int memflags); -#endif #endif /* __ASM_IA64_MM_H__ */ diff -r 3d6c1af609bf xen/include/asm-ia64/shadow.h --- a/xen/include/asm-ia64/shadow.h Thu Aug 03 11:21:34 2006 -0600 +++ b/xen/include/asm-ia64/shadow.h Thu Aug 03 16:41:54 2006 -0600 @@ -25,7 +25,6 @@ #include -#ifdef CONFIG_XEN_IA64_DOM0_VP #ifndef CONFIG_SHADOW # error "CONFIG_SHADOW must be defined" #endif @@ -43,7 +42,6 @@ */ void guest_physmap_add_page(struct domain *d, unsigned long gpfn, unsigned long mfn); void guest_physmap_remove_page(struct domain *d, unsigned long gpfn, unsigned long mfn); -#endif static inline int shadow_mode_enabled(struct domain *d) diff -r 3d6c1af609bf xen/include/asm-ia64/vhpt.h --- a/xen/include/asm-ia64/vhpt.h Thu Aug 03 11:21:34 2006 -0600 +++ b/xen/include/asm-ia64/vhpt.h Thu Aug 03 16:41:54 2006 -0600 @@ -4,12 +4,8 @@ #define VHPT_ENABLED 1 /* Size of the VHPT. */ -#ifdef CONFIG_XEN_IA64_DOM0_VP // XXX work around to avoid trigerring xenLinux software lock up detection. # define VHPT_SIZE_LOG2 16 // 64KB -#else -# define VHPT_SIZE_LOG2 24 // 16MB default -#endif /* Number of entries in the VHPT. The size of an entry is 4*8B == 32B */ #define VHPT_NUM_ENTRIES (1 << (VHPT_SIZE_LOG2 - 5))