#include <asm/dma.h>
#include <asm/uaccess.h>
#include <xen/interface/memory.h>
+#include <asm-i386/mach-xen/asm/swiotlb.h>
int swiotlb;
EXPORT_SYMBOL(swiotlb);
*/
#define IO_TLB_SHIFT 11
-/* Width of DMA addresses in the IO TLB. 31 bits is an aacraid limitation. */
-#define IO_TLB_DMA_BITS 31
-
-static int swiotlb_force;
+int swiotlb_force;
static char *iotlb_virt_start;
static unsigned long iotlb_nslabs;
swiotlb = 1;
} else if ((swiotlb_force != -1) &&
is_running_on_xen() &&
- (xen_start_info->flags & SIF_INITDOMAIN)) {
+ is_initial_xendomain()) {
/* Domain 0 always has a swiotlb. */
ram_end = HYPERVISOR_memory_op(XENMEM_maximum_ram_page, NULL);
if (ram_end <= 0x7ffff)
swiotlb_unmap_page(struct device *hwdev, dma_addr_t dma_address,
size_t size, enum dma_data_direction direction)
{
- BUG_ON(direction == DMA_NONE);
+ BUG_ON(!valid_dma_direction(direction));
if (in_swiotlb_aperture(dma_address))
unmap_single(hwdev, bus_to_virt(dma_address), size, direction);
}