diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2008-09-05 08:29:07 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-09-19 06:59:11 -0400 |
commit | 335503e57b6b8de04cec5d27eb2c3d09ff98905b (patch) | |
tree | a2f33f3a2a668e832273aa0b18608ef51e90a742 /include | |
parent | 6d4f343f84993eb0d5864c0823dc9babd171a33a (diff) |
AMD IOMMU: add event buffer allocation
This patch adds the allocation of a event buffer for each AMD IOMMU in
the system. The hardware will log events like device page faults or
other errors to this buffer once this is enabled.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-x86/amd_iommu_types.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/asm-x86/amd_iommu_types.h b/include/asm-x86/amd_iommu_types.h index dcc472445ffd..8b8cd0c60b3c 100644 --- a/include/asm-x86/amd_iommu_types.h +++ b/include/asm-x86/amd_iommu_types.h | |||
@@ -116,6 +116,10 @@ | |||
116 | #define MMIO_CMD_SIZE_SHIFT 56 | 116 | #define MMIO_CMD_SIZE_SHIFT 56 |
117 | #define MMIO_CMD_SIZE_512 (0x9ULL << MMIO_CMD_SIZE_SHIFT) | 117 | #define MMIO_CMD_SIZE_512 (0x9ULL << MMIO_CMD_SIZE_SHIFT) |
118 | 118 | ||
119 | /* constants for event buffer handling */ | ||
120 | #define EVT_BUFFER_SIZE 8192 /* 512 entries */ | ||
121 | #define EVT_LEN_MASK (0x9ULL << 56) | ||
122 | |||
119 | #define PAGE_MODE_1_LEVEL 0x01 | 123 | #define PAGE_MODE_1_LEVEL 0x01 |
120 | #define PAGE_MODE_2_LEVEL 0x02 | 124 | #define PAGE_MODE_2_LEVEL 0x02 |
121 | #define PAGE_MODE_3_LEVEL 0x03 | 125 | #define PAGE_MODE_3_LEVEL 0x03 |
@@ -243,6 +247,11 @@ struct amd_iommu { | |||
243 | /* size of command buffer */ | 247 | /* size of command buffer */ |
244 | u32 cmd_buf_size; | 248 | u32 cmd_buf_size; |
245 | 249 | ||
250 | /* event buffer virtual address */ | ||
251 | u8 *evt_buf; | ||
252 | /* size of event buffer */ | ||
253 | u32 evt_buf_size; | ||
254 | |||
246 | /* if one, we need to send a completion wait command */ | 255 | /* if one, we need to send a completion wait command */ |
247 | int need_sync; | 256 | int need_sync; |
248 | 257 | ||