[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [IA64] Switch to CONFIG_IA64_GENERIC config and wire in Xen machine vector



# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1178549696 21600
# Node ID fc0a9a40f1516287639646d088759210b3c8e62c
# Parent  3b3f00d42dc41d3fd3ce60d3f048e6ba67ac499e
[IA64] Switch to CONFIG_IA64_GENERIC config and wire in Xen machine vector

This enables the switch to the generic flavor ia64 kernel for the -xen
and -xen0 kernels.  -xenU is changed to a CONFIG_IA64_XEN build.

Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---
 buildconfigs/linux-defconfig_xen0_ia64              |   62 ++++++++++++++-----
 buildconfigs/linux-defconfig_xenU_ia64              |   21 ++----
 buildconfigs/linux-defconfig_xen_ia64               |   59 +++++++++++++-----
 linux-2.6-xen-sparse/arch/ia64/xen/Makefile         |    6 -
 linux-2.6-xen-sparse/include/asm-ia64/dma-mapping.h |   63 +-------------------
 linux-2.6-xen-sparse/include/asm-ia64/machvec_dig.h |   15 ----
 linux-2.6-xen-sparse/lib/Makefile                   |    5 +
 7 files changed, 111 insertions(+), 120 deletions(-)

diff -r 3b3f00d42dc4 -r fc0a9a40f151 buildconfigs/linux-defconfig_xen0_ia64
--- a/buildconfigs/linux-defconfig_xen0_ia64    Mon May 07 08:52:12 2007 -0600
+++ b/buildconfigs/linux-defconfig_xen0_ia64    Mon May 07 08:54:56 2007 -0600
@@ -1,8 +1,9 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.18-xen0
-# Mon Jan 29 10:16:18 2007
-#
+# Linux kernel version: 2.6.18
+# Sun May  6 20:45:43 2007
+#
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
 
 #
 # Code maturity level options
@@ -99,12 +100,13 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
 CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
 CONFIG_DMA_IS_DMA32=y
 CONFIG_AUDIT_ARCH=y
-# CONFIG_IA64_GENERIC is not set
-CONFIG_IA64_DIG=y
+CONFIG_IA64_GENERIC=y
+# CONFIG_IA64_DIG is not set
 # CONFIG_IA64_HP_ZX1 is not set
 # CONFIG_IA64_HP_ZX1_SWIOTLB is not set
 # CONFIG_IA64_SGI_SN2 is not set
 # CONFIG_IA64_HP_SIM is not set
+# CONFIG_IA64_XEN is not set
 # CONFIG_ITANIUM is not set
 CONFIG_MCKINLEY=y
 # CONFIG_IA64_PAGE_SIZE_4KB is not set
@@ -120,6 +122,7 @@ CONFIG_IA64_L1_CACHE_SHIFT=7
 CONFIG_IA64_L1_CACHE_SHIFT=7
 CONFIG_IA64_CYCLONE=y
 CONFIG_IOSAPIC=y
+# CONFIG_IA64_SGI_SN_XP is not set
 CONFIG_FORCE_MAX_ZONEORDER=11
 CONFIG_SMP=y
 CONFIG_NR_CPUS=16
@@ -129,23 +132,37 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 # CONFIG_PERMIT_BSP_REMOVE is not set
 # CONFIG_PREEMPT is not set
 CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_FLATMEM_MANUAL is not set
+CONFIG_DISCONTIGMEM_MANUAL=y
 # CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
+CONFIG_DISCONTIGMEM=y
 CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_NEED_MULTIPLE_NODES=y
 # CONFIG_SPARSEMEM_STATIC is not set
 CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_MIGRATION is not set
 CONFIG_RESOURCES_64BIT=y
 CONFIG_ARCH_SELECT_MEMORY_MODEL=y
 CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
 CONFIG_ARCH_FLATMEM_ENABLE=y
 CONFIG_ARCH_SPARSEMEM_ENABLE=y
-# CONFIG_VIRTUAL_MEM_MAP is not set
+CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
+CONFIG_NUMA=y
+CONFIG_NODES_SHIFT=10
+CONFIG_VIRTUAL_MEM_MAP=y
+CONFIG_HOLES_IN_ZONE=y
+CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
+CONFIG_HAVE_ARCH_NODEDATA_EXTENSION=y
 # CONFIG_IA32_SUPPORT is not set
-CONFIG_IA64_MCA_RECOVERY=y
+# CONFIG_IA64_MCA_RECOVERY is not set
 CONFIG_PERFMON=y
 CONFIG_IA64_PALINFO=y
+CONFIG_SGI_SN=y
+
+#
+# SN Devices
+#
+# CONFIG_SGI_IOC3 is not set
 
 #
 # Firmware Drivers
@@ -172,6 +189,7 @@ CONFIG_ACPI_PROCESSOR=y
 CONFIG_ACPI_PROCESSOR=y
 CONFIG_ACPI_HOTPLUG_CPU=y
 CONFIG_ACPI_THERMAL=y
+CONFIG_ACPI_NUMA=y
 CONFIG_ACPI_BLACKLIST_YEAR=0
 # CONFIG_ACPI_DEBUG is not set
 CONFIG_ACPI_EC=y
@@ -203,6 +221,7 @@ CONFIG_HOTPLUG_PCI_ACPI=y
 # CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
 # CONFIG_HOTPLUG_PCI_CPCI is not set
 # CONFIG_HOTPLUG_PCI_SHPC is not set
+# CONFIG_HOTPLUG_PCI_SGI is not set
 
 #
 # PCCARD (PCMCIA/CardBus) support
@@ -747,6 +766,8 @@ CONFIG_SERIAL_NONSTANDARD=y
 # CONFIG_SX is not set
 # CONFIG_RIO is not set
 # CONFIG_STALDRV is not set
+# CONFIG_SGI_SNSC is not set
+# CONFIG_SGI_TIOCX is not set
 
 #
 # Serial drivers
@@ -755,6 +776,7 @@ CONFIG_SERIAL_NONSTANDARD=y
 #
 # Non-8250 serial port support
 #
+# CONFIG_SERIAL_SGI_L1_CONSOLE is not set
 # CONFIG_SERIAL_JSM is not set
 CONFIG_UNIX98_PTYS=y
 CONFIG_LEGACY_PTYS=y
@@ -782,6 +804,8 @@ CONFIG_AGP=y
 # CONFIG_AGP_SIS is not set
 # CONFIG_AGP_VIA is not set
 CONFIG_AGP_I460=y
+# CONFIG_AGP_HP_ZX1 is not set
+# CONFIG_AGP_SGI_TIOCA is not set
 CONFIG_DRM=y
 # CONFIG_DRM_TDFX is not set
 # CONFIG_DRM_R128 is not set
@@ -793,6 +817,7 @@ CONFIG_DRM=y
 # CONFIG_RAW_DRIVER is not set
 # CONFIG_HPET is not set
 # CONFIG_HANGCHECK_TIMER is not set
+# CONFIG_MMTIMER is not set
 
 #
 # TPM devices
@@ -1541,6 +1566,13 @@ CONFIG_IRQ_PER_CPU=y
 CONFIG_IRQ_PER_CPU=y
 
 #
+# HP Simulator drivers
+#
+# CONFIG_HP_SIMETH is not set
+# CONFIG_HP_SIMSERIAL is not set
+# CONFIG_HP_SIMSCSI is not set
+
+#
 # Instrumentation Support
 #
 # CONFIG_PROFILING is not set
@@ -1615,9 +1647,6 @@ CONFIG_CRYPTO_DES=y
 #
 # Hardware crypto devices
 #
-# CONFIG_XEN_UTIL is not set
-CONFIG_XEN_BALLOON=y
-CONFIG_XEN_REBOOT=y
 # CONFIG_XEN_SMPBOOT is not set
 CONFIG_XEN_INTERFACE_VERSION=0x00030205
 
@@ -1642,15 +1671,14 @@ CONFIG_XEN_TPMDEV_BACKEND=m
 CONFIG_XEN_TPMDEV_BACKEND=m
 CONFIG_XEN_BLKDEV_FRONTEND=y
 CONFIG_XEN_NETDEV_FRONTEND=y
-# CONFIG_XEN_FRAMEBUFFER is not set
+CONFIG_XEN_FRAMEBUFFER=y
+CONFIG_XEN_KEYBOARD=y
 # CONFIG_XEN_SCRUB_PAGES is not set
 CONFIG_XEN_DISABLE_SERIAL=y
 CONFIG_XEN_SYSFS=y
 CONFIG_XEN_COMPAT_030002_AND_LATER=y
 # CONFIG_XEN_COMPAT_030004_AND_LATER is not set
 # CONFIG_XEN_COMPAT_LATEST_ONLY is not set
-CONFIG_XEN_COMPAT_030002=y
-CONFIG_XEN_COMPAT_030004=y
+CONFIG_XEN_COMPAT=0x030002
 CONFIG_HAVE_IRQ_IGNORE_UNHANDLED=y
 CONFIG_NO_IDLE_HZ=y
-CONFIG_XEN_DEVMEM=y
diff -r 3b3f00d42dc4 -r fc0a9a40f151 buildconfigs/linux-defconfig_xenU_ia64
--- a/buildconfigs/linux-defconfig_xenU_ia64    Mon May 07 08:52:12 2007 -0600
+++ b/buildconfigs/linux-defconfig_xenU_ia64    Mon May 07 08:54:56 2007 -0600
@@ -1,8 +1,9 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.18-xenU
-# Mon Jan 29 10:26:51 2007
-#
+# Linux kernel version: 2.6.18
+# Sun May  6 22:07:34 2007
+#
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
 
 #
 # Code maturity level options
@@ -56,6 +57,7 @@ CONFIG_MODULES=y
 # CONFIG_MODVERSIONS is not set
 # CONFIG_MODULE_SRCVERSION_ALL is not set
 # CONFIG_KMOD is not set
+CONFIG_STOP_MACHINE=y
 
 #
 # Block layer
@@ -97,11 +99,12 @@ CONFIG_DMA_IS_DMA32=y
 CONFIG_DMA_IS_DMA32=y
 CONFIG_AUDIT_ARCH=y
 # CONFIG_IA64_GENERIC is not set
-CONFIG_IA64_DIG=y
+# CONFIG_IA64_DIG is not set
 # CONFIG_IA64_HP_ZX1 is not set
 # CONFIG_IA64_HP_ZX1_SWIOTLB is not set
 # CONFIG_IA64_SGI_SN2 is not set
 # CONFIG_IA64_HP_SIM is not set
+CONFIG_IA64_XEN=y
 # CONFIG_ITANIUM is not set
 CONFIG_MCKINLEY=y
 # CONFIG_IA64_PAGE_SIZE_4KB is not set
@@ -175,7 +178,7 @@ CONFIG_ACPI_EC=y
 CONFIG_ACPI_EC=y
 CONFIG_ACPI_POWER=y
 CONFIG_ACPI_SYSTEM=y
-# CONFIG_ACPI_CONTAINER is not set
+CONFIG_ACPI_CONTAINER=y
 
 #
 # CPU Frequency scaling
@@ -673,7 +676,6 @@ CONFIG_AGP=y
 CONFIG_AGP=y
 # CONFIG_AGP_SIS is not set
 # CONFIG_AGP_VIA is not set
-# CONFIG_AGP_I460 is not set
 CONFIG_DRM=y
 # CONFIG_DRM_TDFX is not set
 # CONFIG_DRM_R128 is not set
@@ -1467,9 +1469,6 @@ CONFIG_CRYPTO_DES=y
 #
 # Hardware crypto devices
 #
-# CONFIG_XEN_UTIL is not set
-CONFIG_XEN_BALLOON=y
-CONFIG_XEN_REBOOT=y
 # CONFIG_XEN_SMPBOOT is not set
 CONFIG_XEN_INTERFACE_VERSION=0x00030205
 
@@ -1491,8 +1490,6 @@ CONFIG_XEN_COMPAT_030002_AND_LATER=y
 CONFIG_XEN_COMPAT_030002_AND_LATER=y
 # CONFIG_XEN_COMPAT_030004_AND_LATER is not set
 # CONFIG_XEN_COMPAT_LATEST_ONLY is not set
-CONFIG_XEN_COMPAT_030002=y
-CONFIG_XEN_COMPAT_030004=y
+CONFIG_XEN_COMPAT=0x030002
 CONFIG_HAVE_IRQ_IGNORE_UNHANDLED=y
 CONFIG_NO_IDLE_HZ=y
-CONFIG_XEN_DEVMEM=y
diff -r 3b3f00d42dc4 -r fc0a9a40f151 buildconfigs/linux-defconfig_xen_ia64
--- a/buildconfigs/linux-defconfig_xen_ia64     Mon May 07 08:52:12 2007 -0600
+++ b/buildconfigs/linux-defconfig_xen_ia64     Mon May 07 08:54:56 2007 -0600
@@ -1,8 +1,9 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.18-xen
-# Mon Jan 29 10:01:13 2007
-#
+# Linux kernel version: 2.6.18
+# Sun May  6 20:45:43 2007
+#
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
 
 #
 # Code maturity level options
@@ -99,12 +100,13 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
 CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
 CONFIG_DMA_IS_DMA32=y
 CONFIG_AUDIT_ARCH=y
-# CONFIG_IA64_GENERIC is not set
-CONFIG_IA64_DIG=y
+CONFIG_IA64_GENERIC=y
+# CONFIG_IA64_DIG is not set
 # CONFIG_IA64_HP_ZX1 is not set
 # CONFIG_IA64_HP_ZX1_SWIOTLB is not set
 # CONFIG_IA64_SGI_SN2 is not set
 # CONFIG_IA64_HP_SIM is not set
+# CONFIG_IA64_XEN is not set
 # CONFIG_ITANIUM is not set
 CONFIG_MCKINLEY=y
 # CONFIG_IA64_PAGE_SIZE_4KB is not set
@@ -120,6 +122,7 @@ CONFIG_IA64_L1_CACHE_SHIFT=7
 CONFIG_IA64_L1_CACHE_SHIFT=7
 CONFIG_IA64_CYCLONE=y
 CONFIG_IOSAPIC=y
+# CONFIG_IA64_SGI_SN_XP is not set
 CONFIG_FORCE_MAX_ZONEORDER=11
 CONFIG_SMP=y
 CONFIG_NR_CPUS=16
@@ -129,23 +132,37 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 # CONFIG_PERMIT_BSP_REMOVE is not set
 # CONFIG_PREEMPT is not set
 CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_FLATMEM_MANUAL is not set
+CONFIG_DISCONTIGMEM_MANUAL=y
 # CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
+CONFIG_DISCONTIGMEM=y
 CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_NEED_MULTIPLE_NODES=y
 # CONFIG_SPARSEMEM_STATIC is not set
 CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_MIGRATION is not set
 CONFIG_RESOURCES_64BIT=y
 CONFIG_ARCH_SELECT_MEMORY_MODEL=y
 CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
 CONFIG_ARCH_FLATMEM_ENABLE=y
 CONFIG_ARCH_SPARSEMEM_ENABLE=y
-# CONFIG_VIRTUAL_MEM_MAP is not set
+CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
+CONFIG_NUMA=y
+CONFIG_NODES_SHIFT=10
+CONFIG_VIRTUAL_MEM_MAP=y
+CONFIG_HOLES_IN_ZONE=y
+CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
+CONFIG_HAVE_ARCH_NODEDATA_EXTENSION=y
 # CONFIG_IA32_SUPPORT is not set
-CONFIG_IA64_MCA_RECOVERY=y
+# CONFIG_IA64_MCA_RECOVERY is not set
 CONFIG_PERFMON=y
 CONFIG_IA64_PALINFO=y
+CONFIG_SGI_SN=y
+
+#
+# SN Devices
+#
+# CONFIG_SGI_IOC3 is not set
 
 #
 # Firmware Drivers
@@ -172,6 +189,7 @@ CONFIG_ACPI_PROCESSOR=y
 CONFIG_ACPI_PROCESSOR=y
 CONFIG_ACPI_HOTPLUG_CPU=y
 CONFIG_ACPI_THERMAL=y
+CONFIG_ACPI_NUMA=y
 CONFIG_ACPI_BLACKLIST_YEAR=0
 # CONFIG_ACPI_DEBUG is not set
 CONFIG_ACPI_EC=y
@@ -203,6 +221,7 @@ CONFIG_HOTPLUG_PCI_ACPI=y
 # CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
 # CONFIG_HOTPLUG_PCI_CPCI is not set
 # CONFIG_HOTPLUG_PCI_SHPC is not set
+# CONFIG_HOTPLUG_PCI_SGI is not set
 
 #
 # PCCARD (PCMCIA/CardBus) support
@@ -747,6 +766,8 @@ CONFIG_SERIAL_NONSTANDARD=y
 # CONFIG_SX is not set
 # CONFIG_RIO is not set
 # CONFIG_STALDRV is not set
+# CONFIG_SGI_SNSC is not set
+# CONFIG_SGI_TIOCX is not set
 
 #
 # Serial drivers
@@ -755,6 +776,7 @@ CONFIG_SERIAL_NONSTANDARD=y
 #
 # Non-8250 serial port support
 #
+# CONFIG_SERIAL_SGI_L1_CONSOLE is not set
 # CONFIG_SERIAL_JSM is not set
 CONFIG_UNIX98_PTYS=y
 CONFIG_LEGACY_PTYS=y
@@ -782,6 +804,8 @@ CONFIG_AGP=y
 # CONFIG_AGP_SIS is not set
 # CONFIG_AGP_VIA is not set
 CONFIG_AGP_I460=y
+# CONFIG_AGP_HP_ZX1 is not set
+# CONFIG_AGP_SGI_TIOCA is not set
 CONFIG_DRM=y
 # CONFIG_DRM_TDFX is not set
 # CONFIG_DRM_R128 is not set
@@ -793,6 +817,7 @@ CONFIG_DRM=y
 # CONFIG_RAW_DRIVER is not set
 # CONFIG_HPET is not set
 # CONFIG_HANGCHECK_TIMER is not set
+# CONFIG_MMTIMER is not set
 
 #
 # TPM devices
@@ -1541,6 +1566,13 @@ CONFIG_IRQ_PER_CPU=y
 CONFIG_IRQ_PER_CPU=y
 
 #
+# HP Simulator drivers
+#
+# CONFIG_HP_SIMETH is not set
+# CONFIG_HP_SIMSERIAL is not set
+# CONFIG_HP_SIMSCSI is not set
+
+#
 # Instrumentation Support
 #
 # CONFIG_PROFILING is not set
@@ -1615,9 +1647,6 @@ CONFIG_CRYPTO_DES=y
 #
 # Hardware crypto devices
 #
-# CONFIG_XEN_UTIL is not set
-CONFIG_XEN_BALLOON=y
-CONFIG_XEN_REBOOT=y
 # CONFIG_XEN_SMPBOOT is not set
 CONFIG_XEN_INTERFACE_VERSION=0x00030205
 
@@ -1650,8 +1679,6 @@ CONFIG_XEN_COMPAT_030002_AND_LATER=y
 CONFIG_XEN_COMPAT_030002_AND_LATER=y
 # CONFIG_XEN_COMPAT_030004_AND_LATER is not set
 # CONFIG_XEN_COMPAT_LATEST_ONLY is not set
-CONFIG_XEN_COMPAT_030002=y
-CONFIG_XEN_COMPAT_030004=y
+CONFIG_XEN_COMPAT=0x030002
 CONFIG_HAVE_IRQ_IGNORE_UNHANDLED=y
 CONFIG_NO_IDLE_HZ=y
-CONFIG_XEN_DEVMEM=y
diff -r 3b3f00d42dc4 -r fc0a9a40f151 linux-2.6-xen-sparse/arch/ia64/xen/Makefile
--- a/linux-2.6-xen-sparse/arch/ia64/xen/Makefile       Mon May 07 08:52:12 
2007 -0600
+++ b/linux-2.6-xen-sparse/arch/ia64/xen/Makefile       Mon May 07 08:54:56 
2007 -0600
@@ -3,7 +3,7 @@
 #
 
 obj-y := hypercall.o xenivt.o xenentry.o xensetup.o xenpal.o xenhpski.o \
-        hypervisor.o pci-dma-xen.o util.o xencomm.o xcom_hcall.o \
-        xcom_mini.o xcom_privcmd.o mem.o
+        hypervisor.o util.o xencomm.o xcom_hcall.o xcom_mini.o \
+        xcom_privcmd.o mem.o xen_dma.o
 
-pci-dma-xen-y := ../../i386/kernel/pci-dma-xen.o
+obj-$(CONFIG_IA64_GENERIC) += machvec.o
diff -r 3b3f00d42dc4 -r fc0a9a40f151 
linux-2.6-xen-sparse/include/asm-ia64/dma-mapping.h
--- a/linux-2.6-xen-sparse/include/asm-ia64/dma-mapping.h       Mon May 07 
08:52:12 2007 -0600
+++ b/linux-2.6-xen-sparse/include/asm-ia64/dma-mapping.h       Mon May 07 
08:54:56 2007 -0600
@@ -13,7 +13,6 @@
 #include <asm/swiotlb.h>
 #endif
 
-#ifndef CONFIG_XEN
 #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
@@ -27,47 +26,6 @@
 #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,
-                  enum dma_data_direction direction);
-int dma_supported(struct device *dev, u64 mask);
-void *dma_alloc_coherent(struct device *dev, size_t size,
-                         dma_addr_t *dma_handle, gfp_t gfp);
-void dma_free_coherent(struct device *dev, size_t size, void *vaddr,
-                       dma_addr_t dma_handle);
-dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size,
-                          enum dma_data_direction direction);
-void dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size,
-                      enum dma_data_direction direction);
-void dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle,
-                             size_t size, enum dma_data_direction direction);
-void dma_sync_single_for_device(struct device *dev, dma_addr_t dma_handle,
-                                size_t size,
-                                enum dma_data_direction direction);
-int dma_mapping_error(dma_addr_t dma_addr);
-
-#define flush_write_buffers()  do { } while (0)
-static inline void
-dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nelems,
-                    enum dma_data_direction direction)
-{
-       if (swiotlb)
-               swiotlb_sync_sg_for_cpu(dev,sg,nelems,direction);
-       flush_write_buffers();
-}
-
-static inline void
-dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nelems,
-                       enum dma_data_direction direction)
-{
-       if (swiotlb)
-               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))
 #define dma_unmap_page(dev, dma_addr, size, dir)                       \
@@ -83,9 +41,7 @@ dma_sync_sg_for_device(struct device *de
 #define dma_sync_single_range_for_device(dev, dma_handle, offset, size, dir)   
\
        dma_sync_single_for_device(dev, dma_handle, size, dir)
 
-#ifndef CONFIG_XEN
 #define dma_supported          platform_dma_supported
-#endif
 
 static inline int
 dma_set_mask (struct device *dev, u64 mask)
@@ -111,26 +67,19 @@ dma_cache_sync (void *vaddr, size_t size
 #define dma_is_consistent(dma_handle)  (1)     /* all we do is coherent 
memory... */
 
 #ifdef CONFIG_XEN
-/* arch/i386/kernel/swiotlb.o requires */
-void contiguous_bitmap_init(unsigned long end_pfn);
-
-static inline int
-address_needs_mapping(struct device *hwdev, dma_addr_t addr)
-{
-       dma_addr_t mask = DMA_64BIT_MASK;
-       /* If the device has a mask, use it, otherwise default to 64 bits */
-       if (hwdev && hwdev->dma_mask)
-               mask = *hwdev->dma_mask;
-       return (addr & ~mask) != 0;
-}
-
 static inline int
 range_straddles_page_boundary(void *p, size_t size)
 {
        extern unsigned long *contiguous_bitmap;
+
+       if (!is_running_on_xen())
+               return 0;
+
        return (((((unsigned long)p & ~PAGE_MASK) + size) > PAGE_SIZE) &&
                !test_bit(__pa(p) >> PAGE_SHIFT, contiguous_bitmap));
 }
+#else
+#define range_straddles_page_boundary(addr, size)      (0)
 #endif
 
 #endif /* _ASM_IA64_DMA_MAPPING_H */
diff -r 3b3f00d42dc4 -r fc0a9a40f151 
linux-2.6-xen-sparse/include/asm-ia64/machvec_dig.h
--- a/linux-2.6-xen-sparse/include/asm-ia64/machvec_dig.h       Mon May 07 
08:52:12 2007 -0600
+++ b/linux-2.6-xen-sparse/include/asm-ia64/machvec_dig.h       Mon May 07 
08:54:56 2007 -0600
@@ -13,19 +13,4 @@ extern ia64_mv_setup_t dig_setup;
 #define platform_name          "dig"
 #define platform_setup         dig_setup
 
-#ifdef CONFIG_XEN
-# define platform_dma_map_sg           dma_map_sg
-# define platform_dma_unmap_sg         dma_unmap_sg
-# define platform_dma_mapping_error    dma_mapping_error
-# define platform_dma_supported                dma_supported
-# define platform_dma_alloc_coherent   dma_alloc_coherent
-# define platform_dma_free_coherent    dma_free_coherent
-# define platform_dma_map_single       dma_map_single
-# define platform_dma_unmap_single     dma_unmap_single
-# define platform_dma_sync_single_for_cpu \
-                                       dma_sync_single_for_cpu
-# define platform_dma_sync_single_for_device \
-                                       dma_sync_single_for_device
-#endif
-
 #endif /* _ASM_IA64_MACHVEC_DIG_h */
diff -r 3b3f00d42dc4 -r fc0a9a40f151 linux-2.6-xen-sparse/lib/Makefile
--- a/linux-2.6-xen-sparse/lib/Makefile Mon May 07 08:52:12 2007 -0600
+++ b/linux-2.6-xen-sparse/lib/Makefile Mon May 07 08:54:56 2007 -0600
@@ -52,7 +52,12 @@ obj-$(CONFIG_AUDIT_GENERIC) += audit.o
 obj-$(CONFIG_AUDIT_GENERIC) += audit.o
 
 obj-$(CONFIG_SWIOTLB) += swiotlb.o
+ifeq ($(CONFIG_X86),y)
 swiotlb-$(CONFIG_XEN) := ../arch/i386/kernel/swiotlb.o
+endif
+ifeq ($(CONFIG_IA64),y)
+swiotlb-$(CONFIG_XEN) := ../arch/ia64/xen/swiotlb.o
+endif
 
 hostprogs-y    := gen_crc32table
 clean-files    := crc32table.h

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.