Linux Kernel
3.7.1
|
#include <linux/pci.h>
#include <linux/acpi.h>
#include <linux/list.h>
#include <linux/slab.h>
#include <linux/syscore_ops.h>
#include <linux/interrupt.h>
#include <linux/msi.h>
#include <linux/amd-iommu.h>
#include <linux/export.h>
#include <acpi/acpi.h>
#include <asm/pci-direct.h>
#include <asm/iommu.h>
#include <asm/gart.h>
#include <asm/x86_init.h>
#include <asm/iommu_table.h>
#include <asm/io_apic.h>
#include <asm/irq_remapping.h>
#include "amd_iommu_proto.h"
#include "amd_iommu_types.h"
#include "irq_remapping.h"
Go to the source code of this file.
Data Structures | |
struct | ivhd_header |
struct | ivhd_entry |
struct | ivmd_header |
Functions | |
struct ivhd_header | __attribute__ ((packed)) |
LIST_HEAD (amd_iommu_unity_map) | |
LIST_HEAD (amd_iommu_list) | |
LIST_HEAD (amd_iommu_pd_list) | |
void | amd_iommu_reset_cmd_buffer (struct amd_iommu *iommu) |
void | amd_iommu_apply_erratum_63 (u16 devid) |
int __init | amd_iommu_detect (void) |
__setup ("amd_iommu_dump", parse_amd_iommu_dump) | |
__setup ("amd_iommu=", parse_amd_iommu_options) | |
IOMMU_INIT_FINISH (amd_iommu_detect, gart_iommu_hole_init, NULL, NULL) | |
bool | amd_iommu_v2_supported (void) |
EXPORT_SYMBOL (amd_iommu_v2_supported) | |
#define ACPI_DEVFLAG_ATSDIS 0x10000000 |
Definition at line 80 of file amd_iommu_init.c.
#define ACPI_DEVFLAG_EXTINT 0x02 |
Definition at line 74 of file amd_iommu_init.c.
#define ACPI_DEVFLAG_INITPASS 0x01 |
Definition at line 73 of file amd_iommu_init.c.
#define ACPI_DEVFLAG_LINT0 0x40 |
Definition at line 78 of file amd_iommu_init.c.
#define ACPI_DEVFLAG_LINT1 0x80 |
Definition at line 79 of file amd_iommu_init.c.
#define ACPI_DEVFLAG_NMI 0x04 |
Definition at line 75 of file amd_iommu_init.c.
#define ACPI_DEVFLAG_SYSMGT1 0x10 |
Definition at line 76 of file amd_iommu_init.c.
#define ACPI_DEVFLAG_SYSMGT2 0x20 |
Definition at line 77 of file amd_iommu_init.c.
#define ACPI_IVHD_TYPE 0x10 |
Definition at line 47 of file amd_iommu_init.c.
#define ACPI_IVMD_TYPE 0x21 |
Definition at line 49 of file amd_iommu_init.c.
#define ACPI_IVMD_TYPE_ALL 0x20 |
Definition at line 48 of file amd_iommu_init.c.
#define ACPI_IVMD_TYPE_RANGE 0x22 |
Definition at line 50 of file amd_iommu_init.c.
#define IOAPIC_SB_DEVID ((0x00 << 8) | PCI_DEVFN(0x14, 0)) |
Definition at line 1603 of file amd_iommu_init.c.
#define IVHD_DEV_ALIAS 0x42 |
Definition at line 56 of file amd_iommu_init.c.
#define IVHD_DEV_ALIAS_RANGE 0x43 |
Definition at line 57 of file amd_iommu_init.c.
#define IVHD_DEV_ALL 0x01 |
Definition at line 52 of file amd_iommu_init.c.
#define IVHD_DEV_EXT_SELECT 0x46 |
Definition at line 58 of file amd_iommu_init.c.
#define IVHD_DEV_EXT_SELECT_RANGE 0x47 |
Definition at line 59 of file amd_iommu_init.c.
#define IVHD_DEV_RANGE_END 0x04 |
Definition at line 55 of file amd_iommu_init.c.
#define IVHD_DEV_SELECT 0x02 |
Definition at line 53 of file amd_iommu_init.c.
#define IVHD_DEV_SELECT_RANGE_START 0x03 |
Definition at line 54 of file amd_iommu_init.c.
#define IVHD_DEV_SPECIAL 0x48 |
Definition at line 60 of file amd_iommu_init.c.
#define IVHD_FLAG_HT_TUN_EN_MASK 0x01 |
Definition at line 65 of file amd_iommu_init.c.
#define IVHD_FLAG_ISOC_EN_MASK 0x08 |
Definition at line 68 of file amd_iommu_init.c.
#define IVHD_FLAG_PASSPW_EN_MASK 0x02 |
Definition at line 66 of file amd_iommu_init.c.
#define IVHD_FLAG_RESPASSPW_EN_MASK 0x04 |
Definition at line 67 of file amd_iommu_init.c.
#define IVHD_SPECIAL_HPET 2 |
Definition at line 63 of file amd_iommu_init.c.
#define IVHD_SPECIAL_IOAPIC 1 |
Definition at line 62 of file amd_iommu_init.c.
#define IVMD_FLAG_EXCL_RANGE 0x08 |
Definition at line 70 of file amd_iommu_init.c.
#define IVMD_FLAG_UNITY_MAP 0x01 |
Definition at line 71 of file amd_iommu_init.c.
#define IVRS_HEADER_LENGTH 48 |
Definition at line 45 of file amd_iommu_init.c.
enum iommu_init_state |
IOMMU_START_STATE | |
IOMMU_IVRS_DETECTED | |
IOMMU_ACPI_FINISHED | |
IOMMU_ENABLED | |
IOMMU_PCI_INIT | |
IOMMU_INTERRUPTS_EN | |
IOMMU_DMA_OPS | |
IOMMU_INITIALIZED | |
IOMMU_NOT_FOUND | |
IOMMU_INIT_ERROR |
Definition at line 203 of file amd_iommu_init.c.
|
read |
Definition at line 171 of file esd_usb2.c.
__setup | ( | "amd_iommu_dump" | , |
parse_amd_iommu_dump | |||
) |
__setup | ( | ) |
Definition at line 662 of file amd_iommu_init.c.
Definition at line 2017 of file amd_iommu_init.c.
Definition at line 523 of file amd_iommu_init.c.
Definition at line 2074 of file amd_iommu_init.c.
EXPORT_SYMBOL | ( | amd_iommu_v2_supported | ) |
IOMMU_INIT_FINISH | ( | amd_iommu_detect | , |
gart_iommu_hole_init | , | ||
NULL | , | ||
NULL | |||
) |
LIST_HEAD | ( | amd_iommu_unity_map | ) |
LIST_HEAD | ( | amd_iommu_list | ) |
LIST_HEAD | ( | amd_iommu_pd_list | ) |
bool amd_iommu_force_isolation __read_mostly = true |
Definition at line 132 of file amd_iommu_init.c.
u16* amd_iommu_alias_table |
Definition at line 179 of file amd_iommu_init.c.
struct dev_table_entry* amd_iommu_dev_table |
Definition at line 172 of file amd_iommu_init.c.
bool amd_iommu_dump |
Definition at line 131 of file amd_iommu_init.c.
u16 amd_iommu_last_bdf |
Definition at line 137 of file amd_iommu_init.c.
unsigned long* amd_iommu_pd_alloc_bitmap |
Definition at line 197 of file amd_iommu_init.c.
spinlock_t amd_iommu_pd_lock |
Definition at line 164 of file amd_iommu_init.c.
Definition at line 185 of file amd_iommu_init.c.
u32 amd_iommu_unmap_flush |
Definition at line 141 of file amd_iommu_init.c.
struct amd_iommu* amd_iommus[MAX_IOMMUS] |
Definition at line 147 of file amd_iommu_init.c.
int amd_iommus_present |
Definition at line 148 of file amd_iommu_init.c.
u16 aux |
Definition at line 134 of file amd_iommu_init.c.
u16 cap_ptr |
Definition at line 108 of file amd_iommu_init.c.
u16 devid |
Definition at line 107 of file amd_iommu_init.c.
u32 ext |
Definition at line 118 of file amd_iommu_init.c.
u8 flags |
Definition at line 105 of file amd_iommu_init.c.
u16 info |
Definition at line 111 of file amd_iommu_init.c.
struct irq_remap_table** irq_lookup_table |
Definition at line 191 of file amd_iommu_init.c.
u16 length |
Definition at line 106 of file amd_iommu_init.c.
u64 mmio_phys |
Definition at line 109 of file amd_iommu_init.c.
u16 pci_seg |
Definition at line 110 of file amd_iommu_init.c.
u64 range_length |
Definition at line 137 of file amd_iommu_init.c.
u64 range_start |
Definition at line 136 of file amd_iommu_init.c.
u32 reserved |
Definition at line 112 of file amd_iommu_init.c.
u64 resv |
Definition at line 135 of file amd_iommu_init.c.
Definition at line 104 of file amd_iommu_init.c.