ia64/xen-unstable

changeset 10931:c3e20511c745

[IA64] Remove P==M support

Remove the old P==M dom0 memory model support. It's likely
broken by now anyway.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
author awilliam@xenbuild.aw
date Fri Aug 04 09:32:00 2006 -0600 (2006-08-04)
parents 679683333917
children 571022d5afa2
files buildconfigs/linux-defconfig_xen0_ia64 buildconfigs/linux-defconfig_xenU_ia64 buildconfigs/linux-defconfig_xen_ia64 linux-2.6-xen-sparse/arch/ia64/Kconfig linux-2.6-xen-sparse/arch/ia64/xen/Makefile linux-2.6-xen-sparse/arch/ia64/xen/util.c linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c linux-2.6-xen-sparse/drivers/xen/blkback/interface.c linux-2.6-xen-sparse/drivers/xen/blktap/blktap.c linux-2.6-xen-sparse/drivers/xen/blktap/interface.c linux-2.6-xen-sparse/include/asm-ia64/agp.h linux-2.6-xen-sparse/include/asm-ia64/dma-mapping.h linux-2.6-xen-sparse/include/asm-ia64/hypercall.h linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h linux-2.6-xen-sparse/include/asm-ia64/io.h linux-2.6-xen-sparse/include/asm-ia64/machvec.h linux-2.6-xen-sparse/include/asm-ia64/page.h xen/arch/ia64/Rules.mk xen/arch/ia64/xen/dom0_ops.c xen/arch/ia64/xen/dom_fw.c xen/arch/ia64/xen/domain.c xen/arch/ia64/xen/hypercall.c xen/arch/ia64/xen/hyperprivop.S xen/arch/ia64/xen/mm.c xen/arch/ia64/xen/vcpu.c xen/arch/ia64/xen/xensetup.c xen/include/asm-ia64/config.h xen/include/asm-ia64/grant_table.h xen/include/asm-ia64/mm.h xen/include/asm-ia64/shadow.h xen/include/asm-ia64/vhpt.h
line diff
     1.1 --- a/buildconfigs/linux-defconfig_xen0_ia64	Fri Aug 04 09:15:51 2006 -0600
     1.2 +++ b/buildconfigs/linux-defconfig_xen0_ia64	Fri Aug 04 09:32:00 2006 -0600
     1.3 @@ -91,7 +91,6 @@ CONFIG_TIME_INTERPOLATION=y
     1.4  CONFIG_EFI=y
     1.5  CONFIG_GENERIC_IOMAP=y
     1.6  CONFIG_XEN=y
     1.7 -CONFIG_XEN_IA64_DOM0_VP=y
     1.8  CONFIG_XEN_IA64_VDSO_PARAVIRT=y
     1.9  CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
    1.10  CONFIG_DMA_IS_DMA32=y
     2.1 --- a/buildconfigs/linux-defconfig_xenU_ia64	Fri Aug 04 09:15:51 2006 -0600
     2.2 +++ b/buildconfigs/linux-defconfig_xenU_ia64	Fri Aug 04 09:32:00 2006 -0600
     2.3 @@ -88,7 +88,6 @@ CONFIG_TIME_INTERPOLATION=y
     2.4  CONFIG_EFI=y
     2.5  CONFIG_GENERIC_IOMAP=y
     2.6  CONFIG_XEN=y
     2.7 -CONFIG_XEN_IA64_DOM0_VP=y
     2.8  CONFIG_XEN_IA64_VDSO_PARAVIRT=y
     2.9  CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
    2.10  CONFIG_DMA_IS_DMA32=y
     3.1 --- a/buildconfigs/linux-defconfig_xen_ia64	Fri Aug 04 09:15:51 2006 -0600
     3.2 +++ b/buildconfigs/linux-defconfig_xen_ia64	Fri Aug 04 09:32:00 2006 -0600
     3.3 @@ -91,7 +91,6 @@ CONFIG_TIME_INTERPOLATION=y
     3.4  CONFIG_EFI=y
     3.5  CONFIG_GENERIC_IOMAP=y
     3.6  CONFIG_XEN=y
     3.7 -CONFIG_XEN_IA64_DOM0_VP=y
     3.8  CONFIG_XEN_IA64_VDSO_PARAVIRT=y
     3.9  CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
    3.10  CONFIG_DMA_IS_DMA32=y
     4.1 --- a/linux-2.6-xen-sparse/arch/ia64/Kconfig	Fri Aug 04 09:15:51 2006 -0600
     4.2 +++ b/linux-2.6-xen-sparse/arch/ia64/Kconfig	Fri Aug 04 09:32:00 2006 -0600
     4.3 @@ -57,20 +57,6 @@ config XEN
     4.4  	  Enable Xen hypervisor support.  Resulting kernel runs
     4.5  	  both as a guest OS on Xen and natively on hardware.
     4.6  
     4.7 -config XEN_IA64_DOM0_VP
     4.8 -	bool "dom0 vp model"
     4.9 -	depends on XEN
    4.10 -	default n
    4.11 -	help
    4.12 -	  dom0 vp model
    4.13 -
    4.14 -config XEN_IA64_DOM0_NON_VP
    4.15 -	bool
    4.16 -	depends on XEN && !XEN_IA64_DOM0_VP
    4.17 -	default y
    4.18 -	help
    4.19 -	  dom0 P=M model
    4.20 -
    4.21  config XEN_IA64_VDSO_PARAVIRT
    4.22  	bool
    4.23  	depends on XEN && !ITANIUM
    4.24 @@ -516,25 +502,25 @@ source "crypto/Kconfig"
    4.25  #
    4.26  if XEN
    4.27  config XEN_UTIL
    4.28 -	default n if XEN_IA64_DOM0_VP
    4.29 +	default n
    4.30  
    4.31  config HAVE_ARCH_ALLOC_SKB
    4.32 -	default n if !XEN_IA64_DOM0_VP
    4.33 +	default y
    4.34  
    4.35  config HAVE_ARCH_DEV_ALLOC_SKB
    4.36 -	default n if !XEN_IA64_DOM0_VP
    4.37 +	default y
    4.38  
    4.39  config XEN_BALLOON
    4.40 -	default n if !XEN_IA64_DOM0_VP
    4.41 +	default y
    4.42  
    4.43  config XEN_SKBUFF
    4.44 -	default n if !XEN_IA64_DOM0_VP
    4.45 +	default y
    4.46  
    4.47  config XEN_NETDEV_BACKEND
    4.48 -	default n if !XEN_IA64_DOM0_VP
    4.49 +	default y
    4.50  
    4.51  config XEN_NETDEV_FRONTEND
    4.52 -	default n if !XEN_IA64_DOM0_VP
    4.53 +	default y
    4.54  
    4.55  config XEN_DEVMEM
    4.56  	default n
     5.1 --- a/linux-2.6-xen-sparse/arch/ia64/xen/Makefile	Fri Aug 04 09:15:51 2006 -0600
     5.2 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/Makefile	Fri Aug 04 09:32:00 2006 -0600
     5.3 @@ -2,7 +2,7 @@
     5.4  # Makefile for Xen components
     5.5  #
     5.6  
     5.7 -obj-y := hypercall.o xenivt.o xenentry.o xensetup.o xenpal.o xenhpski.o
     5.8 +obj-y := hypercall.o xenivt.o xenentry.o xensetup.o xenpal.o xenhpski.o \
     5.9 +	 hypervisor.o pci-dma-xen.o util.o
    5.10  
    5.11 -obj-$(CONFIG_XEN_IA64_DOM0_VP) += hypervisor.o pci-dma-xen.o util.o
    5.12 -pci-dma-xen-$(CONFIG_XEN_IA64_DOM0_VP) := ../../i386/kernel/pci-dma-xen.o
    5.13 +pci-dma-xen-y := ../../i386/kernel/pci-dma-xen.o
     6.1 --- a/linux-2.6-xen-sparse/arch/ia64/xen/util.c	Fri Aug 04 09:15:51 2006 -0600
     6.2 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/util.c	Fri Aug 04 09:32:00 2006 -0600
     6.3 @@ -105,21 +105,6 @@ void unlock_vm_area(struct vm_struct *ar
     6.4  }
     6.5  EXPORT_SYMBOL_GPL(unlock_vm_area);
     6.6  
     6.7 -#ifndef CONFIG_XEN_IA64_DOM0_VP
     6.8 -/* We just need a range of legal va here, though finally identity
     6.9 - * mapped one is instead used for gnttab mapping.
    6.10 - */
    6.11 -unsigned long alloc_empty_foreign_map_page_range(unsigned long pages)
    6.12 -{
    6.13 -	struct vm_struct *vma;
    6.14 -
    6.15 -	if ( (vma = get_vm_area(PAGE_SIZE * pages, VM_ALLOC)) == NULL )
    6.16 -		return NULL;
    6.17 -
    6.18 -	return (unsigned long)vma->addr;
    6.19 -}
    6.20 -#endif
    6.21 -
    6.22  /*
    6.23   * Local variables:
    6.24   *  c-file-style: "linux"
     7.1 --- a/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c	Fri Aug 04 09:15:51 2006 -0600
     7.2 +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c	Fri Aug 04 09:32:00 2006 -0600
     7.3 @@ -398,14 +398,9 @@ static void dispatch_rw_block_io(blkif_t
     7.4  		}
     7.5  
     7.6  		pending_handle(pending_req, i) = map[i].handle;
     7.7 -#ifdef CONFIG_XEN_IA64_DOM0_NON_VP
     7.8 -		pending_vaddrs[vaddr_pagenr(pending_req, i)] =
     7.9 -			(unsigned long)gnttab_map_vaddr(map[i]);
    7.10 -#else
    7.11  		set_phys_to_machine(__pa(vaddr(
    7.12  			pending_req, i)) >> PAGE_SHIFT,
    7.13  			FOREIGN_FRAME(map[i].dev_bus_addr >> PAGE_SHIFT));
    7.14 -#endif
    7.15  		seg[i].buf  = map[i].dev_bus_addr | 
    7.16  			(req->seg[i].first_sect << 9);
    7.17  	}
    7.18 @@ -534,16 +529,9 @@ static int __init blkif_init(void)
    7.19  
    7.20  	blkif_interface_init();
    7.21  	
    7.22 -#ifdef CONFIG_XEN_IA64_DOM0_NON_VP
    7.23 -	extern unsigned long alloc_empty_foreign_map_page_range(
    7.24 -		unsigned long pages);
    7.25 -	mmap_vstart = (unsigned long)
    7.26 -		alloc_empty_foreign_map_page_range(mmap_pages);
    7.27 -#else /* ! ia64 */
    7.28  	page = balloon_alloc_empty_page_range(mmap_pages);
    7.29  	BUG_ON(page == NULL);
    7.30  	mmap_vstart = (unsigned long)pfn_to_kaddr(page_to_pfn(page));
    7.31 -#endif
    7.32  	printk("%s: reqs=%d, pages=%d, mmap_vstart=0x%lx\n",
    7.33  	       __FUNCTION__, blkif_reqs, mmap_pages, mmap_vstart);
    7.34  	BUG_ON(mmap_vstart == 0);
     8.1 --- a/linux-2.6-xen-sparse/drivers/xen/blkback/interface.c	Fri Aug 04 09:15:51 2006 -0600
     8.2 +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/interface.c	Fri Aug 04 09:32:00 2006 -0600
     8.3 @@ -76,12 +76,6 @@ static int map_frontend_page(blkif_t *bl
     8.4  	blkif->shmem_ref = shared_page;
     8.5  	blkif->shmem_handle = op.handle;
     8.6  
     8.7 -#ifdef CONFIG_XEN_IA64_DOM0_NON_VP
     8.8 -	/* on some arch's, map_grant_ref behaves like mmap, in that the
     8.9 -	 * passed address is a hint and a different address may be returned */
    8.10 -	blkif->blk_ring_area->addr = gnttab_map_vaddr(op);
    8.11 -#endif
    8.12 -
    8.13  	return 0;
    8.14  }
    8.15  
     9.1 --- a/linux-2.6-xen-sparse/drivers/xen/blktap/blktap.c	Fri Aug 04 09:15:51 2006 -0600
     9.2 +++ b/linux-2.6-xen-sparse/drivers/xen/blktap/blktap.c	Fri Aug 04 09:32:00 2006 -0600
     9.3 @@ -1299,13 +1299,8 @@ static void dispatch_rw_block_io(blkif_t
     9.4  			= map[i].handle;
     9.5  		pending_handle(mmap_idx, pending_idx, i/2).user   
     9.6  			= map[i+1].handle;
     9.7 -#ifdef CONFIG_XEN_IA64_DOM0_NON_VP
     9.8 -		pending_addrs[mmap_idx][vaddr_pagenr(pending_req, i)] =
     9.9 -			(unsigned long)gnttab_map_vaddr(map[i]);
    9.10 -#else
    9.11  		set_phys_to_machine(__pa(kvaddr) >> PAGE_SHIFT,
    9.12  			FOREIGN_FRAME(map[i].dev_bus_addr >> PAGE_SHIFT));
    9.13 -#endif
    9.14  		offset = (uvaddr - info->vma->vm_start) >> PAGE_SHIFT;
    9.15  		pg = pfn_to_page(__pa(kvaddr) >> PAGE_SHIFT);
    9.16  		((struct page **)info->vma->vm_private_data)[offset] =
    10.1 --- a/linux-2.6-xen-sparse/drivers/xen/blktap/interface.c	Fri Aug 04 09:15:51 2006 -0600
    10.2 +++ b/linux-2.6-xen-sparse/drivers/xen/blktap/interface.c	Fri Aug 04 09:32:00 2006 -0600
    10.3 @@ -76,12 +76,6 @@ static int map_frontend_page(blkif_t *bl
    10.4  	blkif->shmem_ref = shared_page;
    10.5  	blkif->shmem_handle = op.handle;
    10.6  
    10.7 -#ifdef CONFIG_XEN_IA64_DOM0_NON_VP
    10.8 -	/* on some arch's, map_grant_ref behaves like mmap, in that the
    10.9 -	 * passed address is a hint and a different address may be returned */
   10.10 -	blkif->blk_ring_area->addr = gnttab_map_vaddr(op);
   10.11 -#endif
   10.12 -
   10.13  	return 0;
   10.14  }
   10.15  
    11.1 --- a/linux-2.6-xen-sparse/include/asm-ia64/agp.h	Fri Aug 04 09:15:51 2006 -0600
    11.2 +++ b/linux-2.6-xen-sparse/include/asm-ia64/agp.h	Fri Aug 04 09:32:00 2006 -0600
    11.3 @@ -19,21 +19,10 @@
    11.4  #define flush_agp_cache()		mb()
    11.5  
    11.6  /* Convert a physical address to an address suitable for the GART. */
    11.7 -#ifndef CONFIG_XEN_IA64_DOM0_VP
    11.8 -#define phys_to_gart(x) (x)
    11.9 -#define gart_to_phys(x) (x)
   11.10 -#else
   11.11  #define phys_to_gart(x) phys_to_machine_for_dma(x)
   11.12  #define gart_to_phys(x) machine_to_phys_for_dma(x)
   11.13 -#endif
   11.14  
   11.15  /* GATT allocation. Returns/accepts GATT kernel virtual address. */
   11.16 -#ifndef CONFIG_XEN_IA64_DOM0_VP
   11.17 -#define alloc_gatt_pages(order)		\
   11.18 -	((char *)__get_free_pages(GFP_KERNEL, (order)))
   11.19 -#define free_gatt_pages(table, order)	\
   11.20 -	free_pages((unsigned long)(table), (order))
   11.21 -#else
   11.22  #include <asm/hypervisor.h>
   11.23  static inline char*
   11.24  alloc_gatt_pages(unsigned int order)
   11.25 @@ -57,6 +46,5 @@ free_gatt_pages(void* table, unsigned in
   11.26  	xen_destroy_contiguous_region((unsigned long)table, order);
   11.27  	free_pages((unsigned long)table, order);
   11.28  }
   11.29 -#endif /* CONFIG_XEN_IA64_DOM0_VP */
   11.30  
   11.31  #endif /* _ASM_IA64_AGP_H */
    12.1 --- a/linux-2.6-xen-sparse/include/asm-ia64/dma-mapping.h	Fri Aug 04 09:15:51 2006 -0600
    12.2 +++ b/linux-2.6-xen-sparse/include/asm-ia64/dma-mapping.h	Fri Aug 04 09:32:00 2006 -0600
    12.3 @@ -7,28 +7,11 @@
    12.4   */
    12.5  #include <linux/config.h>
    12.6  #include <asm/machvec.h>
    12.7 -#ifdef CONFIG_XEN_IA64_DOM0_VP
    12.8  /* Needed for arch/i386/kernel/swiotlb.c and arch/i386/kernel/pci-dma-xen.c */
    12.9  #include <asm/hypervisor.h>
   12.10  /* Needed for arch/i386/kernel/swiotlb.c */
   12.11  #include <asm-i386/mach-xen/asm/swiotlb.h>
   12.12 -#endif
   12.13  
   12.14 -#ifndef CONFIG_XEN_IA64_DOM0_VP
   12.15 -#define dma_alloc_coherent	platform_dma_alloc_coherent
   12.16 -#define dma_alloc_noncoherent	platform_dma_alloc_coherent	/* coherent mem. is cheap */
   12.17 -#define dma_free_coherent	platform_dma_free_coherent
   12.18 -#define dma_free_noncoherent	platform_dma_free_coherent
   12.19 -#define dma_map_single		platform_dma_map_single
   12.20 -#define dma_map_sg		platform_dma_map_sg
   12.21 -#define dma_unmap_single	platform_dma_unmap_single
   12.22 -#define dma_unmap_sg		platform_dma_unmap_sg
   12.23 -#define dma_sync_single_for_cpu	platform_dma_sync_single_for_cpu
   12.24 -#define dma_sync_sg_for_cpu	platform_dma_sync_sg_for_cpu
   12.25 -#define dma_sync_single_for_device platform_dma_sync_single_for_device
   12.26 -#define dma_sync_sg_for_device	platform_dma_sync_sg_for_device
   12.27 -#define dma_mapping_error	platform_dma_mapping_error
   12.28 -#else
   12.29  int dma_map_sg(struct device *hwdev, struct scatterlist *sg, int nents,
   12.30                 enum dma_data_direction direction);
   12.31  void dma_unmap_sg(struct device *hwdev, struct scatterlist *sg, int nents,
   12.32 @@ -67,7 +50,6 @@ dma_sync_sg_for_device(struct device *de
   12.33  		swiotlb_sync_sg_for_device(dev,sg,nelems,direction);
   12.34  	flush_write_buffers();
   12.35  }
   12.36 -#endif
   12.37  
   12.38  #define dma_map_page(dev, pg, off, size, dir)				\
   12.39  	dma_map_single(dev, page_address(pg) + (off), (size), (dir))
   12.40 @@ -109,7 +91,6 @@ dma_cache_sync (void *vaddr, size_t size
   12.41  
   12.42  #define dma_is_consistent(dma_handle)	(1)	/* all we do is coherent memory... */
   12.43  
   12.44 -#ifdef CONFIG_XEN_IA64_DOM0_VP
   12.45  /* arch/i386/kernel/swiotlb.o requires */
   12.46  void contiguous_bitmap_init(unsigned long end_pfn);
   12.47  
   12.48 @@ -130,8 +111,5 @@ range_straddles_page_boundary(void *p, s
   12.49  	return (((((unsigned long)p & ~PAGE_MASK) + size) > PAGE_SIZE) &&
   12.50  	        !test_bit(__pa(p) >> PAGE_SHIFT, contiguous_bitmap));
   12.51  }
   12.52 -#else
   12.53 -#define contiguous_bitmap_init(end_pfn)	((void)end_pfn)
   12.54 -#endif
   12.55  
   12.56  #endif /* _ASM_IA64_DMA_MAPPING_H */
    13.1 --- a/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h	Fri Aug 04 09:15:51 2006 -0600
    13.2 +++ b/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h	Fri Aug 04 09:32:00 2006 -0600
    13.3 @@ -195,14 +195,6 @@ HYPERVISOR_multicall(
    13.4      return _hypercall2(int, multicall, call_list, nr_calls);
    13.5  }
    13.6  
    13.7 -#ifndef CONFIG_XEN_IA64_DOM0_VP
    13.8 -static inline int
    13.9 -HYPERVISOR_memory_op(
   13.10 -    unsigned int cmd, void *arg)
   13.11 -{
   13.12 -    return _hypercall2(int, memory_op, cmd, arg);
   13.13 -}
   13.14 -#else
   13.15  //XXX xen/ia64 copy_from_guest() is broken.
   13.16  //    This is a temporal work around until it is fixed.
   13.17  static inline int
   13.18 @@ -230,7 +222,6 @@ HYPERVISOR_memory_op(
   13.19      }
   13.20      /* NOTREACHED */
   13.21  }
   13.22 -#endif
   13.23  
   13.24  static inline int
   13.25  HYPERVISOR_event_channel_op(
   13.26 @@ -288,12 +279,8 @@ static inline int
   13.27  {
   13.28      return _hypercall3(int, grant_table_op, cmd, uop, count);
   13.29  }
   13.30 -#ifndef CONFIG_XEN_IA64_DOM0_VP
   13.31 -#define HYPERVISOR_grant_table_op(cmd, uop, count) \
   13.32 -	____HYPERVISOR_grant_table_op((cmd), (uop), (count))
   13.33 -#else
   13.34 +
   13.35  int HYPERVISOR_grant_table_op(unsigned int cmd, void *uop, unsigned int count);
   13.36 -#endif
   13.37  
   13.38  static inline int
   13.39  HYPERVISOR_vcpu_op(
   13.40 @@ -319,7 +306,6 @@ static inline void exit_idle(void) {}
   13.41  	irq_exit();				\
   13.42  })
   13.43  
   13.44 -#ifdef CONFIG_XEN_IA64_DOM0_VP
   13.45  #include <linux/err.h>
   13.46  #include <asm/xen/privop.h>
   13.47  
   13.48 @@ -507,11 +493,4 @@ HYPERVISOR_add_physmap(unsigned long gpf
   13.49  // for balloon driver
   13.50  #define HYPERVISOR_update_va_mapping(va, new_val, flags) (0)
   13.51  
   13.52 -#else
   13.53 -#define HYPERVISOR_ioremap(ioaddr, size)		(ioaddr)
   13.54 -#define HYPERVISOR_phystomach(gpfn)			(gpfn)
   13.55 -#define HYPERVISOR_machtophys(mfn)			(mfn)
   13.56 -#define HYPERVISOR_zap_physmap(gpfn, extent_order)	(0)
   13.57 -#define HYPERVISOR_add_physmap(gpfn, mfn, flags)	(0)
   13.58 -#endif
   13.59  #endif /* __HYPERCALL_H__ */
    14.1 --- a/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h	Fri Aug 04 09:15:51 2006 -0600
    14.2 +++ b/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h	Fri Aug 04 09:32:00 2006 -0600
    14.3 @@ -125,11 +125,6 @@ HYPERVISOR_poll(
    14.4  
    14.5  // for drivers/xen/privcmd/privcmd.c
    14.6  #define machine_to_phys_mapping 0
    14.7 -#ifndef CONFIG_XEN_IA64_DOM0_VP
    14.8 -#define direct_remap_pfn_range(a,b,c,d,e,f) remap_pfn_range(a,b,c,d,e)
    14.9 -#define	pfn_to_mfn(x)	(x)
   14.10 -#define	mfn_to_pfn(x)	(x)
   14.11 -#else
   14.12  struct vm_area_struct;
   14.13  int direct_remap_pfn_range(struct vm_area_struct *vma,
   14.14  			   unsigned long address,
   14.15 @@ -140,7 +135,6 @@ int direct_remap_pfn_range(struct vm_are
   14.16  struct file;
   14.17  int privcmd_mmap(struct file * file, struct vm_area_struct * vma);
   14.18  #define HAVE_ARCH_PRIVCMD_MMAP
   14.19 -#endif
   14.20  
   14.21  // for drivers/xen/balloon/balloon.c
   14.22  #ifdef CONFIG_XEN_SCRUB_PAGES
   14.23 @@ -152,12 +146,7 @@ int privcmd_mmap(struct file * file, str
   14.24  #define __pte_ma(_x)	((pte_t) {(_x)})
   14.25  #define phys_to_machine_mapping_valid(_x)	(1)
   14.26  #define pfn_pte_ma(_x,_y)	__pte_ma(0)
   14.27 -#ifndef CONFIG_XEN_IA64_DOM0_VP //XXX
   14.28 -#define set_phys_to_machine(_x,_y)	do {} while (0)
   14.29 -#define xen_machphys_update(_x,_y)	do {} while (0)
   14.30 -#endif
   14.31  
   14.32 -#ifdef CONFIG_XEN_IA64_DOM0_VP
   14.33  int __xen_create_contiguous_region(unsigned long vstart, unsigned int order, unsigned int address_bits);
   14.34  static inline int
   14.35  xen_create_contiguous_region(unsigned long vstart,
   14.36 @@ -191,11 +180,6 @@ MULTI_update_va_mapping(
   14.37  	mcl->result = 0;
   14.38  }
   14.39  
   14.40 -#else
   14.41 -#define xen_create_contiguous_region(vstart, order, address_bits)	(0)
   14.42 -#define xen_destroy_contiguous_region(vstart, order)	do {} while (0)
   14.43 -#endif
   14.44 -
   14.45  // for debug
   14.46  asmlinkage int xprintk(const char *fmt, ...);
   14.47  #define xprintd(fmt, ...)	xprintk("%s:%d " fmt, __func__, __LINE__, \
    15.1 --- a/linux-2.6-xen-sparse/include/asm-ia64/io.h	Fri Aug 04 09:15:51 2006 -0600
    15.2 +++ b/linux-2.6-xen-sparse/include/asm-ia64/io.h	Fri Aug 04 09:32:00 2006 -0600
    15.3 @@ -97,13 +97,6 @@ extern int valid_mmap_phys_addr_range (u
    15.4   * The following two macros are deprecated and scheduled for removal.
    15.5   * Please use the PCI-DMA interface defined in <asm/pci.h> instead.
    15.6   */
    15.7 -#ifndef CONFIG_XEN_IA64_DOM0_VP
    15.8 -#define bus_to_virt	phys_to_virt
    15.9 -#define virt_to_bus	virt_to_phys
   15.10 -#define page_to_bus	page_to_phys
   15.11 -#define page_to_phys(page)	(page_to_pfn(page) << PAGE_SHIFT)
   15.12 -#define page_to_pseudophys(page)	page_to_phys(page)
   15.13 -#else
   15.14  #define bus_to_virt(bus)	\
   15.15  	phys_to_virt(machine_to_phys_for_dma(bus))
   15.16  #define virt_to_bus(virt)	\
   15.17 @@ -131,7 +124,6 @@ extern int valid_mmap_phys_addr_range (u
   15.18  	(((bvec_to_bus((vec1)) + (vec1)->bv_len) == bvec_to_bus((vec2))) && \
   15.19  	 ((bvec_to_pseudophys((vec1)) + (vec1)->bv_len) ==		\
   15.20  	  bvec_to_pseudophys((vec2))))
   15.21 -#endif
   15.22  
   15.23  # endif /* KERNEL */
   15.24  
    16.1 --- a/linux-2.6-xen-sparse/include/asm-ia64/machvec.h	Fri Aug 04 09:15:51 2006 -0600
    16.2 +++ b/linux-2.6-xen-sparse/include/asm-ia64/machvec.h	Fri Aug 04 09:32:00 2006 -0600
    16.3 @@ -247,7 +247,6 @@ extern void machvec_init (const char *na
    16.4  #  error Unknown configuration.  Update asm-ia64/machvec.h.
    16.5  # endif /* CONFIG_IA64_GENERIC */
    16.6  
    16.7 -#ifdef CONFIG_XEN_IA64_DOM0_VP
    16.8  # define platform_dma_map_sg		dma_map_sg
    16.9  # define platform_dma_unmap_sg		dma_unmap_sg
   16.10  # define platform_dma_mapping_error	dma_mapping_error
   16.11 @@ -260,7 +259,6 @@ extern void machvec_init (const char *na
   16.12  					dma_sync_single_for_cpu
   16.13  # define platform_dma_sync_single_for_device \
   16.14  					dma_sync_single_for_device
   16.15 -#endif
   16.16  
   16.17  /*
   16.18   * Declare default routines which aren't declared anywhere else:
    17.1 --- a/linux-2.6-xen-sparse/include/asm-ia64/page.h	Fri Aug 04 09:15:51 2006 -0600
    17.2 +++ b/linux-2.6-xen-sparse/include/asm-ia64/page.h	Fri Aug 04 09:32:00 2006 -0600
    17.3 @@ -223,15 +223,6 @@ get_order (unsigned long size)
    17.4  
    17.5  #define INVALID_P2M_ENTRY	(~0UL)
    17.6  
    17.7 -#ifndef CONFIG_XEN_IA64_DOM0_VP
    17.8 -
    17.9 -#define virt_to_machine(v) __pa(v)
   17.10 -#define machine_to_virt(m) __va(m)
   17.11 -#define virt_to_mfn(v)	((__pa(v)) >> PAGE_SHIFT)
   17.12 -#define mfn_to_virt(m)	(__va((m) << PAGE_SHIFT))
   17.13 -
   17.14 -#else
   17.15 -
   17.16  #include <linux/kernel.h>
   17.17  #include <asm/hypervisor.h>
   17.18  #include <xen/features.h>	// to compile netback, netfront
   17.19 @@ -337,7 +328,6 @@ mfn_to_local_pfn(unsigned long mfn)
   17.20  	return pfn;
   17.21  }
   17.22  
   17.23 -#endif /* CONFIG_XEN_IA64_DOM0_VP */
   17.24  #endif /* CONFIG_XEN */
   17.25  #endif /* __ASSEMBLY__ */
   17.26  
    18.1 --- a/xen/arch/ia64/Rules.mk	Fri Aug 04 09:15:51 2006 -0600
    18.2 +++ b/xen/arch/ia64/Rules.mk	Fri Aug 04 09:32:00 2006 -0600
    18.3 @@ -3,7 +3,6 @@
    18.4  
    18.5  HAS_ACPI := y
    18.6  VALIDATE_VT	?= n
    18.7 -xen_ia64_dom0_virtual_physical	?= y
    18.8  no_warns ?= n
    18.9  
   18.10  ifneq ($(COMPILE_ARCH),$(TARGET_ARCH))
   18.11 @@ -36,9 +35,6 @@ CFLAGS	+= -g
   18.12  ifeq ($(VALIDATE_VT),y)
   18.13  CFLAGS  += -DVALIDATE_VT
   18.14  endif
   18.15 -ifeq ($(xen_ia64_dom0_virtual_physical),y)
   18.16 -CFLAGS	+= -DCONFIG_XEN_IA64_DOM0_VP
   18.17 -endif
   18.18  ifeq ($(no_warns),y)
   18.19  CFLAGS	+= -Wa,--fatal-warnings -Werror -Wno-uninitialized
   18.20  endif
    19.1 --- a/xen/arch/ia64/xen/dom0_ops.c	Fri Aug 04 09:15:51 2006 -0600
    19.2 +++ b/xen/arch/ia64/xen/dom0_ops.c	Fri Aug 04 09:32:00 2006 -0600
    19.3 @@ -199,7 +199,6 @@ long arch_do_dom0_op(dom0_op_t *op, XEN_
    19.4      return ret;
    19.5  }
    19.6  
    19.7 -#ifdef CONFIG_XEN_IA64_DOM0_VP
    19.8  static unsigned long
    19.9  dom0vp_ioremap(struct domain *d, unsigned long mpaddr, unsigned long size)
   19.10  {
   19.11 @@ -260,7 +259,6 @@ do_dom0vp_op(unsigned long cmd,
   19.12  
   19.13      return ret;
   19.14  }
   19.15 -#endif
   19.16  
   19.17  /*
   19.18   * Local variables:
    20.1 --- a/xen/arch/ia64/xen/dom_fw.c	Fri Aug 04 09:15:51 2006 -0600
    20.2 +++ b/xen/arch/ia64/xen/dom_fw.c	Fri Aug 04 09:32:00 2006 -0600
    20.3 @@ -169,12 +169,6 @@ static void dom_fpswa_hypercall_patch(st
    20.4  	unsigned long entry_paddr = FW_HYPERCALL_FPSWA_ENTRY_PADDR;
    20.5  	unsigned long patch_paddr = FW_HYPERCALL_FPSWA_PATCH_PADDR;
    20.6  
    20.7 -#ifndef CONFIG_XEN_IA64_DOM0_VP
    20.8 -	if (d == dom0) {
    20.9 -		entry_paddr += dom0_start;
   20.10 -		patch_paddr += dom0_start;
   20.11 -	}
   20.12 -#endif
   20.13  	ASSIGN_NEW_DOMAIN_PAGE_IF_DOM0(d, entry_paddr);
   20.14  	ASSIGN_NEW_DOMAIN_PAGE_IF_DOM0(d, patch_paddr);
   20.15  	entry_imva = domain_mpa_to_imva(d, entry_paddr);
   20.16 @@ -190,9 +184,6 @@ static void dom_efi_hypercall_patch(stru
   20.17  {
   20.18  	unsigned long *imva;
   20.19  
   20.20 -#ifndef CONFIG_XEN_IA64_DOM0_VP
   20.21 -	if (d == dom0) paddr += dom0_start;
   20.22 -#endif
   20.23  	ASSIGN_NEW_DOMAIN_PAGE_IF_DOM0(d, paddr);
   20.24  	imva = domain_mpa_to_imva(d, paddr);
   20.25  	build_hypercall_bundle(imva, d->arch.breakimm, hypercall, 1);
   20.26 @@ -223,12 +214,6 @@ void dom_fw_setup(struct domain *d, unsi
   20.27  	struct ia64_boot_param *bp;
   20.28  
   20.29  	dom_fw_base_mpa = 0;
   20.30 -#ifndef CONFIG_XEN_IA64_DOM0_VP
   20.31 -	if (d == dom0) {
   20.32 -		dom_fw_base_mpa += dom0_start;
   20.33 -		bp_mpa += dom0_start;
   20.34 -	}
   20.35 -#endif
   20.36  	ASSIGN_NEW_DOMAIN_PAGE_IF_DOM0(d, dom_fw_base_mpa);
   20.37  	imva_fw_base = (unsigned long) domain_mpa_to_imva(d, dom_fw_base_mpa);
   20.38  	ASSIGN_NEW_DOMAIN_PAGE_IF_DOM0(d, bp_mpa);
   20.39 @@ -483,10 +468,8 @@ dom_fw_fake_acpi(struct domain *d, struc
   20.40  #define NUM_MEM_DESCS	64 //large enough
   20.41  
   20.42  struct dom0_passthrough_arg {
   20.43 -#ifdef CONFIG_XEN_IA64_DOM0_VP
   20.44      struct domain*      d;
   20.45      int                 flags;
   20.46 -#endif
   20.47      efi_memory_desc_t *md;
   20.48      int*                i;
   20.49  };
   20.50 @@ -496,8 +479,6 @@ dom_fw_dom0_passthrough(efi_memory_desc_
   20.51  {
   20.52      struct dom0_passthrough_arg* arg = (struct dom0_passthrough_arg*)arg__;
   20.53      unsigned long paddr;
   20.54 -
   20.55 -#ifdef CONFIG_XEN_IA64_DOM0_VP
   20.56      struct domain* d = arg->d;
   20.57      u64 start = md->phys_addr;
   20.58      u64 size = md->num_pages << EFI_PAGE_SHIFT;
   20.59 @@ -515,9 +496,6 @@ dom_fw_dom0_passthrough(efi_memory_desc_
   20.60          paddr = assign_domain_mmio_page(d, start, size);
   20.61      } else
   20.62          paddr = assign_domain_mach_page(d, start, size, arg->flags);
   20.63 -#else
   20.64 -    paddr = md->phys_addr;
   20.65 -#endif
   20.66  
   20.67      BUG_ON(md->type != EFI_RUNTIME_SERVICES_CODE &&
   20.68             md->type != EFI_RUNTIME_SERVICES_DATA &&
   20.69 @@ -630,11 +608,7 @@ dom_fw_init (struct domain *d, struct ia
   20.70  	unsigned char checksum = 0;
   20.71  	char *cp, *fw_vendor;
   20.72  	int num_mds, j, i = 0;
   20.73 -#ifdef CONFIG_XEN_IA64_DOM0_VP
   20.74  	const unsigned long start_mpaddr = 0;
   20.75 -#else
   20.76 -	const unsigned long start_mpaddr = ((d==dom0)?dom0_start:0);
   20.77 -#endif
   20.78  
   20.79  /* FIXME: should check size but for now we have a whole MB to play with.
   20.80     And if stealing code from fw-emu.c, watch out for new fw_vendor on the end!
   20.81 @@ -800,52 +774,24 @@ dom_fw_init (struct domain *d, struct ia
   20.82  	        dom_pa((unsigned long)fw_mem + fw_mem_size), 1);
   20.83  
   20.84  	if (d == dom0) {
   20.85 -#ifndef CONFIG_XEN_IA64_DOM0_VP
   20.86 -		/*
   20.87 -		 * This is a bad hack.  Dom0 may share other domains' memory
   20.88 -		 * through a dom0 physical address.  Unfortunately, this
   20.89 -		 * address may be used in maddr_to_page (e.g. in the loopback
   20.90 -		 * driver) but when Linux initializes memory it only creates
   20.91 -		 * page structs for the physical memory it knows about.  And
   20.92 -		 * on ia64, only for full writeback granules.  So, we reserve
   20.93 -		 * the last full granule of Xen's memory for dom0 (in
   20.94 -		 * start_kernel) to ensure dom0 creates a large enough memmap
   20.95 -		 */
   20.96 -		unsigned long last_start = max_page << PAGE_SHIFT;
   20.97 -		unsigned long last_end = last_start + IA64_GRANULE_SIZE;
   20.98 -
   20.99 -		/* simulate 1MB free memory at physical address zero */
  20.100 -		MAKE_MD(EFI_LOADER_DATA,EFI_MEMORY_WB,0*MB,1*MB, 0);//XXX
  20.101 -#endif
  20.102  		/* hypercall patches live here, masquerade as reserved PAL memory */
  20.103  		MAKE_MD(EFI_PAL_CODE,EFI_MEMORY_WB|EFI_MEMORY_RUNTIME,HYPERCALL_START,HYPERCALL_END, 0);
  20.104  
  20.105 -#ifndef CONFIG_XEN_IA64_DOM0_VP
  20.106 - 		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.
  20.107 -/* hack */	MAKE_MD(EFI_CONVENTIONAL_MEMORY,EFI_MEMORY_WB,last_start,last_end,1);
  20.108 -#endif
  20.109 -
  20.110  		/* pass through the I/O port space */
  20.111  		if (!running_on_sim) {
  20.112  			struct dom0_passthrough_arg arg;
  20.113  			arg.md = &efi_memmap[i];
  20.114  			arg.i = &i;
  20.115 -#ifdef CONFIG_XEN_IA64_DOM0_VP
  20.116  			arg.d = d;
  20.117  			arg.flags = ASSIGN_writable;
  20.118 -#endif
  20.119  			//XXX Is this needed?
  20.120  			efi_memmap_walk_type(EFI_RUNTIME_SERVICES_CODE,
  20.121  			                     dom_fw_dom0_passthrough, &arg);
  20.122  			// for ACPI table.
  20.123 -#ifdef CONFIG_XEN_IA64_DOM0_VP
  20.124  			arg.flags = ASSIGN_readonly;
  20.125 -#endif
  20.126  			efi_memmap_walk_type(EFI_RUNTIME_SERVICES_DATA,
  20.127  			                     dom_fw_dom0_passthrough, &arg);
  20.128 -#ifdef CONFIG_XEN_IA64_DOM0_VP
  20.129  			arg.flags = ASSIGN_writable;
  20.130 -#endif
  20.131  			efi_memmap_walk_type(EFI_ACPI_RECLAIM_MEMORY,
  20.132  			                     dom_fw_dom0_passthrough, &arg);
  20.133  			efi_memmap_walk_type(EFI_ACPI_MEMORY_NVS,
  20.134 @@ -861,12 +807,6 @@ dom_fw_init (struct domain *d, struct ia
  20.135  		}
  20.136  		else MAKE_MD(EFI_RESERVED_TYPE,0,0,0,0);
  20.137  	} else {
  20.138 -#ifndef CONFIG_XEN_IA64_DOM0_VP
  20.139 -	  	/* Dom0 maps legacy mmio in first MB.  */
  20.140 -		MAKE_MD(EFI_LOADER_DATA, EFI_MEMORY_WB, 0*MB, 1*MB, 1);
  20.141 -		MAKE_MD(EFI_CONVENTIONAL_MEMORY, EFI_MEMORY_WB,
  20.142 -			HYPERCALL_END, maxmem, 1);
  20.143 -#endif
  20.144  		/* hypercall patches live here, masquerade as reserved
  20.145  		   PAL memory */
  20.146  		MAKE_MD(EFI_PAL_CODE, EFI_MEMORY_WB | EFI_MEMORY_RUNTIME,
  20.147 @@ -877,7 +817,6 @@ dom_fw_init (struct domain *d, struct ia
  20.148  		MAKE_MD(EFI_RESERVED_TYPE,0,0,0,0);
  20.149  	}
  20.150  
  20.151 -#ifdef CONFIG_XEN_IA64_DOM0_VP
  20.152  	// simple
  20.153  	// MAKE_MD(EFI_CONVENTIONAL_MEMORY, EFI_MEMORY_WB,
  20.154  	//         HYPERCALL_END, maxmem, 0);
  20.155 @@ -920,7 +859,6 @@ dom_fw_init (struct domain *d, struct ia
  20.156  		if (next_start >= maxmem)
  20.157  			break;
  20.158  	}
  20.159 -#endif        
  20.160  	sort(efi_memmap, i, sizeof(efi_memory_desc_t), efi_mdt_cmp, NULL);
  20.161  
  20.162  	bp->efi_systab = dom_pa((unsigned long) fw_mem);
    21.1 --- a/xen/arch/ia64/xen/domain.c	Fri Aug 04 09:15:51 2006 -0600
    21.2 +++ b/xen/arch/ia64/xen/domain.c	Fri Aug 04 09:32:00 2006 -0600
    21.3 @@ -49,9 +49,6 @@
    21.4  #include <asm/shadow.h>
    21.5  #include <asm/privop_stat.h>
    21.6  
    21.7 -#ifndef CONFIG_XEN_IA64_DOM0_VP
    21.8 -#define CONFIG_DOMAIN0_CONTIGUOUS
    21.9 -#endif
   21.10  unsigned long dom0_start = -1L;
   21.11  unsigned long dom0_size = 512*1024*1024;
   21.12  unsigned long dom0_align = 64*1024*1024;
   21.13 @@ -533,9 +530,7 @@ static void relinquish_memory(struct dom
   21.14  
   21.15          /* Follow the list chain and /then/ potentially free the page. */
   21.16          ent = ent->next;
   21.17 -#ifdef CONFIG_XEN_IA64_DOM0_VP
   21.18          BUG_ON(get_gpfn_from_mfn(page_to_mfn(page)) != INVALID_M2P_ENTRY);
   21.19 -#endif
   21.20          put_page(page);
   21.21      }
   21.22  
   21.23 @@ -952,11 +947,7 @@ int construct_dom0(struct domain *d,
   21.24  	alloc_end = dom0_start + dom0_size;
   21.25  	max_pages = dom0_size / PAGE_SIZE;
   21.26  	d->max_pages = max_pages;
   21.27 -#ifndef CONFIG_XEN_IA64_DOM0_VP
   21.28 -	d->tot_pages = d->max_pages;
   21.29 -#else
   21.30  	d->tot_pages = 0;
   21.31 -#endif
   21.32  	dsi.image_addr = (unsigned long)image_start;
   21.33  	dsi.image_len  = image_len;
   21.34  	rc = parseelfimage(&dsi);
   21.35 @@ -1053,25 +1044,6 @@ int construct_dom0(struct domain *d,
   21.36  	    if (alloc_vcpu(d, i, i) == NULL)
   21.37  		printf ("Cannot allocate dom0 vcpu %d\n", i);
   21.38  
   21.39 -#if defined(VALIDATE_VT) && !defined(CONFIG_XEN_IA64_DOM0_VP)
   21.40 -	/* Construct a frame-allocation list for the initial domain, since these
   21.41 -	 * pages are allocated by boot allocator and pfns are not set properly
   21.42 -	 */
   21.43 -	for ( mfn = (alloc_start>>PAGE_SHIFT); 
   21.44 -	      mfn < (alloc_end>>PAGE_SHIFT); 
   21.45 -	      mfn++ )
   21.46 -	{
   21.47 -            page = mfn_to_page(mfn);
   21.48 -            page_set_owner(page, d);
   21.49 -            page->u.inuse.type_info = 0;
   21.50 -            page->count_info        = PGC_allocated | 1;
   21.51 -            list_add_tail(&page->list, &d->page_list);
   21.52 -
   21.53 -	    /* Construct 1:1 mapping */
   21.54 -	    set_gpfn_from_mfn(mfn, mfn);
   21.55 -	}
   21.56 -#endif
   21.57 -
   21.58  	/* Copy the OS image. */
   21.59  	loaddomainelfimage(d,image_start);
   21.60  
    22.1 --- a/xen/arch/ia64/xen/hypercall.c	Fri Aug 04 09:15:51 2006 -0600
    22.2 +++ b/xen/arch/ia64/xen/hypercall.c	Fri Aug 04 09:32:00 2006 -0600
    22.3 @@ -84,11 +84,7 @@ hypercall_t ia64_hypercall_table[] =
    22.4  	(hypercall_t)do_ni_hypercall,		/*  */                  /* 45 */
    22.5  	(hypercall_t)do_ni_hypercall,		/*  */
    22.6  	(hypercall_t)do_ni_hypercall,		/*  */
    22.7 -#ifdef CONFIG_XEN_IA64_DOM0_VP
    22.8  	(hypercall_t)do_dom0vp_op,			/* dom0vp_op */
    22.9 -#else
   22.10 -	(hypercall_t)do_ni_hypercall,		/* arch_0 */
   22.11 -#endif
   22.12  	(hypercall_t)do_ni_hypercall,		/* arch_1 */
   22.13  	(hypercall_t)do_ni_hypercall,		/* arch_2 */            /* 50 */
   22.14  	(hypercall_t)do_ni_hypercall,		/* arch_3 */
    23.1 --- a/xen/arch/ia64/xen/hyperprivop.S	Fri Aug 04 09:15:51 2006 -0600
    23.2 +++ b/xen/arch/ia64/xen/hyperprivop.S	Fri Aug 04 09:32:00 2006 -0600
    23.3 @@ -32,20 +32,10 @@
    23.4  	
    23.5  //#define FAST_TICK // mostly working (unat problems) but default off for now
    23.6  //#define FAST_TLB_MISS_REFLECT	// mostly working but default off for now
    23.7 -# ifdef CONFIG_XEN_IA64_DOM0_VP
    23.8 -#  undef FAST_ITC	//XXX CONFIG_XEN_IA64_DOM0_VP
    23.9 -		//    TODO fast_itc doesn't suport dom0 vp yet.
   23.10 -# else
   23.11 -//#  define FAST_ITC	// to be reviewed
   23.12 -# endif
   23.13 +# undef FAST_ITC	//XXX TODO fast_itc doesn't suport dom0 vp yet.
   23.14  # define FAST_BREAK
   23.15 -# ifndef CONFIG_XEN_IA64_DOM0_VP
   23.16 -#  define FAST_ACCESS_REFLECT
   23.17 -# else
   23.18 -#  undef FAST_ACCESS_REFLECT //XXX CONFIG_XEN_IA64_DOM0_VP
   23.19 -                            //    TODO fast_access_reflect
   23.20 +# undef FAST_ACCESS_REFLECT //XXX TODO fast_access_reflect
   23.21                              //    doesn't support dom0 vp yet.
   23.22 -# endif
   23.23  # define FAST_RFI
   23.24  # define FAST_SSM_I
   23.25  # define FAST_PTC_GA
    24.1 --- a/xen/arch/ia64/xen/mm.c	Fri Aug 04 09:15:51 2006 -0600
    24.2 +++ b/xen/arch/ia64/xen/mm.c	Fri Aug 04 09:32:00 2006 -0600
    24.3 @@ -173,12 +173,8 @@
    24.4  #include <asm/shadow.h>
    24.5  #include <linux/efi.h>
    24.6  
    24.7 -#ifndef CONFIG_XEN_IA64_DOM0_VP
    24.8 -#define CONFIG_DOMAIN0_CONTIGUOUS
    24.9 -#else
   24.10  static void domain_page_flush(struct domain* d, unsigned long mpaddr,
   24.11                                unsigned long old_mfn, unsigned long new_mfn);
   24.12 -#endif
   24.13  
   24.14  extern unsigned long ia64_iobase;
   24.15  
   24.16 @@ -268,12 +264,11 @@ relinquish_pte(struct domain* d, pte_t* 
   24.17          return;
   24.18      }
   24.19  
   24.20 -#ifdef CONFIG_XEN_IA64_DOM0_VP
   24.21      if (page_get_owner(page) == d) {
   24.22          BUG_ON(get_gpfn_from_mfn(mfn) == INVALID_M2P_ENTRY);
   24.23          set_gpfn_from_mfn(mfn, INVALID_M2P_ENTRY);
   24.24      }
   24.25 -#endif
   24.26 +
   24.27      try_to_clear_PGC_allocate(d, page);
   24.28      put_page(page);
   24.29  }
   24.30 @@ -397,10 +392,6 @@ gmfn_to_mfn_foreign(struct domain *d, un
   24.31  {
   24.32  	unsigned long pte;
   24.33  
   24.34 -#ifndef CONFIG_XEN_IA64_DOM0_VP
   24.35 -	if (d == dom0)
   24.36 -		return(gpfn);
   24.37 -#endif
   24.38  	pte = lookup_domain_mpa(d,gpfn << PAGE_SHIFT, NULL);
   24.39  	if (!pte) {
   24.40  		panic("gmfn_to_mfn_foreign: bad gpfn. spinning...\n");
   24.41 @@ -427,34 +418,12 @@ u64 translate_domain_pte(u64 pteval, u64
   24.42  	// FIXME address had better be pre-validated on insert
   24.43  	mask = ~itir_mask(itir.itir);
   24.44  	mpaddr = ((pteval & _PAGE_PPN_MASK) & ~mask) | (address & mask);
   24.45 -#ifdef CONFIG_XEN_IA64_DOM0_VP
   24.46 -	if (itir.ps > PAGE_SHIFT) {
   24.47 +
   24.48 +	if (itir.ps > PAGE_SHIFT)
   24.49  		itir.ps = PAGE_SHIFT;
   24.50 -	}
   24.51 -#endif
   24.52 +
   24.53  	*logps = itir.ps;
   24.54 -#ifndef CONFIG_XEN_IA64_DOM0_VP
   24.55 -	if (d == dom0) {
   24.56 -		if (mpaddr < dom0_start || mpaddr >= dom0_start + dom0_size) {
   24.57 -			/*
   24.58 -			printk("translate_domain_pte: out-of-bounds dom0 mpaddr 0x%lx! itc=%lx...\n",
   24.59 -				mpaddr, ia64_get_itc());
   24.60 -			*/
   24.61 -		}
   24.62 -	}
   24.63 -	else if ((mpaddr >> PAGE_SHIFT) > d->max_pages) {
   24.64 -		/* Address beyond the limit.  However the grant table is
   24.65 -		   also beyond the limit.  Display a message if not in the
   24.66 -		   grant table.  */
   24.67 -		if (mpaddr >= IA64_GRANT_TABLE_PADDR
   24.68 -		    && mpaddr < (IA64_GRANT_TABLE_PADDR 
   24.69 -				 + (ORDER_GRANT_FRAMES << PAGE_SHIFT)))
   24.70 -			printf("translate_domain_pte: bad mpa=0x%lx (> 0x%lx),"
   24.71 -			       "vadr=0x%lx,pteval=0x%lx,itir=0x%lx\n",
   24.72 -			       mpaddr, (unsigned long)d->max_pages<<PAGE_SHIFT,
   24.73 -			       address, pteval, itir.itir);
   24.74 -	}
   24.75 -#endif
   24.76 +
   24.77  	pteval2 = lookup_domain_mpa(d, mpaddr, entry);
   24.78  
   24.79  	/* Check access rights.  */
   24.80 @@ -525,14 +494,6 @@ unsigned long translate_domain_mpaddr(un
   24.81  {
   24.82  	unsigned long pteval;
   24.83  
   24.84 -#ifndef CONFIG_XEN_IA64_DOM0_VP
   24.85 -	if (current->domain == dom0) {
   24.86 -		if (mpaddr < dom0_start || mpaddr >= dom0_start + dom0_size) {
   24.87 -			printk("translate_domain_mpaddr: out-of-bounds dom0 mpaddr 0x%lx! continuing...\n",
   24.88 -				mpaddr);
   24.89 -		}
   24.90 -	}
   24.91 -#endif
   24.92  	pteval = lookup_domain_mpa(current->domain, mpaddr, entry);
   24.93  	return ((pteval & _PAGE_PPN_MASK) | (mpaddr & ~PAGE_MASK));
   24.94  }
   24.95 @@ -644,7 +605,6 @@ lookup_noalloc_domain_pte(struct domain*
   24.96      return (volatile pte_t*)pte_offset_map(pmd, mpaddr);
   24.97  }
   24.98  
   24.99 -#ifdef CONFIG_XEN_IA64_DOM0_VP
  24.100  static volatile pte_t*
  24.101  lookup_noalloc_domain_pte_none(struct domain* d, unsigned long mpaddr)
  24.102  {
  24.103 @@ -684,7 +644,6 @@ unsigned long
  24.104          return GPFN_INV_MASK;
  24.105      return INVALID_MFN;
  24.106  }
  24.107 -#endif
  24.108  
  24.109  unsigned long lookup_domain_mpa(struct domain *d, unsigned long mpaddr,
  24.110                                  struct p2m_entry* entry)
  24.111 @@ -973,7 +932,6 @@ ioports_deny_access(struct domain *d, un
  24.112      return 0;
  24.113  }
  24.114  
  24.115 -#ifdef CONFIG_XEN_IA64_DOM0_VP
  24.116  static void
  24.117  assign_domain_same_page(struct domain *d,
  24.118                          unsigned long mpaddr, unsigned long size,
  24.119 @@ -1563,7 +1521,6 @@ domain_page_mapped(struct domain* d, uns
  24.120         return 1;
  24.121      return 0;
  24.122  }
  24.123 -#endif
  24.124  
  24.125  /* Flush cache of domain d.  */
  24.126  void domain_cache_flush (struct domain *d, int sync_only)
    25.1 --- a/xen/arch/ia64/xen/vcpu.c	Fri Aug 04 09:15:51 2006 -0600
    25.2 +++ b/xen/arch/ia64/xen/vcpu.c	Fri Aug 04 09:32:00 2006 -0600
    25.3 @@ -2012,9 +2012,7 @@ void vcpu_itc_no_srlz(VCPU *vcpu, UINT64
    25.4  		panic_domain (NULL, "vcpu_itc_no_srlz: domain trying to use "
    25.5   			      "smaller page size!\n");
    25.6  
    25.7 -#ifdef CONFIG_XEN_IA64_DOM0_VP
    25.8  	BUG_ON(logps > PAGE_SHIFT);
    25.9 -#endif
   25.10  	psr = ia64_clear_ic();
   25.11  	ia64_itc(IorD,vaddr,pte,ps); // FIXME: look for bigger mappings
   25.12  	ia64_set_psr(psr);
    26.1 --- a/xen/arch/ia64/xen/xensetup.c	Fri Aug 04 09:15:51 2006 -0600
    26.2 +++ b/xen/arch/ia64/xen/xensetup.c	Fri Aug 04 09:32:00 2006 -0600
    26.3 @@ -388,13 +388,6 @@ void start_kernel(void)
    26.4      max_page = 0;
    26.5      efi_memmap_walk(find_max_pfn, &max_page);
    26.6      printf("find_memory: efi_memmap_walk returns max_page=%lx\n",max_page);
    26.7 -#ifndef CONFIG_XEN_IA64_DOM0_VP
    26.8 -    /* this is a bad hack.  see dom_fw.c creation of EFI map for dom0 */
    26.9 -    max_page = (GRANULEROUNDDOWN(max_page << PAGE_SHIFT)
   26.10 -	- IA64_GRANULE_SIZE) >> PAGE_SHIFT;
   26.11 -    printf("find_memory: last granule reserved for dom0; xen max_page=%lx\n",
   26.12 -	max_page);
   26.13 -#endif
   26.14      efi_print();
   26.15  
   26.16      heap_start = memguard_init(ia64_imva(&_end));
    27.1 --- a/xen/include/asm-ia64/config.h	Fri Aug 04 09:15:51 2006 -0600
    27.2 +++ b/xen/include/asm-ia64/config.h	Fri Aug 04 09:32:00 2006 -0600
    27.3 @@ -228,9 +228,7 @@ struct screen_info { };
    27.4  #define seq_printf(a,b...) printf(b)
    27.5  //#define CONFIG_BLK_DEV_INITRD // needed to reserve memory for domain0
    27.6  
    27.7 -#ifdef CONFIG_XEN_IA64_DOM0_VP
    27.8  #define CONFIG_SHADOW	1
    27.9 -#endif
   27.10  
   27.11  // xen/include/asm/config.h
   27.12  /******************************************************************************
    28.1 --- a/xen/include/asm-ia64/grant_table.h	Fri Aug 04 09:15:51 2006 -0600
    28.2 +++ b/xen/include/asm-ia64/grant_table.h	Fri Aug 04 09:32:00 2006 -0600
    28.3 @@ -7,12 +7,6 @@
    28.4  
    28.5  #define ORDER_GRANT_FRAMES 0
    28.6  
    28.7 -#ifndef CONFIG_XEN_IA64_DOM0_VP
    28.8 -// for grant map/unmap
    28.9 -#define create_grant_host_mapping(a, f, fl)  0
   28.10 -#define destroy_grant_host_mapping(a, f, fl) 0
   28.11 -
   28.12 -#else
   28.13  // for grant map/unmap
   28.14  int create_grant_host_mapping(unsigned long gpaddr, unsigned long mfn, unsigned int flags);
   28.15  int destroy_grant_host_mapping(unsigned long gpaddr, unsigned long mfn, unsigned int flags);
   28.16 @@ -20,8 +14,6 @@ int destroy_grant_host_mapping(unsigned 
   28.17  // for grant transfer
   28.18  void guest_physmap_add_page(struct domain *d, unsigned long gpfn, unsigned long mfn);
   28.19  
   28.20 -#endif
   28.21 -
   28.22  // for grant table shared page
   28.23  #define gnttab_create_shared_page(d, t, i)                              \
   28.24      do {                                                                \
   28.25 @@ -37,21 +29,11 @@ void guest_physmap_add_page(struct domai
   28.26  #define gnttab_shared_maddr(d, t, i)                        \
   28.27      virt_to_maddr((char*)(t)->shared + ((i) << PAGE_SHIFT))
   28.28  
   28.29 -#ifndef CONFIG_XEN_IA64_DOM0_VP
   28.30 -# define gnttab_shared_gmfn(d, t, i)                                         \
   28.31 -    ({ ((d) == dom0) ?                                                       \
   28.32 -            (virt_to_maddr((t)->shared) >> PAGE_SHIFT) + (i):                \
   28.33 -            assign_domain_page((d),                                          \
   28.34 -                               IA64_GRANT_TABLE_PADDR + ((i) << PAGE_SHIFT), \
   28.35 -                               gnttab_shared_maddr(d, t, i)),                \
   28.36 -            (IA64_GRANT_TABLE_PADDR >> PAGE_SHIFT) + (i);})
   28.37 -#else
   28.38  # define gnttab_shared_gmfn(d, t, i)                                    \
   28.39      ({ assign_domain_page((d),                                          \
   28.40                            IA64_GRANT_TABLE_PADDR + ((i) << PAGE_SHIFT), \
   28.41                            gnttab_shared_maddr((d), (t), (i)));          \
   28.42          (IA64_GRANT_TABLE_PADDR >> PAGE_SHIFT) + (i);})
   28.43 -#endif
   28.44  
   28.45  #define gnttab_log_dirty(d, f) ((void)0)
   28.46  
    29.1 --- a/xen/include/asm-ia64/mm.h	Fri Aug 04 09:15:51 2006 -0600
    29.2 +++ b/xen/include/asm-ia64/mm.h	Fri Aug 04 09:32:00 2006 -0600
    29.3 @@ -435,7 +435,6 @@ struct p2m_entry;
    29.4  extern unsigned long lookup_domain_mpa(struct domain *d, unsigned long mpaddr, struct p2m_entry* entry);
    29.5  extern void *domain_mpa_to_imva(struct domain *d, unsigned long mpaddr);
    29.6  extern volatile pte_t *lookup_noalloc_domain_pte(struct domain* d, unsigned long mpaddr);
    29.7 -#ifdef CONFIG_XEN_IA64_DOM0_VP
    29.8  extern unsigned long assign_domain_mmio_page(struct domain *d, unsigned long mpaddr, unsigned long size);
    29.9  extern unsigned long assign_domain_mach_page(struct domain *d, unsigned long mpaddr, unsigned long size, unsigned long flags);
   29.10  int domain_page_mapped(struct domain *d, unsigned long mpaddr);
   29.11 @@ -444,7 +443,6 @@ extern unsigned long ____lookup_domain_m
   29.12  extern unsigned long do_dom0vp_op(unsigned long cmd, unsigned long arg0, unsigned long arg1, unsigned long arg2, unsigned long arg3);
   29.13  extern unsigned long dom0vp_zap_physmap(struct domain *d, unsigned long gpfn, unsigned int extent_order);
   29.14  extern unsigned long dom0vp_add_physmap(struct domain* d, unsigned long gpfn, unsigned long mfn, unsigned long flags, domid_t domid);
   29.15 -#endif
   29.16  
   29.17  extern volatile unsigned long *mpt_table;
   29.18  extern unsigned long gmfn_to_mfn_foreign(struct domain *d, unsigned long gpfn);
   29.19 @@ -499,11 +497,7 @@ extern u64 translate_domain_pte(u64 ptev
   29.20  /* Arch-specific portion of memory_op hypercall. */
   29.21  #define arch_memory_op(op, arg) (-ENOSYS)
   29.22  
   29.23 -#ifndef CONFIG_XEN_IA64_DOM0_VP
   29.24 -#define steal_page(d, p, f)  0
   29.25 -#else
   29.26  int steal_page(
   29.27      struct domain *d, struct page_info *page, unsigned int memflags);
   29.28 -#endif
   29.29  
   29.30  #endif /* __ASM_IA64_MM_H__ */
    30.1 --- a/xen/include/asm-ia64/shadow.h	Fri Aug 04 09:15:51 2006 -0600
    30.2 +++ b/xen/include/asm-ia64/shadow.h	Fri Aug 04 09:32:00 2006 -0600
    30.3 @@ -25,7 +25,6 @@
    30.4  
    30.5  #include <xen/config.h>
    30.6  
    30.7 -#ifdef CONFIG_XEN_IA64_DOM0_VP
    30.8  #ifndef CONFIG_SHADOW
    30.9  # error "CONFIG_SHADOW must be defined"
   30.10  #endif
   30.11 @@ -43,7 +42,6 @@
   30.12   */
   30.13  void guest_physmap_add_page(struct domain *d, unsigned long gpfn, unsigned long mfn);
   30.14  void guest_physmap_remove_page(struct domain *d, unsigned long gpfn, unsigned long mfn);
   30.15 -#endif
   30.16  
   30.17  static inline int
   30.18  shadow_mode_enabled(struct domain *d)
    31.1 --- a/xen/include/asm-ia64/vhpt.h	Fri Aug 04 09:15:51 2006 -0600
    31.2 +++ b/xen/include/asm-ia64/vhpt.h	Fri Aug 04 09:32:00 2006 -0600
    31.3 @@ -4,12 +4,8 @@
    31.4  #define VHPT_ENABLED 1
    31.5  
    31.6  /* Size of the VHPT.  */
    31.7 -#ifdef CONFIG_XEN_IA64_DOM0_VP
    31.8  // XXX work around to avoid trigerring xenLinux software lock up detection.
    31.9  # define	VHPT_SIZE_LOG2			16	// 64KB
   31.10 -#else
   31.11 -# define	VHPT_SIZE_LOG2			24	// 16MB default
   31.12 -#endif
   31.13  
   31.14  /* Number of entries in the VHPT.  The size of an entry is 4*8B == 32B */
   31.15  #define	VHPT_NUM_ENTRIES		(1 << (VHPT_SIZE_LOG2 - 5))