Page MenuHomeFreeBSD

D26859.diff
No OneTemporary

D26859.diff

Index: head/sys/dev/iommu/iommu.h
===================================================================
--- head/sys/dev/iommu/iommu.h
+++ head/sys/dev/iommu/iommu.h
@@ -197,7 +197,7 @@
int iommu_gas_map_region(struct iommu_domain *domain,
struct iommu_map_entry *entry, u_int eflags, u_int flags, vm_page_t *ma);
int iommu_gas_reserve_region(struct iommu_domain *domain, iommu_gaddr_t start,
- iommu_gaddr_t end);
+ iommu_gaddr_t end, struct iommu_map_entry **entry0);
void iommu_set_buswide_ctx(struct iommu_unit *unit, u_int busno);
bool iommu_is_buswide_ctx(struct iommu_unit *unit, u_int busno);
Index: head/sys/dev/iommu/iommu_gas.c
===================================================================
--- head/sys/dev/iommu/iommu_gas.c
+++ head/sys/dev/iommu/iommu_gas.c
@@ -677,7 +677,7 @@
int
iommu_gas_reserve_region(struct iommu_domain *domain, iommu_gaddr_t start,
- iommu_gaddr_t end)
+ iommu_gaddr_t end, struct iommu_map_entry **entry0)
{
struct iommu_map_entry *entry;
int error;
@@ -692,6 +692,8 @@
IOMMU_DOMAIN_UNLOCK(domain);
if (error != 0)
iommu_gas_free_entry(domain, entry);
+ else if (entry0 != NULL)
+ *entry0 = entry;
return (error);
}
Index: head/sys/x86/iommu/intel_ctx.c
===================================================================
--- head/sys/x86/iommu/intel_ctx.c
+++ head/sys/x86/iommu/intel_ctx.c
@@ -366,7 +366,7 @@
goto fail;
/* Disable local apic region access */
error = iommu_gas_reserve_region(iodom, 0xfee00000,
- 0xfeefffff + 1);
+ 0xfeefffff + 1, &iodom->msi_entry);
if (error != 0)
goto fail;
}

File Metadata

Mime Type
text/plain
Expires
Thu, Jul 16, 2:28 PM (12 h, 9 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35142816
Default Alt Text
D26859.diff (1 KB)

Event Timeline