]> rtime.felk.cvut.cz Git - jailhouse.git/blobdiff - hypervisor/arch/x86/include/asm/iommu.h
Merge remote-tracking branch 'kiszka/master'
[jailhouse.git] / hypervisor / arch / x86 / include / asm / iommu.h
index 4380245bca8a4f80648a1496b0014346c61b2583..b667576d321eabab61c49a76d6a0cfb364672da0 100644 (file)
 #define _JAILHOUSE_ASM_IOMMU_H
 
 #include <jailhouse/entry.h>
+#include <jailhouse/cell.h>
 #include <jailhouse/cell-config.h>
 #include <jailhouse/pci.h>
 #include <jailhouse/types.h>
 #include <asm/apic.h>
-#include <asm/cell.h>
 #include <asm/percpu.h>
 
+extern unsigned int fault_reporting_cpu_id;
+
+unsigned int iommu_count_units(void);
+unsigned int iommu_mmio_count_regions(struct cell *cell);
+
 int iommu_init(void);
 
 int iommu_cell_init(struct cell *cell);
 int iommu_map_memory_region(struct cell *cell,
                            const struct jailhouse_memory *mem);
 int iommu_unmap_memory_region(struct cell *cell,
-                           const struct jailhouse_memory *mem);
+                             const struct jailhouse_memory *mem);
 int iommu_add_pci_device(struct cell *cell, struct pci_device *device);
 void iommu_remove_pci_device(struct pci_device *device);
 
@@ -46,9 +51,8 @@ void iommu_config_commit(struct cell *cell_added_removed);
 
 void iommu_shutdown(void);
 
-void iommu_check_pending_faults(struct per_cpu *cpu_data);
-
-int iommu_mmio_access_handler(bool is_write, u64 addr, u32 *value);
+struct per_cpu *iommu_select_fault_reporting_cpu(void);
+void iommu_check_pending_faults(void);
 
 bool iommu_cell_emulates_ir(struct cell *cell);