intel_iommu寄存器规范
liaocj
2024-12-03 09:02:56
Categories:
Tags:
Intel IOMMU register specification
#define DMAR_VER_REG 0x0
#define DMAR_CAP_REG 0x8
#define DMAR_ECAP_REG 0x10
#define DMAR_GCMD_REG 0x18
#define DMAR_GSTS_REG 0x1c
#define DMAR_RTADDR_REG 0x20
#define DMAR_CCMD_REG 0x28
#define DMAR_FSTS_REG 0x34
#define DMAR_FECTL_REG 0x38
#define DMAR_FEDATA_REG 0x3c
#define DMAR_FEADDR_REG 0x40
#define DMAR_FEUADDR_REG 0x44
#define DMAR_AFLOG_REG 0x58
#define DMAR_PMEN_REG 0x64
#define DMAR_PLMBASE_REG 0x68
#define DMAR_PLMLIMIT_REG 0x6c
#define DMAR_PHMBASE_REG 0x70
#define DMAR_PHMLIMIT_REG 0x78
#define DMAR_IQH_REG 0x80
#define DMAR_IQT_REG 0x88
#define DMAR_IQ_SHIFT 4
#define DMAR_IQA_REG 0x90
#define DMAR_ICS_REG 0x9c
#define DMAR_IQER_REG 0xb0
#define DMAR_IRTA_REG 0xb8
#define DMAR_PQH_REG 0xc0
#define DMAR_PQT_REG 0xc8
#define DMAR_PQA_REG 0xd0
#define DMAR_PRS_REG 0xdc
#define DMAR_PECTL_REG 0xe0
#define DMAR_PEDATA_REG 0xe4
#define DMAR_PEADDR_REG 0xe8
#define DMAR_PEUADDR_REG 0xec
#define DMAR_MTRRCAP_REG 0x100
#define DMAR_MTRRDEF_REG 0x108
#define DMAR_MTRR_FIX64K_00000_REG 0x120
#define DMAR_MTRR_FIX16K_80000_REG 0x128
#define DMAR_MTRR_FIX16K_A0000_REG 0x130
#define DMAR_MTRR_FIX4K_C0000_REG 0x138
#define DMAR_MTRR_FIX4K_C8000_REG 0x140
#define DMAR_MTRR_FIX4K_D0000_REG 0x148
#define DMAR_MTRR_FIX4K_D8000_REG 0x150
#define DMAR_MTRR_FIX4K_E0000_REG 0x158
#define DMAR_MTRR_FIX4K_E8000_REG 0x160
#define DMAR_MTRR_FIX4K_F0000_REG 0x168
#define DMAR_MTRR_FIX4K_F8000_REG 0x170
#define DMAR_MTRR_PHYSBASE0_REG 0x180
#define DMAR_MTRR_PHYSMASK0_REG 0x188
#define DMAR_MTRR_PHYSBASE1_REG 0x190
#define DMAR_MTRR_PHYSMASK1_REG 0x198
#define DMAR_MTRR_PHYSBASE2_REG 0x1a0
#define DMAR_MTRR_PHYSMASK2_REG 0x1a8
#define DMAR_MTRR_PHYSBASE3_REG 0x1b0
#define DMAR_MTRR_PHYSMASK3_REG 0x1b8
#define DMAR_MTRR_PHYSBASE4_REG 0x1c0
#define DMAR_MTRR_PHYSMASK4_REG 0x1c8
#define DMAR_MTRR_PHYSBASE5_REG 0x1d0
#define DMAR_MTRR_PHYSMASK5_REG 0x1d8
#define DMAR_MTRR_PHYSBASE6_REG 0x1e0
#define DMAR_MTRR_PHYSMASK6_REG 0x1e8
#define DMAR_MTRR_PHYSBASE7_REG 0x1f0
#define DMAR_MTRR_PHYSMASK7_REG 0x1f8
#define DMAR_MTRR_PHYSBASE8_REG 0x200
#define DMAR_MTRR_PHYSMASK8_REG 0x208
#define DMAR_MTRR_PHYSBASE9_REG 0x210
#define DMAR_MTRR_PHYSMASK9_REG 0x218
#define DMAR_VCCAP_REG 0xe30
#define DMAR_VCMD_REG 0xe00
#define DMAR_VCRSP_REG 0xe10
#define DMAR_IQER_REG_IQEI(reg) FIELD_GET(GENMASK_ULL(3, 0), reg)
#define DMAR_IQER_REG_ITESID(reg) FIELD_GET(GENMASK_ULL(47, 32), reg)
#define DMAR_IQER_REG_ICESID(reg) FIELD_GET(GENMASK_ULL(63, 48), reg)