Index: 2005-12-16/include/asm-i386/mach-xen/asm/scatterlist.h =================================================================== --- 2005-12-16.orig/include/asm-i386/mach-xen/asm/scatterlist.h 2005-11-21 16:42:07.000000000 +0100 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -#ifndef _I386_SCATTERLIST_H -#define _I386_SCATTERLIST_H - -struct scatterlist { - struct page *page; - unsigned int offset; - unsigned int length; - dma_addr_t dma_address; - unsigned int dma_length; -}; - -/* These macros should be used after a pci_map_sg call has been done - * to get bus addresses of each of the SG entries and their lengths. - * You should only work with the number of sg entries pci_map_sg - * returns. - */ -#define sg_dma_address(sg) ((sg)->dma_address) -#define sg_dma_len(sg) ((sg)->dma_length) - -#define ISA_DMA_THRESHOLD (0x00ffffff) - -#endif /* !(_I386_SCATTERLIST_H) */ Index: 2005-12-16/include/asm-i386/scatterlist.h =================================================================== --- 2005-12-16.orig/include/asm-i386/scatterlist.h 2005-11-21 16:42:07.000000000 +0100 +++ 2005-12-16/include/asm-i386/scatterlist.h 2005-12-22 10:35:26.000000000 +0100 @@ -1,11 +1,16 @@ #ifndef _I386_SCATTERLIST_H #define _I386_SCATTERLIST_H +#include + struct scatterlist { struct page *page; unsigned int offset; dma_addr_t dma_address; unsigned int length; +#ifdef CONFIG_X86_XEN + unsigned int dma_length; +#endif }; /* These macros should be used after a pci_map_sg call has been done @@ -14,7 +19,11 @@ struct scatterlist { * returns. */ #define sg_dma_address(sg) ((sg)->dma_address) +#ifndef CONFIG_X86_XEN #define sg_dma_len(sg) ((sg)->length) +#else +#define sg_dma_len(sg) ((sg)->dma_length) +#endif #define ISA_DMA_THRESHOLD (0x00ffffff)