iPXE
Data Structures | Macros | Typedefs | Enumerations | Functions
thunderxcfg.h File Reference

Cavium ThunderX Board Configuration. More...

#include <ipxe/efi/efi.h>

Go to the source code of this file.

Data Structures

struct  _EFI_THUNDER_CONFIG_PROTOCOL
 Protocol structure. More...
 

Macros

#define MAX_NODES   2
 
#define CLUSTER_COUNT   3
 
#define CORE_PER_CLUSTER_COUNT   16
 
#define CORE_COUNT   (CLUSTER_COUNT*CORE_PER_CLUSTER_COUNT)
 
#define BGX_PER_NODE_COUNT   2
 
#define LMAC_PER_BGX_COUNT   4
 
#define PEM_PER_NODE_COUNT   6
 
#define LMC_PER_NODE_COUNT   4
 
#define DIMM_PER_LMC_COUNT   2
 
#define THUNDERX_CPU_ID(node, cluster, core)   (((node) << 16) | ((cluster) << 8) | (core))
 
#define EFI_THUNDER_CONFIG_PROTOCOL_GUID   {0xc12b1873, 0xac17, 0x4176, {0xac, 0x77, 0x7e, 0xcb, 0x4d, 0xef, 0xff, 0xec}}
 

Typedefs

typedef struct _EFI_THUNDER_CONFIG_PROTOCOL EFI_THUNDER_CONFIG_PROTOCOL
 Forward declaration. More...
 
typedef EFI_STATUS(EFIAPIEFI_THUNDER_CONFIG_PROTOCOL_GET_CONFIG) (IN EFI_THUNDER_CONFIG_PROTOCOL *This, OUT VOID **cfg)
 Function prototypes. More...
 
typedef EFI_STATUS(EFIAPIEFI_THUNDER_CONFIG_PROTOCOL_GET_BGX_PROP) (IN EFI_THUNDER_CONFIG_PROTOCOL *This, IN UINTN NodeId, IN UINTN BgxId, IN BGX_PROPERTY BgxProp, IN UINT64 ValueSize, OUT UINT64 *Value)
 
typedef EFI_STATUS(EFIAPIEFI_THUNDER_CONFIG_PROTOCOL_GET_LMAC_PROP) (IN EFI_THUNDER_CONFIG_PROTOCOL *This, IN UINTN NodeId, IN UINTN BgxId, IN UINTN LmacId, IN LMAC_PROPERTY LmacProp, IN UINT64 ValueSize, OUT UINT64 *Value)
 

Enumerations

enum  BGX_PROPERTY {
  BGX_ENABLED, BGX_MODE, LMAC_COUNT, BASE_ADDRESS,
  LMAC_TYPE_BGX, QLM_MASK, QLM_FREQ, USE_TRAINING
}
 
enum  LMAC_PROPERTY { ENABLED, LANE_TO_SDS, MAC_ADDRESS }
 

Functions

 FILE_LICENCE (BSD2)
 

Detailed Description

Cavium ThunderX Board Configuration.

The definitions in this section are extracted from BSD-licensed (but non-public) portions of ThunderPkg.

Definition in file thunderxcfg.h.

Macro Definition Documentation

◆ MAX_NODES

#define MAX_NODES   2

Definition at line 54 of file thunderxcfg.h.

◆ CLUSTER_COUNT

#define CLUSTER_COUNT   3

Definition at line 55 of file thunderxcfg.h.

◆ CORE_PER_CLUSTER_COUNT

#define CORE_PER_CLUSTER_COUNT   16

Definition at line 56 of file thunderxcfg.h.

◆ CORE_COUNT

#define CORE_COUNT   (CLUSTER_COUNT*CORE_PER_CLUSTER_COUNT)

Definition at line 57 of file thunderxcfg.h.

◆ BGX_PER_NODE_COUNT

#define BGX_PER_NODE_COUNT   2

Definition at line 58 of file thunderxcfg.h.

◆ LMAC_PER_BGX_COUNT

#define LMAC_PER_BGX_COUNT   4

Definition at line 59 of file thunderxcfg.h.

◆ PEM_PER_NODE_COUNT

#define PEM_PER_NODE_COUNT   6

Definition at line 60 of file thunderxcfg.h.

◆ LMC_PER_NODE_COUNT

#define LMC_PER_NODE_COUNT   4

Definition at line 61 of file thunderxcfg.h.

◆ DIMM_PER_LMC_COUNT

#define DIMM_PER_LMC_COUNT   2

Definition at line 62 of file thunderxcfg.h.

◆ THUNDERX_CPU_ID

#define THUNDERX_CPU_ID (   node,
  cluster,
  core 
)    (((node) << 16) | ((cluster) << 8) | (core))

Definition at line 64 of file thunderxcfg.h.

◆ EFI_THUNDER_CONFIG_PROTOCOL_GUID

#define EFI_THUNDER_CONFIG_PROTOCOL_GUID   {0xc12b1873, 0xac17, 0x4176, {0xac, 0x77, 0x7e, 0xcb, 0x4d, 0xef, 0xff, 0xec}}

Definition at line 87 of file thunderxcfg.h.

Typedef Documentation

◆ EFI_THUNDER_CONFIG_PROTOCOL

Forward declaration.

Definition at line 93 of file thunderxcfg.h.

◆ EFI_THUNDER_CONFIG_PROTOCOL_GET_CONFIG

typedef EFI_STATUS(EFIAPI * EFI_THUNDER_CONFIG_PROTOCOL_GET_CONFIG) (IN EFI_THUNDER_CONFIG_PROTOCOL *This, OUT VOID **cfg)

Function prototypes.

Definition at line 117 of file thunderxcfg.h.

◆ EFI_THUNDER_CONFIG_PROTOCOL_GET_BGX_PROP

typedef EFI_STATUS(EFIAPI * EFI_THUNDER_CONFIG_PROTOCOL_GET_BGX_PROP) (IN EFI_THUNDER_CONFIG_PROTOCOL *This, IN UINTN NodeId, IN UINTN BgxId, IN BGX_PROPERTY BgxProp, IN UINT64 ValueSize, OUT UINT64 *Value)

Definition at line 124 of file thunderxcfg.h.

◆ EFI_THUNDER_CONFIG_PROTOCOL_GET_LMAC_PROP

typedef EFI_STATUS(EFIAPI * EFI_THUNDER_CONFIG_PROTOCOL_GET_LMAC_PROP) (IN EFI_THUNDER_CONFIG_PROTOCOL *This, IN UINTN NodeId, IN UINTN BgxId, IN UINTN LmacId, IN LMAC_PROPERTY LmacProp, IN UINT64 ValueSize, OUT UINT64 *Value)

Definition at line 135 of file thunderxcfg.h.

Enumeration Type Documentation

◆ BGX_PROPERTY

Enumerator
BGX_ENABLED 
BGX_MODE 
LMAC_COUNT 
BASE_ADDRESS 
LMAC_TYPE_BGX 
QLM_MASK 
QLM_FREQ 
USE_TRAINING 

Definition at line 95 of file thunderxcfg.h.

◆ LMAC_PROPERTY

Enumerator
ENABLED 
LANE_TO_SDS 
MAC_ADDRESS 

Definition at line 106 of file thunderxcfg.h.

106  {
107  ENABLED,
108  LANE_TO_SDS,
110 } LMAC_PROPERTY;
LMAC_PROPERTY
Definition: thunderxcfg.h:106

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2  )