#include <linux/ratelimit.h>
#include <linux/pci.h>
#include <linux/pci-ats.h>
#include <linux/bitmap.h>
#include <linux/slab.h>
#include <linux/debugfs.h>
#include <linux/scatterlist.h>
#include <linux/dma-mapping.h>
#include <linux/iommu-helper.h>
#include <linux/iommu.h>
#include <linux/delay.h>
#include <linux/amd-iommu.h>
#include <linux/notifier.h>
#include <linux/export.h>
#include <linux/irq.h>
#include <linux/msi.h>
#include <asm/irq_remapping.h>
#include <asm/io_apic.h>
#include <asm/apic.h>
#include <asm/hw_irq.h>
#include <asm/msidef.h>
#include <asm/proto.h>
#include <asm/iommu.h>
#include <asm/gart.h>
#include <asm/dma.h>
#include "amd_iommu_proto.h"
#include "amd_iommu_types.h"
#include "irq_remapping.h"
Go to the source code of this file.
|
| | LIST_HEAD (ioapic_map) |
| |
| | LIST_HEAD (hpet_map) |
| |
| void __init | amd_iommu_uninit_devices (void) |
| |
| int __init | amd_iommu_init_devices (void) |
| |
| irqreturn_t | amd_iommu_int_thread (int irq, void *data) |
| |
| irqreturn_t | amd_iommu_int_handler (int irq, void *data) |
| |
| void | iommu_flush_all_caches (struct amd_iommu *iommu) |
| |
| void | amd_iommu_init_notifier (void) |
| |
| void __init | amd_iommu_init_api (void) |
| |
| int __init | amd_iommu_init_dma_ops (void) |
| |
| int __init | amd_iommu_init_passthrough (void) |
| |
| int | amd_iommu_register_ppr_notifier (struct notifier_block *nb) |
| |
| | EXPORT_SYMBOL (amd_iommu_register_ppr_notifier) |
| |
| int | amd_iommu_unregister_ppr_notifier (struct notifier_block *nb) |
| |
| | EXPORT_SYMBOL (amd_iommu_unregister_ppr_notifier) |
| |
| void | amd_iommu_domain_direct_map (struct iommu_domain *dom) |
| |
| | EXPORT_SYMBOL (amd_iommu_domain_direct_map) |
| |
| int | amd_iommu_domain_enable_v2 (struct iommu_domain *dom, int pasids) |
| |
| | EXPORT_SYMBOL (amd_iommu_domain_enable_v2) |
| |
| int | amd_iommu_flush_page (struct iommu_domain *dom, int pasid, u64 address) |
| |
| | EXPORT_SYMBOL (amd_iommu_flush_page) |
| |
| int | amd_iommu_flush_tlb (struct iommu_domain *dom, int pasid) |
| |
| | EXPORT_SYMBOL (amd_iommu_flush_tlb) |
| |
| int | amd_iommu_domain_set_gcr3 (struct iommu_domain *dom, int pasid, unsigned long cr3) |
| |
| | EXPORT_SYMBOL (amd_iommu_domain_set_gcr3) |
| |
| int | amd_iommu_domain_clear_gcr3 (struct iommu_domain *dom, int pasid) |
| |
| | EXPORT_SYMBOL (amd_iommu_domain_clear_gcr3) |
| |
| int | amd_iommu_complete_ppr (struct pci_dev *pdev, int pasid, int status, int tag) |
| |
| | EXPORT_SYMBOL (amd_iommu_complete_ppr) |
| |
| struct iommu_domain * | amd_iommu_get_v2_domain (struct pci_dev *pdev) |
| |
| | EXPORT_SYMBOL (amd_iommu_get_v2_domain) |
| |
| void | amd_iommu_enable_device_erratum (struct pci_dev *pdev, u32 erratum) |
| |
| | EXPORT_SYMBOL (amd_iommu_enable_device_erratum) |
| |
| int | amd_iommu_device_info (struct pci_dev *pdev, struct amd_iommu_device_info *info) |
| |
| | EXPORT_SYMBOL (amd_iommu_device_info) |
| |
| #define AMD_IOMMU_PGSIZES (~0xFFFUL) |
| #define CMD_SET_TYPE |
( |
|
cmd, |
|
|
|
t |
|
) |
| ((cmd)->data[1] |= ((t) << 28)) |
| #define LOOP_TIMEOUT 100000 |
| #define PCI_PRI_TLP_OFF (1 << 15) |
| int amd_iommu_max_glx_val = -1 |