namespace Microsoft.Singularity.Drivers { public sealed class Atue { // // Offsets from page 299. // struct Offset { // ATU Vendor ID Register - ATUVID [p.303] const int ATUVID = 0x000; // ATU Device ID Register - ATUDID [p.303] const int ATUDID = 0x002; // ATU Command Register - ATUCMD [p.304] const int ATUCMD = 0x004; // ATU Status Register - ATUSR [p.305] const int ATUSR = 0x006; // ATU Revision ID Register - ATURID [p.306] const int ATURID = 0x008; // ATU Class Code Register - ATUCCR [p.306] const int ATUCCR = 0x009; // ATU Cacheline Size Register - ATUCLSR [p.307] const int ATUCLSR = 0x00C; // ATU Latency Timer Register - ATULT [p.307] const int ATULT = 0x00D; // ATU Header Type Register - ATUHTR [p.308] const int ATUHTR = 0x00E; // ATU BIST Register - ATUBISTR [p.309] const int ATUBISTR = 0x00F; // Inbound ATU Base Address Register 0 - IABAR0 [p.310] const int IABAR0 = 0x010; // Inbound ATU Upper Base Address Register 0 - IAUBAR0 [p.311] const int IAUBAR0 = 0x014; // Inbound ATU Base Address Register 1 - IABAR1 [p.314] const int IABAR1 = 0x018; // Inbound ATU Upper Base Address Register 1 - IAUBAR1 [p.315] const int IAUBAR1 = 0x01C; // Inbound ATU Base Address Register 2 - IABAR2 [p.316] const int IABAR2 = 0x020; // Inbound ATU Upper Base Address Register 2 - IAUBAR2 [p.317] const int IAUBAR2 = 0x024; // ATU Subsystem Vendor ID Register - ASVIR [p.318] const int ASVIR = 0x02C; // ATU Subsystem ID Register - ASIR [p.318] const int ASIR = 0x02E; // Expansion ROM Base Address Register - ERBAR [p.319] const int ERBAR = 0x030; // ATU Capabilities Pointer Register - ATU_Cap_Ptr [p.320] const int ATU_Cap_Ptr = 0x034; // ATU Interrupt Line Register - ATUILR [p.321] const int ATUILR = 0x03C; // ATU Interrupt Pin Register - ATUIPR [p.322] const int ATUIPR = 0x03D; // ATU Minimum Grant Register - ATUMGNT [p.322] const int ATUMGNT = 0x03E; // ATU Maximum Latency Register - ATUMLAT [p.323] const int ATUMLAT = 0x03F; // Inbound ATU Limit Register 0 - IALR0 [p.324] const int IALR0 = 0x040; // Inbound ATU Translate Value Register 0 - IATVR0 [p.325] const int IATVR0 = 0x044; // Inbound ATU Upper Translate Value Register 0 - IAUTVR0 [p.325] const int IAUTVR0 = 0x048; // Inbound ATU Limit Register 1 - IALR1 [p.326] const int IALR1 = 0x04C; // Inbound ATU Translate Value Register 1 - IATVR1 [p.327] const int IATVR1 = 0x050; // Inbound ATU Upper Translate Value Register 1 - IAUTVR1 [p.327] const int IAUTVR1 = 0x054; // Inbound ATU Limit Register 2 - IALR2 [p.328] const int IALR2 = 0x058; // Inbound ATU Translate Value Register 2 - IATVR2 [p.329] const int IATVR2 = 0x05C; // Inbound ATU Upper Translate Value Register 2 - IAUTVR2 [p.330] const int IAUTVR2 = 0x060; // Expansion ROM Limit Register - ERLR [p.330] const int ERLR = 0x064; // Expansion ROM Translate Value Register - ERTVR [p.331] const int ERTVR = 0x068; // Expansion ROM Upper Translate Value Register - ERUTVR [p.331] const int ERUTVR = 0x06C; // ATU Configuration Register - ATUCR [p.332] const int ATUCR = 0x070; // PCI Configuration and Status Register - PCSR [p.333] const int PCSR = 0x074; // ATU Interrupt Status Register - ATUISR [p.335] const int ATUISR = 0x078; // ATU Interrupt Mask Register - ATUIMR [p.338] const int ATUIMR = 0x07C; // PCI Express Message Control/Status Register - PEMCSR [p.339] const int PEMCSR = 0x080; // PCI Express Link Control/Status Register - PELCSR [p.340] const int PELCSR = 0x084; // VPD Capability Identifier Register - VPD_Cap_ID [p.341] const int VPD_Cap_ID = 0x090; // VPD Next Item Pointer Register - VPD_Next_Item_Ptr [p.341] const int VPD_Next_Item_Ptr = 0x091; // VPD Address Register - VPDAR [p.342] const int VPDAR = 0x092; // VPD Data Register - VPDDR [p.342] const int VPDDR = 0x094; // PM Capability Identifier Register - PM_Cap_ID [p.343] const int PM_Cap_ID = 0x098; // PM Next Item Pointer Register - PM_Next_Item_Ptr [p.343] const int PM_Next_Item_Ptr = 0x099; // ATU Power Management Capabilities Register - APMCR [p.344] const int APMCR = 0x09A; // ATU Power Management Control/Status Register - APMCSR [p.345] const int APMCSR = 0x09C; // MSI Capability Identifier Register - Cap_ID [p.452a] const int Cap_ID = 0x0A0; // MSI Next Item Pointer Register - MSI_Next_Ptr [p.453a] const int MSI_Next_Ptr = 0x0A1; // Message Control Register - Message_Control [p.454a] const int Message_Control = 0x0A2; // Message Address Register - Message_Address [p.455a] const int Message_Address = 0x0A4; // Message Upper Address Register - Message_Upper_Address [p.456a] const int Message_Upper_Address = 0x0A8; // Message Data Register- Message_Data [p.457a] const int Message_Data = 0x0AC; // MSI-X Capability Identifier Register - MSI_X_Cap_ID [p.458b] const int MSI_X_Cap_ID = 0x0B0; // MSI-X Next Item Pointer Register - MSI_X_Next_Item_Ptr [p.459b] const int MSI_X_Next_Item_Ptr = 0x0B1; // MSI-X Message Control Register - MSI_X_MCR [p.460b] const int MSI_X_MCR = 0x0B2; // MSI-X Table Offset Register — MSI_X_Table_Offset [p.461b] const int MSX_X_Table_Offset = 0x0B4; // MSI-X Pending Bit Array Offset Register - MSI_X_PBA_Offset [p.462b] const int MSI_X_PBA_Offset = 0x0B8; // ATU Scratch Pad Register - ATUSPR [p.346] const int ATUSPR = 0x0CC; // PCI Express Capability List Register - PCIE_CAPID [p.346] const int PCIE_CAPID = 0x0D0; // PCI Express Next Item Pointer Register - PCIE_NXTP [p.347] const int PCIE_NXTP = 0x0D1; // PCI Express Capabilities Register - PCIE_CAP [p.348] const int PCIE_CAP = 0x0D2; // PCI Express Device Capabilities Register - PCIE_DCAP [p.349] const int PCIE_DCAP = 0x0D4; // PCI Express Device Control Register - PE_DCTL [p.350] const int PE_DCTL = 0x0D8; // PCI Express Device Status Register - PE_DSTS [p.352] const int PE_DSTS = 0x0DA; // PCI Express Link Capabilities Register - PE_LCAP [p.353] const int PE_LCAP = 0x0DC; // PCI Express Link Control Register - PE_LCTL [p.354] const int PE_LCTL = 0x0E0; // PCI Express Link Status Register - PE_LSTS [p.355] const int PE_LSTS = 0x0E2; // PCI Express Slot Capabilities Register - PE_SCAP [p.356] const int PE_SCAP = 0x0E4; // PCI Express Slot Control Register - PE_SCR [p.357] const int PE_SCR = 0x0E8; // PCI Express Slot Status Register - PE_SSTS [p.358] const int PE_SSTS = 0x0EA; // PCI Express Root Control Register - PE_RCR [p.359] const int PE_RCR = 0x0EC; // PCI Express Root Status Register - PE_RSR [p.360] const int PE_RSR = 0x0F0; // PCI Express Advanced Error Capability Identifier - ADVERR_CAPID [p.361] const int ADVERR_CAPID = 0x100; // PCI Express Uncorrectable Error Status - ERRUNC_STS [p.362] const int ERRUNC_STS = 0x104; // PCI Express Uncorrectable Error Mask - ERRUNC_MSK [p.363] const int ERRUNC_MSK = 0x108; // PCI Express Uncorrectable Error Severity - ERRUNC_SEV [p.364] const int ERRUNC_SEV = 0x10C; // PCI Express Correctable Error Status - ERRCOR_STS [p.365] const int ERRCOR_STS = 0x110; // PCI Express Correctable Error Mask - ERRCOR_MSK [p.366] const int ERRCOR_MSK = 0x114; // Advanced Error Control and Capability Register - ADVERR_CTL [p.367] const int ADVERR_CTL = 0x118; // PCI Express Advanced Error Header Log - ADVERR_LOG0 [p.367] const int ADVERR_LOG0 = 0x11C; // PCI Express Advanced Error Header Log - ADVERR_LOG1 [p.368] const int ADVERR_LOG1 = 0x120; // PCI Express Advanced Error Header Log - ADVERR_LOG2 [p.368] const int ADVERR_LOG2 = 0x124; // PCI Express Advanced Error Header Log - ADVERR_LOG3 [p.369] const int ADVERR_LOG3 = 0x128; // Root Error Command Register - RERR_CMD [p.369] const int RERR_CMD = 0x12C; // Root Error Status Register - RERR_SR [p.370] const int RERR_SR = 0x130; // Error Source Identification Register - RERR_ID [p.371] const int RERR_ID = 0x134; // Device Serial Number Capability - DSN_CAP [p.371] const int DSN_CAP = 0x1E0; // Device Serial Number Lower DW Register - DSN_LDW [p.372] const int DSN_LDW = 0x1E4; // Device Serial Number Upper DW Register - DSN_UDW [p.372] const int DSN_UDW = 0x1E8; // PCI Express Advisory Error Control Register - PIE_AEC [p.373] const int PIE_AEC = 0x1EC; // Power Budgeting Enhanced Capability Header - PWRBGT_CAPID [p.374] const int PWRBGT_CAPID = 0x1F0; // Power Budgeting Data Select Register - PWRBGT_DSEL [p.374] const int PWRBGT_DSEL = 0x1F4; // Power Budgeting Data Register - PWRBGT_DATA [p.375] const int PWRBGT_DATA = 0x1F8; // Power Budgeting Capability Register - PWRBGT_CAP [p.376] const int PWRBGT_CAP = 0x1FC; // Outbound I/O Base Address Register - OIOBAR [p.378] const int OIOBAR = 0x300; // Outbound I/O Window Translate Value Register - OIOWTVR [p.379] const int OIOWTVR = 0x304; // Outbound Upper Memory Window Base Address Register 0 - OUMBAR0 [p.380] const int OUMBAR0 = 0x308; // Outbound Upper 32-bit Memory Window Translate Value Register 0 - OUMWTVR0 [p.381] const int OUMWTVR0 = 0x30C; // Outbound Upper Memory Window Base Address Register 1 - OUMBAR1 [p.382] const int OUMBAR1 = 0x310; // Outbound Upper 32-bit Memory Window Translate Value Register 1 - OUMWTVR1 [p.383] const int OUMWTVR1 = 0x314; // Outbound Upper Memory Window Base Address Register 2 - OUMBAR2 [p.384] const int OUMBAR2 = 0x318; // Outbound Upper 32-bit Memory Window Translate Value Register 2 - OUMWTVR2 [p.385] const int OUMWTVR2 = 0x31C; // Outbound Upper Memory Window Base Address Register 3 - OUMBAR3 [p.386] const int OUMBAR3 = 0x320; // Outbound Upper 32-bit Memory Window Translate Value Register 3 - OUMWTVR3 [p.387] const int OUMWTVR3 = 0x324; // Outbound Configuration Cycle Address Register - OCCAR [p.388] const int OCCAR = 0x32C; // Outbound Configuration Cycle Data Register - OCCDR [p.389] const int OCCDR = 0x330; // Outbound Configuration Cycle Function Number - OCCFN [p.390] const int OCCFN = 0x334; // Inbound Vendor Message Header Register 0 - IVMHR0 [p.391] const int IVMHR0 = 0x340; // Inbound Vendor Message Header Register 1 - IVMHR1 [p.392] const int IVMHR1 = 0x344; // Inbound Vendor Message Header Register 2 - IVMHR2 [p.393] const int IVMHR2 = 0x348; // Inbound Vendor Message Header Register 3 - IVMHR3 [p.394] const int IVMHR3 = 0x34C; // Inbound Vendor Message Payload Register - IVMPR [p.394] const int IVMPR = 0x350; // Outbound Vendor Message Header Register 0 - OVMHR0 [p.395] const int OVMHR0 = 0x360; // Outbound Vendor Message Header Register 1 - OVMHR1 [p.396] const int OVMHR1 = 0x364; // Outbound Vendor Message Header Register 2 - OVMHR2 [p.397] const int OVMHR2 = 0x368; // Outbound Vendor Message Header Register 3 - OVMHR3 [p.397] const int OVMHR3 = 0x36C; // Outbound Vendor Message Payload Register - OVMPR [p.398] const int OVMPR = 0x370; // PCI Interface Error Control and Status Register - PIE_CSR [p.399] const int PIE_CSR = 0x380; // PCI Interface Error Status - PIE_STS [p.400] const int PIE_STS = 0x384; // PCI Interface Error Mask - PIE_MSK [p.401] const int PIE_MSK = 0x388; // PCI Interface Error Header Log - PIE_LOG0 [p.402] const int PIE_LOG0 = 0x38C; // PCI Interface Error Header Log 1 - PIE_LOG1 [p.402] const int PIE_LOG1 = 0x390; // PCI Interface Error Header Log 2 - PIE_LOG2 [p.403] const int PIE_LOG2 = 0x394; // PCI Interface Error Header Log - PIE_LOG3 [p.403] const int PIE_LOG3 = 0x398; // PCI Interface Error Descriptor Log - PIE_DLOG [p.404] const int PIE_DLOG = 0x39C; // ATU Reset Control Register - ATURCR [p.404] const int ATURCR = 0x3B0; } } }