TianoCore EDK2 master
Loading...
Searching...
No Matches
Cxl20.h File Reference

Go to the source code of this file.

Data Structures

union  CXL_DVSEC_CXL_DEVICE_CAPABILITY
 
union  CXL_DVSEC_CXL_DEVICE_CONTROL
 
union  CXL_DVSEC_CXL_DEVICE_STATUS
 
union  CXL_DVSEC_CXL_DEVICE_CONTROL2
 
union  CXL_DVSEC_CXL_DEVICE_STATUS2
 
union  CXL_DVSEC_CXL_DEVICE_LOCK
 
union  CXL_DVSEC_CXL_DEVICE_CAPABILITY2
 
union  CXL_DVSEC_CXL_DEVICE_RANGE_SIZE_HIGH
 
union  CXL_DVSEC_CXL_DEVICE_RANGE_SIZE_LOW
 
union  CXL_DVSEC_CXL_DEVICE_RANGE_BASE_HIGH
 
union  CXL_DVSEC_CXL_DEVICE_RANGE_BASE_LOW
 
struct  CXL_DVSEC_CXL_DEVICE
 
union  CXL_DVSEC_REGISTER_LOCATOR_REGISTER_OFFSET_LOW
 
union  CXL_DVSEC_REGISTER_LOCATOR_REGISTER_OFFSET_HIGH
 
struct  CXL_DVSEC_REGISTER_LOCATOR_REGISTER_BLOCK
 
struct  CXL_DVSEC_REGISTER_LOCATOR
 
union  CXL_HDM_DECODER_CAPABILITY_HEADER_REGISTER
 
union  CXL_HDM_DECODER_CAPABILITY_REGISTER
 
union  CXL_HDM_DECODER_GLOBAL_CONTROL_REGISTER
 
union  CXL_HDM_DECODER_BASE_LOW_REGISTER
 
union  CXL_HDM_DECODER_BASE_HIGH_REGISTER
 
union  CXL_HDM_DECODER_SIZE_LOW_REGISTER
 
union  CXL_HDM_DECODER_SIZE_HIGH_REGISTER
 
union  CXL_HDM_DECODER_CONTROL_REGISTER
 
union  CXL_HDM_DECODER_TARGET_LIST_LOW_REGISTER
 
union  CXL_HDM_DECODER_DPA_SKIP_LOW_REGISTER
 
union  CXL_HDM_DECODER_TARGET_LIST_HIGH_REGISTER
 
union  CXL_HDM_DECODER_DPA_SKIP_HIGH_REGISTER
 
union  CXL_HDM_DECODER_TARGET_LIST_OR_DPA_SKIP_LOW
 
union  CXL_HDM_DECODER_TARGET_LIST_OR_DPA_SKIP_HIGH
 
struct  CXL_HDM_DECODER
 
union  CXL_DEVICE_CAPABILITIES_ARRAY_REGISTER
 
union  CXL_MEMORY_DEVICE_STATUS_REGISTER
 

Macros

#define CXL_DVSEC_ID_PCIE_DVSEC_FOR_CXL_DEVICE   0x0
 
#define CXL_DVSEC_ID_NON_CXL_FUNCTION_MAP   0x2
 
#define CXL_DVSEC_ID_CXL20_EXTENSIONS_DVSEC_FOR_PORTS   0x3
 
#define CXL_DVSEC_ID_GPF_DVSEC_FOR_CXL_PORTS   0x4
 
#define CXL_DVSEC_ID_GPF_DVSEC_FOR_CXL_DEVICES   0x5
 
#define CXL_DVSEC_ID_PCIE_DVSEC_FOR_FLEX_BUS_PORT   0x7
 
#define CXL_DVSEC_ID_REGISTER_LOCATOR   0x8
 
#define CXL_DVSEC_ID_MLD   0x9
 
#define CXL_DVSEC_ID_PCIE_DVSEC_FOR_TEST_CAPABILITY   0xA
 
#define CXL_REGISTER_BLOCK_ID_EMPTY   0x0
 
#define CXL_REGISTER_BLOCK_ID_COMPONENT   0x1
 
#define CXL_REGISTER_BLOCK_ID_BAR_VIRTUALIZATION_ACL   0x2
 
#define CXL_REGISTER_BLOCK_ID_DEVICE   0x3
 
#define CXL_COMPONENT_REGISTER_RANGE_OFFSET_IO   0x0
 
#define CXL_COMPONENT_REGISTER_RANGE_OFFSET_CACHE_MEM   0x1000
 
#define CXL_COMPONENT_REGISTER_RANGE_OFFSET_ARB_MUX   0xE000
 
#define CXL_CACHE_MEM_CAPABILITY_ID_CXL   0x1
 
#define CXL_CACHE_MEM_CAPABILITY_ID_RAS   0x2
 
#define CXL_CACHE_MEM_CAPABILITY_ID_SECURITY   0x3
 
#define CXL_CACHE_MEM_CAPABILITY_ID_LINK   0x4
 
#define CXL_CACHE_MEM_CAPABILITY_ID_HDM_DECODER   0x5
 
#define CXL_CACHE_MEM_CAPABILITY_ID_EXTENDED_SECURITY   0x6
 
#define CXL_CACHE_MEM_CAPABILITY_ID_IDE   0x7
 
#define CXL_CACHE_MEM_CAPABILITY_ID_SNOOP_FILTER   0x8
 
#define CXL_CACHE_MEM_CAPABILITY_ID_MASK   0xFFFF
 
#define CXL_DEVICE_CAPABILITY_ID_CAPABILITIES_ARRAY_REGISTER   0x0000
 
#define CXL_DEVICE_CAPABILITY_ID_DEVICE_STATUS   0x0001
 
#define CXL_DEVICE_CAPABILITY_ID_PRIMARY_MAILBOX   0x0002
 
#define CXL_DEVICE_CAPABILITY_ID_SECONDARY_MAILBOX   0x0003
 
#define CXL_DEVICE_CAPABILITY_ID_MEMORY_DEVICE_STATUS   0x4000
 
#define CXL_DEVICE_CAPABILITY_ID_MASK   0xFFFF
 
#define CXL_MEM_DEVICE_MEDIA_STATUS_NOT_READY   0x0
 
#define CXL_MEM_DEVICE_MEDIA_STATUS_READY   0x1
 
#define CXL_MEM_DEVICE_MEDIA_STATUS_ERROR   0x2
 
#define CXL_MEM_DEVICE_MEDIA_STATUS_DISABLED   0x3
 
#define CXL_DVSEC_CXL_DEVICE_REVISION_1   0x1
 
#define CXL_DVSEC_REGISTER_LOCATOR_REVISION_0   0x0
 

Detailed Description

CXL 2.0 Register definitions

This file contains the register definitions based on the Compute Express Link (CXL) Specification Revision 2.0.

Copyright (c) 2023, Ampere Computing LLC. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file Cxl20.h.

Macro Definition Documentation

◆ CXL_CACHE_MEM_CAPABILITY_ID_CXL

#define CXL_CACHE_MEM_CAPABILITY_ID_CXL   0x1

Definition at line 69 of file Cxl20.h.

◆ CXL_CACHE_MEM_CAPABILITY_ID_EXTENDED_SECURITY

#define CXL_CACHE_MEM_CAPABILITY_ID_EXTENDED_SECURITY   0x6

Definition at line 74 of file Cxl20.h.

◆ CXL_CACHE_MEM_CAPABILITY_ID_HDM_DECODER

#define CXL_CACHE_MEM_CAPABILITY_ID_HDM_DECODER   0x5

Definition at line 73 of file Cxl20.h.

◆ CXL_CACHE_MEM_CAPABILITY_ID_IDE

#define CXL_CACHE_MEM_CAPABILITY_ID_IDE   0x7

Definition at line 75 of file Cxl20.h.

◆ CXL_CACHE_MEM_CAPABILITY_ID_LINK

#define CXL_CACHE_MEM_CAPABILITY_ID_LINK   0x4

Definition at line 72 of file Cxl20.h.

◆ CXL_CACHE_MEM_CAPABILITY_ID_MASK

#define CXL_CACHE_MEM_CAPABILITY_ID_MASK   0xFFFF

Definition at line 77 of file Cxl20.h.

◆ CXL_CACHE_MEM_CAPABILITY_ID_RAS

#define CXL_CACHE_MEM_CAPABILITY_ID_RAS   0x2

Definition at line 70 of file Cxl20.h.

◆ CXL_CACHE_MEM_CAPABILITY_ID_SECURITY

#define CXL_CACHE_MEM_CAPABILITY_ID_SECURITY   0x3

Definition at line 71 of file Cxl20.h.

◆ CXL_CACHE_MEM_CAPABILITY_ID_SNOOP_FILTER

#define CXL_CACHE_MEM_CAPABILITY_ID_SNOOP_FILTER   0x8

Definition at line 76 of file Cxl20.h.

◆ CXL_COMPONENT_REGISTER_RANGE_OFFSET_ARB_MUX

#define CXL_COMPONENT_REGISTER_RANGE_OFFSET_ARB_MUX   0xE000

Definition at line 63 of file Cxl20.h.

◆ CXL_COMPONENT_REGISTER_RANGE_OFFSET_CACHE_MEM

#define CXL_COMPONENT_REGISTER_RANGE_OFFSET_CACHE_MEM   0x1000

Definition at line 62 of file Cxl20.h.

◆ CXL_COMPONENT_REGISTER_RANGE_OFFSET_IO

#define CXL_COMPONENT_REGISTER_RANGE_OFFSET_IO   0x0

Definition at line 61 of file Cxl20.h.

◆ CXL_DEVICE_CAPABILITY_ID_CAPABILITIES_ARRAY_REGISTER

#define CXL_DEVICE_CAPABILITY_ID_CAPABILITIES_ARRAY_REGISTER   0x0000

Definition at line 83 of file Cxl20.h.

◆ CXL_DEVICE_CAPABILITY_ID_DEVICE_STATUS

#define CXL_DEVICE_CAPABILITY_ID_DEVICE_STATUS   0x0001

Definition at line 84 of file Cxl20.h.

◆ CXL_DEVICE_CAPABILITY_ID_MASK

#define CXL_DEVICE_CAPABILITY_ID_MASK   0xFFFF

Definition at line 94 of file Cxl20.h.

◆ CXL_DEVICE_CAPABILITY_ID_MEMORY_DEVICE_STATUS

#define CXL_DEVICE_CAPABILITY_ID_MEMORY_DEVICE_STATUS   0x4000

Definition at line 93 of file Cxl20.h.

◆ CXL_DEVICE_CAPABILITY_ID_PRIMARY_MAILBOX

#define CXL_DEVICE_CAPABILITY_ID_PRIMARY_MAILBOX   0x0002

Definition at line 85 of file Cxl20.h.

◆ CXL_DEVICE_CAPABILITY_ID_SECONDARY_MAILBOX

#define CXL_DEVICE_CAPABILITY_ID_SECONDARY_MAILBOX   0x0003

Definition at line 86 of file Cxl20.h.

◆ CXL_DVSEC_CXL_DEVICE_REVISION_1

#define CXL_DVSEC_CXL_DEVICE_REVISION_1   0x1

Definition at line 252 of file Cxl20.h.

◆ CXL_DVSEC_ID_CXL20_EXTENSIONS_DVSEC_FOR_PORTS

#define CXL_DVSEC_ID_CXL20_EXTENSIONS_DVSEC_FOR_PORTS   0x3

Definition at line 24 of file Cxl20.h.

◆ CXL_DVSEC_ID_GPF_DVSEC_FOR_CXL_DEVICES

#define CXL_DVSEC_ID_GPF_DVSEC_FOR_CXL_DEVICES   0x5

Definition at line 26 of file Cxl20.h.

◆ CXL_DVSEC_ID_GPF_DVSEC_FOR_CXL_PORTS

#define CXL_DVSEC_ID_GPF_DVSEC_FOR_CXL_PORTS   0x4

Definition at line 25 of file Cxl20.h.

◆ CXL_DVSEC_ID_MLD

#define CXL_DVSEC_ID_MLD   0x9

Definition at line 29 of file Cxl20.h.

◆ CXL_DVSEC_ID_NON_CXL_FUNCTION_MAP

#define CXL_DVSEC_ID_NON_CXL_FUNCTION_MAP   0x2

Definition at line 23 of file Cxl20.h.

◆ CXL_DVSEC_ID_PCIE_DVSEC_FOR_CXL_DEVICE

#define CXL_DVSEC_ID_PCIE_DVSEC_FOR_CXL_DEVICE   0x0

Definition at line 22 of file Cxl20.h.

◆ CXL_DVSEC_ID_PCIE_DVSEC_FOR_FLEX_BUS_PORT

#define CXL_DVSEC_ID_PCIE_DVSEC_FOR_FLEX_BUS_PORT   0x7

Definition at line 27 of file Cxl20.h.

◆ CXL_DVSEC_ID_PCIE_DVSEC_FOR_TEST_CAPABILITY

#define CXL_DVSEC_ID_PCIE_DVSEC_FOR_TEST_CAPABILITY   0xA

Definition at line 30 of file Cxl20.h.

◆ CXL_DVSEC_ID_REGISTER_LOCATOR

#define CXL_DVSEC_ID_REGISTER_LOCATOR   0x8

Definition at line 28 of file Cxl20.h.

◆ CXL_DVSEC_REGISTER_LOCATOR_REVISION_0

#define CXL_DVSEC_REGISTER_LOCATOR_REVISION_0   0x0

Definition at line 289 of file Cxl20.h.

◆ CXL_MEM_DEVICE_MEDIA_STATUS_DISABLED

#define CXL_MEM_DEVICE_MEDIA_STATUS_DISABLED   0x3

Definition at line 103 of file Cxl20.h.

◆ CXL_MEM_DEVICE_MEDIA_STATUS_ERROR

#define CXL_MEM_DEVICE_MEDIA_STATUS_ERROR   0x2

Definition at line 102 of file Cxl20.h.

◆ CXL_MEM_DEVICE_MEDIA_STATUS_NOT_READY

#define CXL_MEM_DEVICE_MEDIA_STATUS_NOT_READY   0x0

Definition at line 100 of file Cxl20.h.

◆ CXL_MEM_DEVICE_MEDIA_STATUS_READY

#define CXL_MEM_DEVICE_MEDIA_STATUS_READY   0x1

Definition at line 101 of file Cxl20.h.

◆ CXL_REGISTER_BLOCK_ID_BAR_VIRTUALIZATION_ACL

#define CXL_REGISTER_BLOCK_ID_BAR_VIRTUALIZATION_ACL   0x2

Definition at line 38 of file Cxl20.h.

◆ CXL_REGISTER_BLOCK_ID_COMPONENT

#define CXL_REGISTER_BLOCK_ID_COMPONENT   0x1

Definition at line 37 of file Cxl20.h.

◆ CXL_REGISTER_BLOCK_ID_DEVICE

#define CXL_REGISTER_BLOCK_ID_DEVICE   0x3

Definition at line 39 of file Cxl20.h.

◆ CXL_REGISTER_BLOCK_ID_EMPTY

#define CXL_REGISTER_BLOCK_ID_EMPTY   0x0

Definition at line 36 of file Cxl20.h.