Page MenuHomeFreeBSD

D26722.diff
No OneTemporary

D26722.diff

Index: head/sys/dev/iommu/busdma_iommu.c
===================================================================
--- head/sys/dev/iommu/busdma_iommu.c
+++ head/sys/dev/iommu/busdma_iommu.c
@@ -888,7 +888,7 @@
struct bus_dmamap_iommu *map;
struct iommu_ctx *ctx;
struct iommu_domain *domain;
-#if defined(__amd64__)
+#ifndef IOMMU_DOMAIN_UNLOAD_SLEEP
struct iommu_map_entries_tailq entries;
#endif
@@ -898,13 +898,13 @@
domain = ctx->domain;
atomic_add_long(&ctx->unloads, 1);
-#if defined(__i386__)
+#if defined(IOMMU_DOMAIN_UNLOAD_SLEEP)
IOMMU_DOMAIN_LOCK(domain);
TAILQ_CONCAT(&domain->unload_entries, &map->map_entries, dmamap_link);
IOMMU_DOMAIN_UNLOCK(domain);
taskqueue_enqueue(domain->iommu->delayed_taskqueue,
&domain->unload_task);
-#else /* defined(__amd64__) */
+#else
TAILQ_INIT(&entries);
IOMMU_DOMAIN_LOCK(domain);
TAILQ_CONCAT(&entries, &map->map_entries, dmamap_link);
Index: head/sys/i386/include/iommu.h
===================================================================
--- head/sys/i386/include/iommu.h
+++ head/sys/i386/include/iommu.h
@@ -4,3 +4,5 @@
/* $FreeBSD$ */
#include <x86/iommu.h>
+
+#define IOMMU_DOMAIN_UNLOAD_SLEEP

File Metadata

Mime Type
text/plain
Expires
Wed, Mar 4, 10:53 PM (15 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29259463
Default Alt Text
D26722.diff (1 KB)

Event Timeline