[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |