Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs
hubmd.h File Reference

Go to the source code of this file.

Data Structures

struct  dir_error_reg
 
union  md_dir_error
 
struct  mem_error_reg
 
union  md_mem_error
 
struct  proto_error_reg
 
union  md_proto_error
 
struct  md_sdir_high_fmt
 
union  md_sdir_high
 
struct  md_sdir_low_shared_fmt
 
struct  md_sdir_low_exclusive_fmt
 
union  md_sdir_low
 
struct  md_pdir_high_fmt
 
union  md_pdir_high
 
struct  md_pdir_low_shared_fmt
 
struct  md_pdir_low_exclusive_fmt
 
union  md_pdir_loent
 
union  md_dir_high
 
union  md_dir_low
 
struct  bddir_entry
 
struct  dir_mem_entry
 
union  md_perf_sel
 
union  md_perf_cnt
 

Macros

#define CACHE_SLINE_SIZE   128 /* Secondary cache line size on SN0 */
 
#define MAX_REGIONS   64
 
#define MD_PAGE_SIZE   4096 /* Page size in bytes */
 
#define MD_PAGE_NUM_SHFT   12 /* Address to page number shift */
 
#define MD_BASE   0x200000
 
#define MD_BASE_PERF   0x210000
 
#define MD_BASE_JUNK   0x220000
 
#define MD_IO_PROTECT   0x200000 /* MD and core register protection */
 
#define MD_IO_PROT_OVRRD   0x200008 /* Clear my bit in MD_IO_PROTECT */
 
#define MD_HSPEC_PROTECT   0x200010 /* BDDIR, LBOOT, RBOOT protection */
 
#define MD_MEMORY_CONFIG   0x200018 /* Memory/Directory DIMM control */
 
#define MD_REFRESH_CONTROL   0x200020 /* Memory/Directory refresh ctrl */
 
#define MD_FANDOP_CAC_STAT   0x200028 /* Fetch-and-op cache status */
 
#define MD_MIG_DIFF_THRESH   0x200030 /* Page migr. count diff thresh. */
 
#define MD_MIG_VALUE_THRESH   0x200038 /* Page migr. count abs. thresh. */
 
#define MD_MIG_CANDIDATE   0x200040 /* Latest page migration candidate */
 
#define MD_MIG_CANDIDATE_CLR   0x200048 /* Clear page migration candidate */
 
#define MD_DIR_ERROR   0x200050 /* Directory DIMM error */
 
#define MD_DIR_ERROR_CLR   0x200058 /* Directory DIMM error clear */
 
#define MD_PROTOCOL_ERROR   0x200060 /* Directory protocol error */
 
#define MD_PROTOCOL_ERROR_CLR   0x200068 /* Directory protocol error clear */
 
#define MD_MEM_ERROR   0x200070 /* Memory DIMM error */
 
#define MD_MEM_ERROR_CLR   0x200078 /* Memory DIMM error clear */
 
#define MD_MISC_ERROR   0x200080 /* Miscellaneous MD error */
 
#define MD_MISC_ERROR_CLR   0x200088 /* Miscellaneous MD error clear */
 
#define MD_MEM_DIMM_INIT   0x200090 /* Memory DIMM mode initization. */
 
#define MD_DIR_DIMM_INIT   0x200098 /* Directory DIMM mode init. */
 
#define MD_MOQ_SIZE   0x2000a0 /* MD outgoing queue size */
 
#define MD_MLAN_CTL   0x2000a8 /* NIC (Microlan) control register */
 
#define MD_PERF_SEL   0x210000 /* Select perf monitor events */
 
#define MD_PERF_CNT0   0x210010 /* Performance counter 0 */
 
#define MD_PERF_CNT1   0x210018 /* Performance counter 1 */
 
#define MD_PERF_CNT2   0x210020 /* Performance counter 2 */
 
#define MD_PERF_CNT3   0x210028 /* Performance counter 3 */
 
#define MD_PERF_CNT4   0x210030 /* Performance counter 4 */
 
#define MD_PERF_CNT5   0x210038 /* Performance counter 5 */
 
#define MD_UREG0_0   0x220000 /* uController/UART 0 register */
 
#define MD_UREG0_1   0x220008 /* uController/UART 0 register */
 
#define MD_UREG0_2   0x220010 /* uController/UART 0 register */
 
#define MD_UREG0_3   0x220018 /* uController/UART 0 register */
 
#define MD_UREG0_4   0x220020 /* uController/UART 0 register */
 
#define MD_UREG0_5   0x220028 /* uController/UART 0 register */
 
#define MD_UREG0_6   0x220030 /* uController/UART 0 register */
 
#define MD_UREG0_7   0x220038 /* uController/UART 0 register */
 
#define MD_SLOTID_USTAT   0x220048 /* Hub slot ID & UART/uCtlr status */
 
#define MD_LED0   0x220050 /* Eight-bit LED for CPU A */
 
#define MD_LED1   0x220058 /* Eight-bit LED for CPU B */
 
#define MD_UREG1_0   0x220080 /* uController/UART 1 register */
 
#define MD_UREG1_1   0x220088 /* uController/UART 1 register */
 
#define MD_UREG1_2   0x220090 /* uController/UART 1 register */
 
#define MD_UREG1_3   0x220098 /* uController/UART 1 register */
 
#define MD_UREG1_4   0x2200a0 /* uController/UART 1 register */
 
#define MD_UREG1_5   0x2200a8 /* uController/UART 1 register */
 
#define MD_UREG1_6   0x2200b0 /* uController/UART 1 register */
 
#define MD_UREG1_7   0x2200b8 /* uController/UART 1 register */
 
#define MD_UREG1_8   0x2200c0 /* uController/UART 1 register */
 
#define MD_UREG1_9   0x2200c8 /* uController/UART 1 register */
 
#define MD_UREG1_10   0x2200d0 /* uController/UART 1 register */
 
#define MD_UREG1_11   0x2200d8 /* uController/UART 1 register */
 
#define MD_UREG1_12   0x2200e0 /* uController/UART 1 register */
 
#define MD_UREG1_13   0x2200e8 /* uController/UART 1 register */
 
#define MD_UREG1_14   0x2200f0 /* uController/UART 1 register */
 
#define MD_UREG1_15   0x2200f8 /* uController/UART 1 register */
 
#define MD_MEM_BANKS   8 /* 8 banks of memory max in M mode */
 
#define MD_SIZE_EMPTY   0 /* Valid in MEMORY_CONFIG */
 
#define MD_SIZE_8MB   1
 
#define MD_SIZE_16MB   2
 
#define MD_SIZE_32MB   3 /* Broken in Hub 1 */
 
#define MD_SIZE_64MB   4 /* Valid in MEMORY_CONFIG */
 
#define MD_SIZE_128MB   5 /* Valid in MEMORY_CONFIG */
 
#define MD_SIZE_256MB   6
 
#define MD_SIZE_512MB   7 /* Valid in MEMORY_CONFIG */
 
#define MD_SIZE_1GB   8
 
#define MD_SIZE_2GB   9
 
#define MD_SIZE_4GB   10
 
#define MD_SIZE_BYTES(size)   ((size) == 0 ? 0 : 0x400000L << (size))
 
#define MD_SIZE_MBYTES(size)   ((size) == 0 ? 0 : 4 << (size))
 
#define MMC_FPROM_CYC_SHFT   49 /* Have to use UINT64_CAST, instead */
 
#define MMC_FPROM_CYC_MASK   (UINT64_CAST 31 << 49) /* of 'L' suffix, */
 
#define MMC_FPROM_WR_SHFT   44 /* for assembler */
 
#define MMC_FPROM_WR_MASK   (UINT64_CAST 31 << 44)
 
#define MMC_UCTLR_CYC_SHFT   39
 
#define MMC_UCTLR_CYC_MASK   (UINT64_CAST 31 << 39)
 
#define MMC_UCTLR_WR_SHFT   34
 
#define MMC_UCTLR_WR_MASK   (UINT64_CAST 31 << 34)
 
#define MMC_DIMM0_SEL_SHFT   32
 
#define MMC_DIMM0_SEL_MASK   (UINT64_CAST 3 << 32)
 
#define MMC_IO_PROT_EN_SHFT   31
 
#define MMC_IO_PROT_EN_MASK   (UINT64_CAST 1 << 31)
 
#define MMC_IO_PROT   (UINT64_CAST 1 << 31)
 
#define MMC_ARB_MLSS_SHFT   30
 
#define MMC_ARB_MLSS_MASK   (UINT64_CAST 1 << 30)
 
#define MMC_ARB_MLSS   (UINT64_CAST 1 << 30)
 
#define MMC_IGNORE_ECC_SHFT   29
 
#define MMC_IGNORE_ECC_MASK   (UINT64_CAST 1 << 29)
 
#define MMC_IGNORE_ECC   (UINT64_CAST 1 << 29)
 
#define MMC_DIR_PREMIUM_SHFT   28
 
#define MMC_DIR_PREMIUM_MASK   (UINT64_CAST 1 << 28)
 
#define MMC_DIR_PREMIUM   (UINT64_CAST 1 << 28)
 
#define MMC_REPLY_GUAR_SHFT   24
 
#define MMC_REPLY_GUAR_MASK   (UINT64_CAST 15 << 24)
 
#define MMC_BANK_SHFT(_b)   ((_b) * 3)
 
#define MMC_BANK_MASK(_b)   (UINT64_CAST 7 << MMC_BANK_SHFT(_b))
 
#define MMC_BANK_ALL_MASK   0xffffff
 
#define MMC_RESET_DEFAULTS
 
#define MRC_ENABLE_SHFT   63
 
#define MRC_ENABLE_MASK   (UINT64_CAST 1 << 63)
 
#define MRC_ENABLE   (UINT64_CAST 1 << 63)
 
#define MRC_COUNTER_SHFT   12
 
#define MRC_COUNTER_MASK   (UINT64_CAST 0xfff << 12)
 
#define MRC_CNT_THRESH_MASK   0xfff
 
#define MRC_RESET_DEFAULTS   (UINT64_CAST 0x400)
 
#define MDI_SELECT_SHFT   32
 
#define MDI_SELECT_MASK   (UINT64_CAST 0x0f << 32)
 
#define MDI_DIMM_MODE_MASK   (UINT64_CAST 0xfff)
 
#define MMS_RP_SIZE_SHFT   8
 
#define MMS_RP_SIZE_MASK   (UINT64_CAST 0x3f << 8)
 
#define MMS_RQ_SIZE_SHFT   0
 
#define MMS_RQ_SIZE_MASK   (UINT64_CAST 0x1f)
 
#define MMS_RESET_DEFAULTS   (0x32 << 8 | 0x12)
 
#define MFC_VALID_SHFT   63
 
#define MFC_VALID_MASK   (UINT64_CAST 1 << 63)
 
#define MFC_VALID   (UINT64_CAST 1 << 63)
 
#define MFC_ADDR_SHFT   6
 
#define MFC_ADDR_MASK   (UINT64_CAST 0x3ffffff)
 
#define MLAN_PHI1_SHFT   27
 
#define MLAN_PHI1_MASK   (UINT64_CAST 0x7f << 27)
 
#define MLAN_PHI0_SHFT   20
 
#define MLAN_PHI0_MASK   (UINT64_CAST 0x7f << 27)
 
#define MLAN_PULSE_SHFT   10
 
#define MLAN_PULSE_MASK   (UINT64_CAST 0x3ff << 10)
 
#define MLAN_SAMPLE_SHFT   2
 
#define MLAN_SAMPLE_MASK   (UINT64_CAST 0xff << 2)
 
#define MLAN_DONE_SHFT   1
 
#define MLAN_DONE_MASK   2
 
#define MLAN_DONE   (UINT64_CAST 0x02)
 
#define MLAN_RD_DATA   (UINT64_CAST 0x01)
 
#define MLAN_RESET_DEFAULTS
 
#define MSU_CORECLK_TST_SHFT   7 /* You don't wanna know */
 
#define MSU_CORECLK_TST_MASK   (UINT64_CAST 1 << 7)
 
#define MSU_CORECLK_TST   (UINT64_CAST 1 << 7)
 
#define MSU_CORECLK_SHFT   6 /* You don't wanna know */
 
#define MSU_CORECLK_MASK   (UINT64_CAST 1 << 6)
 
#define MSU_CORECLK   (UINT64_CAST 1 << 6)
 
#define MSU_NETSYNC_SHFT   5 /* You don't wanna know */
 
#define MSU_NETSYNC_MASK   (UINT64_CAST 1 << 5)
 
#define MSU_NETSYNC   (UINT64_CAST 1 << 5)
 
#define MSU_FPROMRDY_SHFT   4 /* Flash PROM ready bit */
 
#define MSU_FPROMRDY_MASK   (UINT64_CAST 1 << 4)
 
#define MSU_FPROMRDY   (UINT64_CAST 1 << 4)
 
#define MSU_I2CINTR_SHFT   3 /* I2C interrupt bit */
 
#define MSU_I2CINTR_MASK   (UINT64_CAST 1 << 3)
 
#define MSU_I2CINTR   (UINT64_CAST 1 << 3)
 
#define MSU_SLOTID_MASK   0xff
 
#define MSU_SN0_SLOTID_SHFT   0 /* Slot ID */
 
#define MSU_SN0_SLOTID_MASK   (UINT64_CAST 7)
 
#define MSU_SN00_SLOTID_SHFT   7
 
#define MSU_SN00_SLOTID_MASK   (UINT64_CAST 0x80)
 
#define MSU_PIMM_PSC_SHFT   4
 
#define MSU_PIMM_PSC_MASK   (0xf << MSU_PIMM_PSC_SHFT)
 
#define MD_MIG_DIFF_THRES_VALID_MASK   (UINT64_CAST 0x1 << 63)
 
#define MD_MIG_DIFF_THRES_VALID_SHFT   63
 
#define MD_MIG_DIFF_THRES_VALUE_MASK   (UINT64_CAST 0xfffff)
 
#define MD_MIG_VALUE_THRES_VALID_MASK   (UINT64_CAST 0x1 << 63)
 
#define MD_MIG_VALUE_THRES_VALID_SHFT   63
 
#define MD_MIG_VALUE_THRES_VALUE_MASK   (UINT64_CAST 0xfffff)
 
#define MD_MIG_CANDIDATE_VALID_MASK   (UINT64_CAST 0x1 << 63)
 
#define MD_MIG_CANDIDATE_VALID_SHFT   63
 
#define MD_MIG_CANDIDATE_TYPE_MASK   (UINT64_CAST 0x1 << 30)
 
#define MD_MIG_CANDIDATE_TYPE_SHFT   30
 
#define MD_MIG_CANDIDATE_OVERRUN_MASK   (UINT64_CAST 0x1 << 29)
 
#define MD_MIG_CANDIDATE_OVERRUN_SHFT   29
 
#define MD_MIG_CANDIDATE_INITIATOR_MASK   (UINT64_CAST 0x7ff << 18)
 
#define MD_MIG_CANDIDATE_INITIATOR_SHFT   18
 
#define MD_MIG_CANDIDATE_NODEID_MASK   (UINT64_CAST 0x1ff << 20)
 
#define MD_MIG_CANDIDATE_NODEID_SHFT   20
 
#define MD_MIG_CANDIDATE_ADDR_MASK   (UINT64_CAST 0x3ffff)
 
#define MD_MIG_CANDIDATE_ADDR_SHFT   14 /* The address starts at bit 14 */
 
#define MD_BANK_SHFT   29 /* log2(512 MB) */
 
#define MD_BANK_MASK   (UINT64_CAST 7 << 29)
 
#define MD_BANK_SIZE   (UINT64_CAST 1 << MD_BANK_SHFT) /* 512 MB */
 
#define MD_BANK_OFFSET(_b)   (UINT64_CAST (_b) << MD_BANK_SHFT)
 
#define MD_DIR_SHARED   (UINT64_CAST 0x0) /* 000 */
 
#define MD_DIR_POISONED   (UINT64_CAST 0x1) /* 001 */
 
#define MD_DIR_EXCLUSIVE   (UINT64_CAST 0x2) /* 010 */
 
#define MD_DIR_BUSY_SHARED   (UINT64_CAST 0x3) /* 011 */
 
#define MD_DIR_BUSY_EXCL   (UINT64_CAST 0x4) /* 100 */
 
#define MD_DIR_WAIT   (UINT64_CAST 0x5) /* 101 */
 
#define MD_DIR_UNOWNED   (UINT64_CAST 0x7) /* 111 */
 
#define MD_DIR_FORCE_ECC   (UINT64_CAST 1 << 63)
 
#define MD_PDIR_MASK   0xffffffffffff /* Whole entry */
 
#define MD_PDIR_ECC_SHFT   0 /* ABC low or high */
 
#define MD_PDIR_ECC_MASK   0x7f
 
#define MD_PDIR_PRIO_SHFT   8 /* ABC low */
 
#define MD_PDIR_PRIO_MASK   (0xf << 8)
 
#define MD_PDIR_AX_SHFT   7 /* ABC low */
 
#define MD_PDIR_AX_MASK   (1 << 7)
 
#define MD_PDIR_AX   (1 << 7)
 
#define MD_PDIR_FINE_SHFT   12 /* ABC low */
 
#define MD_PDIR_FINE_MASK   (1 << 12)
 
#define MD_PDIR_FINE   (1 << 12)
 
#define MD_PDIR_OCT_SHFT   13 /* A low */
 
#define MD_PDIR_OCT_MASK   (7 << 13)
 
#define MD_PDIR_STATE_SHFT   13 /* BC low */
 
#define MD_PDIR_STATE_MASK   (7 << 13)
 
#define MD_PDIR_ONECNT_SHFT   16 /* BC low */
 
#define MD_PDIR_ONECNT_MASK   (0x3f << 16)
 
#define MD_PDIR_PTR_SHFT   22 /* C low */
 
#define MD_PDIR_PTR_MASK   (UINT64_CAST 0x7ff << 22)
 
#define MD_PDIR_VECMSB_SHFT   22 /* AB low */
 
#define MD_PDIR_VECMSB_BITMASK   0x3ffffff
 
#define MD_PDIR_VECMSB_BITSHFT   27
 
#define MD_PDIR_VECMSB_MASK   (UINT64_CAST MD_PDIR_VECMSB_BITMASK << 22)
 
#define MD_PDIR_CWOFF_SHFT   7 /* C high */
 
#define MD_PDIR_CWOFF_MASK   (7 << 7)
 
#define MD_PDIR_VECLSB_SHFT   10 /* AB high */
 
#define MD_PDIR_VECLSB_BITMASK   (UINT64_CAST 0x3fffffffff)
 
#define MD_PDIR_VECLSB_BITSHFT   0
 
#define MD_PDIR_VECLSB_MASK   (MD_PDIR_VECLSB_BITMASK << 10)
 
#define MD_PDIR_INIT_LO
 
#define MD_PDIR_INIT_HI   0
 
#define MD_PDIR_INIT_PROT
 
#define MD_SDIR_MASK   0xffff /* Whole entry */
 
#define MD_SDIR_ECC_SHFT   0 /* AC low or high */
 
#define MD_SDIR_ECC_MASK   0x1f
 
#define MD_SDIR_PRIO_SHFT   6 /* AC low */
 
#define MD_SDIR_PRIO_MASK   (1 << 6)
 
#define MD_SDIR_AX_SHFT   5 /* AC low */
 
#define MD_SDIR_AX_MASK   (1 << 5)
 
#define MD_SDIR_AX   (1 << 5)
 
#define MD_SDIR_STATE_SHFT   7 /* AC low */
 
#define MD_SDIR_STATE_MASK   (7 << 7)
 
#define MD_SDIR_PTR_SHFT   10 /* C low */
 
#define MD_SDIR_PTR_MASK   (0x3f << 10)
 
#define MD_SDIR_CWOFF_SHFT   5 /* C high */
 
#define MD_SDIR_CWOFF_MASK   (7 << 5)
 
#define MD_SDIR_VECMSB_SHFT   11 /* A low */
 
#define MD_SDIR_VECMSB_BITMASK   0x1f
 
#define MD_SDIR_VECMSB_BITSHFT   7
 
#define MD_SDIR_VECMSB_MASK   (MD_SDIR_VECMSB_BITMASK << 11)
 
#define MD_SDIR_VECLSB_SHFT   5 /* A high */
 
#define MD_SDIR_VECLSB_BITMASK   0x7ff
 
#define MD_SDIR_VECLSB_BITSHFT   0
 
#define MD_SDIR_VECLSB_MASK   (MD_SDIR_VECLSB_BITMASK << 5)
 
#define MD_SDIR_INIT_LO
 
#define MD_SDIR_INIT_HI   0
 
#define MD_SDIR_INIT_PROT   (MD_PROT_RW << MD_SPROT_SHFT)
 
#define MD_PROT_RW   (UINT64_CAST 0x6)
 
#define MD_PROT_RO   (UINT64_CAST 0x3)
 
#define MD_PROT_NO   (UINT64_CAST 0x0)
 
#define MD_PROT_BAD   (UINT64_CAST 0x5)
 
#define MD_PPROT_SHFT   0 /* Prot. field */
 
#define MD_PPROT_MASK   7
 
#define MD_PPROT_MIGMD_SHFT   3 /* Migration mode */
 
#define MD_PPROT_MIGMD_MASK   (3 << 3)
 
#define MD_PPROT_REFCNT_SHFT   5 /* Reference count */
 
#define MD_PPROT_REFCNT_WIDTH   0x7ffff
 
#define MD_PPROT_REFCNT_MASK   (MD_PPROT_REFCNT_WIDTH << 5)
 
#define MD_PPROT_IO_SHFT   45 /* I/O Prot field */
 
#define MD_PPROT_IO_MASK   (UINT64_CAST 7 << 45)
 
#define MD_SPROT_SHFT   0 /* Prot. field */
 
#define MD_SPROT_MASK   7
 
#define MD_SPROT_MIGMD_SHFT   3 /* Migration mode */
 
#define MD_SPROT_MIGMD_MASK   (3 << 3)
 
#define MD_SPROT_REFCNT_SHFT   5 /* Reference count */
 
#define MD_SPROT_REFCNT_WIDTH   0x7ff
 
#define MD_SPROT_REFCNT_MASK   (MD_SPROT_REFCNT_WIDTH << 5)
 
#define MD_PROT_MIGMD_IREL   (UINT64_CAST 0x3 << 3)
 
#define MD_PROT_MIGMD_IABS   (UINT64_CAST 0x2 << 3)
 
#define MD_PROT_MIGMD_PREL   (UINT64_CAST 0x1 << 3)
 
#define MD_PROT_MIGMD_OFF   (UINT64_CAST 0x0 << 3)
 
#define CPU_LED_ADDR(_nasid, _slice)
 
#define SET_CPU_LEDS(_nasid, _slice,_val)   (HUB_S(CPU_LED_ADDR(_nasid, _slice), (_val)))
 
#define SET_MY_LEDS(_v)   SET_CPU_LEDS(get_nasid(), get_slice(), (_v))
 
#define DIRTYPE_PREMIUM   1
 
#define DIRTYPE_STANDARD   0
 
#define MD_MEMORY_CONFIG_DIR_TYPE_GET(region)
 
#define MD_MIG_DIFF_THRESH_GET(region)
 
#define MD_MIG_DIFF_THRESH_SET(region, value)
 
#define MD_MIG_DIFF_THRESH_DISABLE(region)
 
#define MD_MIG_DIFF_THRESH_ENABLE(region)
 
#define MD_MIG_DIFF_THRESH_IS_ENABLED(region)
 
#define MD_MIG_VALUE_THRESH_GET(region)
 
#define MD_MIG_VALUE_THRESH_SET(region, value)
 
#define MD_MIG_VALUE_THRESH_DISABLE(region)
 
#define MD_MIG_VALUE_THRESH_ENABLE(region)
 
#define MD_MIG_VALUE_THRESH_IS_ENABLED(region)
 
#define MD_MIG_CANDIDATE_GET(my_region_id)
 
#define MD_MIG_CANDIDATE_HWPFN(value)   ((value) & MD_MIG_CANDIDATE_ADDR_MASK)
 
#define MD_MIG_CANDIDATE_NODEID(value)
 
#define MD_MIG_CANDIDATE_TYPE(value)
 
#define MD_MIG_CANDIDATE_VALID(value)
 
#define MD_PPROT_REFCNT_GET(value)
 
#define MD_PPROT_MIGMD_GET(value)
 
#define MD_SPROT_REFCNT_GET(value)
 
#define MD_SPROT_MIGMD_GET(value)
 
#define DIR_ERROR_VALID_MASK   0xe000000000000000
 
#define DIR_ERROR_VALID_SHFT   61
 
#define DIR_ERROR_VALID_UCE   0x8000000000000000
 
#define DIR_ERROR_VALID_AE   0x4000000000000000
 
#define DIR_ERROR_VALID_CE   0x2000000000000000
 
#define MEM_ERROR_VALID_MASK   0xc000000000000000
 
#define MEM_ERROR_VALID_SHFT   62
 
#define MEM_ERROR_VALID_UCE   0x8000000000000000
 
#define MEM_ERROR_VALID_CE   0x4000000000000000
 
#define PROTO_ERROR_VALID_MASK   0x8000000000000000
 
#define MISC_ERROR_VALID_MASK   0x3ff
 
#define DIR_ERR_HSPEC_MASK   0x3ffffff8
 
#define ERROR_HSPEC_MASK   0x3ffffff8
 
#define ERROR_HSPEC_SHFT   3
 
#define ERROR_ADDR_MASK   0xfffffff8
 
#define ERROR_ADDR_SHFT   3
 
#define MMCE_VALID_MASK   0x3ff
 
#define MMCE_ILL_MSG_SHFT   8
 
#define MMCE_ILL_MSG_MASK   (UINT64_CAST 0x03 << MMCE_ILL_MSG_SHFT)
 
#define MMCE_ILL_REV_SHFT   6
 
#define MMCE_ILL_REV_MASK   (UINT64_CAST 0x03 << MMCE_ILL_REV_SHFT)
 
#define MMCE_LONG_PACK_SHFT   4
 
#define MMCE_LONG_PACK_MASK   (UINT64_CAST 0x03 << MMCE_lONG_PACK_SHFT)
 
#define MMCE_SHORT_PACK_SHFT   2
 
#define MMCE_SHORT_PACK_MASK   (UINT64_CAST 0x03 << MMCE_SHORT_PACK_SHFT)
 
#define MMCE_BAD_DATA_SHFT   0
 
#define MMCE_BAD_DATA_MASK   (UINT64_CAST 0x03 << MMCE_BAD_DATA_SHFT)
 
#define MD_PERF_COUNTERS   6
 
#define MD_PERF_SETS   6
 
#define MEM_DIMM_MASK   0xe0000000
 
#define MEM_DIMM_SHFT   29
 

Typedefs

typedef union md_dir_error md_dir_error_t
 
typedef union md_mem_error md_mem_error_t
 
typedef union md_proto_error md_proto_error_t
 
typedef union md_sdir_high md_sdir_high_t
 
typedef union md_sdir_low md_sdir_low_t
 
typedef union md_pdir_high md_pdir_high_t
 
typedef union md_pdir_loent md_pdir_low_t
 
typedef union md_dir_high md_dir_high_t
 
typedef union md_dir_low md_dir_low_t
 
typedef struct bddir_entry bddir_entry_t
 
typedef struct dir_mem_entry dir_mem_entry_t
 
typedef union md_perf_sel md_perf_sel_t
 
typedef union md_perf_cnt md_perf_cnt_t
 

Macro Definition Documentation

#define CACHE_SLINE_SIZE   128 /* Secondary cache line size on SN0 */

Definition at line 18 of file hubmd.h.

#define CPU_LED_ADDR (   _nasid,
  _slice 
)
Value:
(private.p_sn00 ? \
REMOTE_HUB_ADDR((_nasid), MD_UREG1_0 + ((_slice) << 5)) : \
REMOTE_HUB_ADDR((_nasid), MD_LED0 + ((_slice) << 3)))

Definition at line 432 of file hubmd.h.

#define DIR_ERR_HSPEC_MASK   0x3ffffff8

Definition at line 760 of file hubmd.h.

#define DIR_ERROR_VALID_AE   0x4000000000000000

Definition at line 744 of file hubmd.h.

#define DIR_ERROR_VALID_CE   0x2000000000000000

Definition at line 745 of file hubmd.h.

#define DIR_ERROR_VALID_MASK   0xe000000000000000

Definition at line 741 of file hubmd.h.

#define DIR_ERROR_VALID_SHFT   61

Definition at line 742 of file hubmd.h.

#define DIR_ERROR_VALID_UCE   0x8000000000000000

Definition at line 743 of file hubmd.h.

#define DIRTYPE_PREMIUM   1

Definition at line 447 of file hubmd.h.

#define DIRTYPE_STANDARD   0

Definition at line 448 of file hubmd.h.

#define ERROR_ADDR_MASK   0xfffffff8

Definition at line 763 of file hubmd.h.

#define ERROR_ADDR_SHFT   3

Definition at line 764 of file hubmd.h.

#define ERROR_HSPEC_MASK   0x3ffffff8

Definition at line 761 of file hubmd.h.

#define ERROR_HSPEC_SHFT   3

Definition at line 762 of file hubmd.h.

#define MAX_REGIONS   64

Definition at line 20 of file hubmd.h.

#define MD_BANK_MASK   (UINT64_CAST 7 << 29)

Definition at line 264 of file hubmd.h.

#define MD_BANK_OFFSET (   _b)    (UINT64_CAST (_b) << MD_BANK_SHFT)

Definition at line 266 of file hubmd.h.

#define MD_BANK_SHFT   29 /* log2(512 MB) */

Definition at line 263 of file hubmd.h.

#define MD_BANK_SIZE   (UINT64_CAST 1 << MD_BANK_SHFT) /* 512 MB */

Definition at line 265 of file hubmd.h.

#define MD_BASE   0x200000

Definition at line 29 of file hubmd.h.

#define MD_BASE_JUNK   0x220000

Definition at line 31 of file hubmd.h.

#define MD_BASE_PERF   0x210000

Definition at line 30 of file hubmd.h.

#define MD_DIR_BUSY_EXCL   (UINT64_CAST 0x4) /* 100 */

Definition at line 282 of file hubmd.h.

#define MD_DIR_BUSY_SHARED   (UINT64_CAST 0x3) /* 011 */

Definition at line 281 of file hubmd.h.

#define MD_DIR_DIMM_INIT   0x200098 /* Directory DIMM mode init. */

Definition at line 52 of file hubmd.h.

#define MD_DIR_ERROR   0x200050 /* Directory DIMM error */

Definition at line 43 of file hubmd.h.

#define MD_DIR_ERROR_CLR   0x200058 /* Directory DIMM error clear */

Definition at line 44 of file hubmd.h.

#define MD_DIR_EXCLUSIVE   (UINT64_CAST 0x2) /* 010 */

Definition at line 280 of file hubmd.h.

#define MD_DIR_FORCE_ECC   (UINT64_CAST 1 << 63)

Definition at line 291 of file hubmd.h.

#define MD_DIR_POISONED   (UINT64_CAST 0x1) /* 001 */

Definition at line 279 of file hubmd.h.

#define MD_DIR_SHARED   (UINT64_CAST 0x0) /* 000 */

Definition at line 278 of file hubmd.h.

#define MD_DIR_UNOWNED   (UINT64_CAST 0x7) /* 111 */

Definition at line 284 of file hubmd.h.

#define MD_DIR_WAIT   (UINT64_CAST 0x5) /* 101 */

Definition at line 283 of file hubmd.h.

#define MD_FANDOP_CAC_STAT   0x200028 /* Fetch-and-op cache status */

Definition at line 38 of file hubmd.h.

#define MD_HSPEC_PROTECT   0x200010 /* BDDIR, LBOOT, RBOOT protection */

Definition at line 35 of file hubmd.h.

#define MD_IO_PROT_OVRRD   0x200008 /* Clear my bit in MD_IO_PROTECT */

Definition at line 34 of file hubmd.h.

#define MD_IO_PROTECT   0x200000 /* MD and core register protection */

Definition at line 33 of file hubmd.h.

#define MD_LED0   0x220050 /* Eight-bit LED for CPU A */

Definition at line 74 of file hubmd.h.

#define MD_LED1   0x220058 /* Eight-bit LED for CPU B */

Definition at line 75 of file hubmd.h.

#define MD_MEM_BANKS   8 /* 8 banks of memory max in M mode */

Definition at line 97 of file hubmd.h.

#define MD_MEM_DIMM_INIT   0x200090 /* Memory DIMM mode initization. */

Definition at line 51 of file hubmd.h.

#define MD_MEM_ERROR   0x200070 /* Memory DIMM error */

Definition at line 47 of file hubmd.h.

#define MD_MEM_ERROR_CLR   0x200078 /* Memory DIMM error clear */

Definition at line 48 of file hubmd.h.

#define MD_MEMORY_CONFIG   0x200018 /* Memory/Directory DIMM control */

Definition at line 36 of file hubmd.h.

#define MD_MEMORY_CONFIG_DIR_TYPE_GET (   region)
Value:

Definition at line 449 of file hubmd.h.

#define MD_MIG_CANDIDATE   0x200040 /* Latest page migration candidate */

Definition at line 41 of file hubmd.h.

#define MD_MIG_CANDIDATE_ADDR_MASK   (UINT64_CAST 0x3ffff)

Definition at line 258 of file hubmd.h.

#define MD_MIG_CANDIDATE_ADDR_SHFT   14 /* The address starts at bit 14 */

Definition at line 259 of file hubmd.h.

#define MD_MIG_CANDIDATE_CLR   0x200048 /* Clear page migration candidate */

Definition at line 42 of file hubmd.h.

#define MD_MIG_CANDIDATE_GET (   my_region_id)
Value:
( \
REMOTE_HUB_L((my_region_id), MD_MIG_CANDIDATE_CLR))

Definition at line 507 of file hubmd.h.

#define MD_MIG_CANDIDATE_HWPFN (   value)    ((value) & MD_MIG_CANDIDATE_ADDR_MASK)

Definition at line 510 of file hubmd.h.

#define MD_MIG_CANDIDATE_INITIATOR_MASK   (UINT64_CAST 0x7ff << 18)

Definition at line 254 of file hubmd.h.

#define MD_MIG_CANDIDATE_INITIATOR_SHFT   18

Definition at line 255 of file hubmd.h.

#define MD_MIG_CANDIDATE_NODEID (   value)
Value:

Definition at line 512 of file hubmd.h.

#define MD_MIG_CANDIDATE_NODEID_MASK   (UINT64_CAST 0x1ff << 20)

Definition at line 256 of file hubmd.h.

#define MD_MIG_CANDIDATE_NODEID_SHFT   20

Definition at line 257 of file hubmd.h.

#define MD_MIG_CANDIDATE_OVERRUN_MASK   (UINT64_CAST 0x1 << 29)

Definition at line 252 of file hubmd.h.

#define MD_MIG_CANDIDATE_OVERRUN_SHFT   29

Definition at line 253 of file hubmd.h.

#define MD_MIG_CANDIDATE_TYPE (   value)
Value:

Definition at line 515 of file hubmd.h.

#define MD_MIG_CANDIDATE_TYPE_MASK   (UINT64_CAST 0x1 << 30)

Definition at line 250 of file hubmd.h.

#define MD_MIG_CANDIDATE_TYPE_SHFT   30

Definition at line 251 of file hubmd.h.

#define MD_MIG_CANDIDATE_VALID (   value)
Value:

Definition at line 518 of file hubmd.h.

#define MD_MIG_CANDIDATE_VALID_MASK   (UINT64_CAST 0x1 << 63)

Definition at line 248 of file hubmd.h.

#define MD_MIG_CANDIDATE_VALID_SHFT   63

Definition at line 249 of file hubmd.h.

#define MD_MIG_DIFF_THRES_VALID_MASK   (UINT64_CAST 0x1 << 63)

Definition at line 236 of file hubmd.h.

#define MD_MIG_DIFF_THRES_VALID_SHFT   63

Definition at line 237 of file hubmd.h.

#define MD_MIG_DIFF_THRES_VALUE_MASK   (UINT64_CAST 0xfffff)

Definition at line 238 of file hubmd.h.

#define MD_MIG_DIFF_THRESH   0x200030 /* Page migr. count diff thresh. */

Definition at line 39 of file hubmd.h.

#define MD_MIG_DIFF_THRESH_DISABLE (   region)
Value:

Definition at line 467 of file hubmd.h.

#define MD_MIG_DIFF_THRESH_ENABLE (   region)
Value:

Definition at line 472 of file hubmd.h.

#define MD_MIG_DIFF_THRESH_GET (   region)
Value:
( \
REMOTE_HUB_L((region), MD_MIG_DIFF_THRESH) & \
MD_MIG_DIFF_THRES_VALUE_MASK)

Definition at line 459 of file hubmd.h.

#define MD_MIG_DIFF_THRESH_IS_ENABLED (   region)
Value:
( \
REMOTE_HUB_L((region), MD_MIG_DIFF_THRESH) & \
MD_MIG_DIFF_THRES_VALID_MASK)

Definition at line 477 of file hubmd.h.

#define MD_MIG_DIFF_THRESH_SET (   region,
  value 
)
Value:

Definition at line 463 of file hubmd.h.

#define MD_MIG_VALUE_THRES_VALID_MASK   (UINT64_CAST 0x1 << 63)

Definition at line 242 of file hubmd.h.

#define MD_MIG_VALUE_THRES_VALID_SHFT   63

Definition at line 243 of file hubmd.h.

#define MD_MIG_VALUE_THRES_VALUE_MASK   (UINT64_CAST 0xfffff)

Definition at line 244 of file hubmd.h.

#define MD_MIG_VALUE_THRESH   0x200038 /* Page migr. count abs. thresh. */

Definition at line 40 of file hubmd.h.

#define MD_MIG_VALUE_THRESH_DISABLE (   region)
Value:

Definition at line 489 of file hubmd.h.

#define MD_MIG_VALUE_THRESH_ENABLE (   region)
Value:

Definition at line 494 of file hubmd.h.

#define MD_MIG_VALUE_THRESH_GET (   region)
Value:
( \
REMOTE_HUB_L((region), MD_MIG_VALUE_THRESH) & \
MD_MIG_VALUE_THRES_VALUE_MASK)

Definition at line 481 of file hubmd.h.

#define MD_MIG_VALUE_THRESH_IS_ENABLED (   region)
Value:
( \
REMOTE_HUB_L((region), MD_MIG_VALUE_THRESH) & \
MD_MIG_VALUE_THRES_VALID_MASK)

Definition at line 499 of file hubmd.h.

#define MD_MIG_VALUE_THRESH_SET (   region,
  value 
)
Value:

Definition at line 485 of file hubmd.h.

#define MD_MISC_ERROR   0x200080 /* Miscellaneous MD error */

Definition at line 49 of file hubmd.h.

#define MD_MISC_ERROR_CLR   0x200088 /* Miscellaneous MD error clear */

Definition at line 50 of file hubmd.h.

#define MD_MLAN_CTL   0x2000a8 /* NIC (Microlan) control register */

Definition at line 54 of file hubmd.h.

#define MD_MOQ_SIZE   0x2000a0 /* MD outgoing queue size */

Definition at line 53 of file hubmd.h.

#define MD_PAGE_NUM_SHFT   12 /* Address to page number shift */

Definition at line 25 of file hubmd.h.

#define MD_PAGE_SIZE   4096 /* Page size in bytes */

Definition at line 24 of file hubmd.h.

#define MD_PDIR_AX   (1 << 7)

Definition at line 310 of file hubmd.h.

#define MD_PDIR_AX_MASK   (1 << 7)

Definition at line 309 of file hubmd.h.

#define MD_PDIR_AX_SHFT   7 /* ABC low */

Definition at line 308 of file hubmd.h.

#define MD_PDIR_CWOFF_MASK   (7 << 7)

Definition at line 327 of file hubmd.h.

#define MD_PDIR_CWOFF_SHFT   7 /* C high */

Definition at line 326 of file hubmd.h.

#define MD_PDIR_ECC_MASK   0x7f

Definition at line 305 of file hubmd.h.

#define MD_PDIR_ECC_SHFT   0 /* ABC low or high */

Definition at line 304 of file hubmd.h.

#define MD_PDIR_FINE   (1 << 12)

Definition at line 313 of file hubmd.h.

#define MD_PDIR_FINE_MASK   (1 << 12)

Definition at line 312 of file hubmd.h.

#define MD_PDIR_FINE_SHFT   12 /* ABC low */

Definition at line 311 of file hubmd.h.

#define MD_PDIR_INIT_HI   0

Definition at line 339 of file hubmd.h.

#define MD_PDIR_INIT_LO
Value:
MD_PDIR_AX)

Definition at line 337 of file hubmd.h.

#define MD_PDIR_INIT_PROT
Value:
MD_PROT_RW << MD_PPROT_SHFT)

Definition at line 340 of file hubmd.h.

#define MD_PDIR_MASK   0xffffffffffff /* Whole entry */

Definition at line 303 of file hubmd.h.

#define MD_PDIR_OCT_MASK   (7 << 13)

Definition at line 315 of file hubmd.h.

#define MD_PDIR_OCT_SHFT   13 /* A low */

Definition at line 314 of file hubmd.h.

#define MD_PDIR_ONECNT_MASK   (0x3f << 16)

Definition at line 319 of file hubmd.h.

#define MD_PDIR_ONECNT_SHFT   16 /* BC low */

Definition at line 318 of file hubmd.h.

#define MD_PDIR_PRIO_MASK   (0xf << 8)

Definition at line 307 of file hubmd.h.

#define MD_PDIR_PRIO_SHFT   8 /* ABC low */

Definition at line 306 of file hubmd.h.

#define MD_PDIR_PTR_MASK   (UINT64_CAST 0x7ff << 22)

Definition at line 321 of file hubmd.h.

#define MD_PDIR_PTR_SHFT   22 /* C low */

Definition at line 320 of file hubmd.h.

#define MD_PDIR_STATE_MASK   (7 << 13)

Definition at line 317 of file hubmd.h.

#define MD_PDIR_STATE_SHFT   13 /* BC low */

Definition at line 316 of file hubmd.h.

#define MD_PDIR_VECLSB_BITMASK   (UINT64_CAST 0x3fffffffff)

Definition at line 329 of file hubmd.h.

#define MD_PDIR_VECLSB_BITSHFT   0

Definition at line 330 of file hubmd.h.

#define MD_PDIR_VECLSB_MASK   (MD_PDIR_VECLSB_BITMASK << 10)

Definition at line 331 of file hubmd.h.

#define MD_PDIR_VECLSB_SHFT   10 /* AB high */

Definition at line 328 of file hubmd.h.

#define MD_PDIR_VECMSB_BITMASK   0x3ffffff

Definition at line 323 of file hubmd.h.

#define MD_PDIR_VECMSB_BITSHFT   27

Definition at line 324 of file hubmd.h.

#define MD_PDIR_VECMSB_MASK   (UINT64_CAST MD_PDIR_VECMSB_BITMASK << 22)

Definition at line 325 of file hubmd.h.

#define MD_PDIR_VECMSB_SHFT   22 /* AB low */

Definition at line 322 of file hubmd.h.

#define MD_PERF_CNT0   0x210010 /* Performance counter 0 */

Definition at line 57 of file hubmd.h.

#define MD_PERF_CNT1   0x210018 /* Performance counter 1 */

Definition at line 58 of file hubmd.h.

#define MD_PERF_CNT2   0x210020 /* Performance counter 2 */

Definition at line 59 of file hubmd.h.

#define MD_PERF_CNT3   0x210028 /* Performance counter 3 */

Definition at line 60 of file hubmd.h.

#define MD_PERF_CNT4   0x210030 /* Performance counter 4 */

Definition at line 61 of file hubmd.h.

#define MD_PERF_CNT5   0x210038 /* Performance counter 5 */

Definition at line 62 of file hubmd.h.

#define MD_PERF_COUNTERS   6

Definition at line 783 of file hubmd.h.

#define MD_PERF_SEL   0x210000 /* Select perf monitor events */

Definition at line 56 of file hubmd.h.

#define MD_PERF_SETS   6

Definition at line 784 of file hubmd.h.

#define MD_PPROT_IO_MASK   (UINT64_CAST 7 << 45)

Definition at line 402 of file hubmd.h.

#define MD_PPROT_IO_SHFT   45 /* I/O Prot field */

Definition at line 401 of file hubmd.h.

#define MD_PPROT_MASK   7

Definition at line 394 of file hubmd.h.

#define MD_PPROT_MIGMD_GET (   value)
Value:

Definition at line 529 of file hubmd.h.

#define MD_PPROT_MIGMD_MASK   (3 << 3)

Definition at line 396 of file hubmd.h.

#define MD_PPROT_MIGMD_SHFT   3 /* Migration mode */

Definition at line 395 of file hubmd.h.

#define MD_PPROT_REFCNT_GET (   value)
Value:

Definition at line 526 of file hubmd.h.

#define MD_PPROT_REFCNT_MASK   (MD_PPROT_REFCNT_WIDTH << 5)

Definition at line 399 of file hubmd.h.

#define MD_PPROT_REFCNT_SHFT   5 /* Reference count */

Definition at line 397 of file hubmd.h.

#define MD_PPROT_REFCNT_WIDTH   0x7ffff

Definition at line 398 of file hubmd.h.

#define MD_PPROT_SHFT   0 /* Prot. field */

Definition at line 393 of file hubmd.h.

#define MD_PROT_BAD   (UINT64_CAST 0x5)

Definition at line 389 of file hubmd.h.

#define MD_PROT_MIGMD_IABS   (UINT64_CAST 0x2 << 3)

Definition at line 417 of file hubmd.h.

#define MD_PROT_MIGMD_IREL   (UINT64_CAST 0x3 << 3)

Definition at line 416 of file hubmd.h.

#define MD_PROT_MIGMD_OFF   (UINT64_CAST 0x0 << 3)

Definition at line 419 of file hubmd.h.

#define MD_PROT_MIGMD_PREL   (UINT64_CAST 0x1 << 3)

Definition at line 418 of file hubmd.h.

#define MD_PROT_NO   (UINT64_CAST 0x0)

Definition at line 388 of file hubmd.h.

#define MD_PROT_RO   (UINT64_CAST 0x3)

Definition at line 387 of file hubmd.h.

#define MD_PROT_RW   (UINT64_CAST 0x6)

Definition at line 386 of file hubmd.h.

#define MD_PROTOCOL_ERROR   0x200060 /* Directory protocol error */

Definition at line 45 of file hubmd.h.

#define MD_PROTOCOL_ERROR_CLR   0x200068 /* Directory protocol error clear */

Definition at line 46 of file hubmd.h.

#define MD_REFRESH_CONTROL   0x200020 /* Memory/Directory refresh ctrl */

Definition at line 37 of file hubmd.h.

#define MD_SDIR_AX   (1 << 5)

Definition at line 359 of file hubmd.h.

#define MD_SDIR_AX_MASK   (1 << 5)

Definition at line 358 of file hubmd.h.

#define MD_SDIR_AX_SHFT   5 /* AC low */

Definition at line 357 of file hubmd.h.

#define MD_SDIR_CWOFF_MASK   (7 << 5)

Definition at line 365 of file hubmd.h.

#define MD_SDIR_CWOFF_SHFT   5 /* C high */

Definition at line 364 of file hubmd.h.

#define MD_SDIR_ECC_MASK   0x1f

Definition at line 354 of file hubmd.h.

#define MD_SDIR_ECC_SHFT   0 /* AC low or high */

Definition at line 353 of file hubmd.h.

#define MD_SDIR_INIT_HI   0

Definition at line 381 of file hubmd.h.

#define MD_SDIR_INIT_LO
Value:
MD_SDIR_AX)

Definition at line 379 of file hubmd.h.

#define MD_SDIR_INIT_PROT   (MD_PROT_RW << MD_SPROT_SHFT)

Definition at line 382 of file hubmd.h.

#define MD_SDIR_MASK   0xffff /* Whole entry */

Definition at line 352 of file hubmd.h.

#define MD_SDIR_PRIO_MASK   (1 << 6)

Definition at line 356 of file hubmd.h.

#define MD_SDIR_PRIO_SHFT   6 /* AC low */

Definition at line 355 of file hubmd.h.

#define MD_SDIR_PTR_MASK   (0x3f << 10)

Definition at line 363 of file hubmd.h.

#define MD_SDIR_PTR_SHFT   10 /* C low */

Definition at line 362 of file hubmd.h.

#define MD_SDIR_STATE_MASK   (7 << 7)

Definition at line 361 of file hubmd.h.

#define MD_SDIR_STATE_SHFT   7 /* AC low */

Definition at line 360 of file hubmd.h.

#define MD_SDIR_VECLSB_BITMASK   0x7ff

Definition at line 371 of file hubmd.h.

#define MD_SDIR_VECLSB_BITSHFT   0

Definition at line 372 of file hubmd.h.

#define MD_SDIR_VECLSB_MASK   (MD_SDIR_VECLSB_BITMASK << 5)

Definition at line 373 of file hubmd.h.

#define MD_SDIR_VECLSB_SHFT   5 /* A high */

Definition at line 370 of file hubmd.h.

#define MD_SDIR_VECMSB_BITMASK   0x1f

Definition at line 367 of file hubmd.h.

#define MD_SDIR_VECMSB_BITSHFT   7

Definition at line 368 of file hubmd.h.

#define MD_SDIR_VECMSB_MASK   (MD_SDIR_VECMSB_BITMASK << 11)

Definition at line 369 of file hubmd.h.

#define MD_SDIR_VECMSB_SHFT   11 /* A low */

Definition at line 366 of file hubmd.h.

#define MD_SIZE_128MB   5 /* Valid in MEMORY_CONFIG */

Definition at line 114 of file hubmd.h.

#define MD_SIZE_16MB   2

Definition at line 111 of file hubmd.h.

#define MD_SIZE_1GB   8

Definition at line 117 of file hubmd.h.

#define MD_SIZE_256MB   6

Definition at line 115 of file hubmd.h.

#define MD_SIZE_2GB   9

Definition at line 118 of file hubmd.h.

#define MD_SIZE_32MB   3 /* Broken in Hub 1 */

Definition at line 112 of file hubmd.h.

#define MD_SIZE_4GB   10

Definition at line 119 of file hubmd.h.

#define MD_SIZE_512MB   7 /* Valid in MEMORY_CONFIG */

Definition at line 116 of file hubmd.h.

#define MD_SIZE_64MB   4 /* Valid in MEMORY_CONFIG */

Definition at line 113 of file hubmd.h.

#define MD_SIZE_8MB   1

Definition at line 110 of file hubmd.h.

#define MD_SIZE_BYTES (   size)    ((size) == 0 ? 0 : 0x400000L << (size))

Definition at line 121 of file hubmd.h.

#define MD_SIZE_EMPTY   0 /* Valid in MEMORY_CONFIG */

Definition at line 109 of file hubmd.h.

#define MD_SIZE_MBYTES (   size)    ((size) == 0 ? 0 : 4 << (size))

Definition at line 122 of file hubmd.h.

#define MD_SLOTID_USTAT   0x220048 /* Hub slot ID & UART/uCtlr status */

Definition at line 73 of file hubmd.h.

#define MD_SPROT_MASK   7

Definition at line 407 of file hubmd.h.

#define MD_SPROT_MIGMD_GET (   value)
Value:

Definition at line 536 of file hubmd.h.

#define MD_SPROT_MIGMD_MASK   (3 << 3)

Definition at line 409 of file hubmd.h.

#define MD_SPROT_MIGMD_SHFT   3 /* Migration mode */

Definition at line 408 of file hubmd.h.

#define MD_SPROT_REFCNT_GET (   value)
Value:

Definition at line 533 of file hubmd.h.

#define MD_SPROT_REFCNT_MASK   (MD_SPROT_REFCNT_WIDTH << 5)

Definition at line 412 of file hubmd.h.

#define MD_SPROT_REFCNT_SHFT   5 /* Reference count */

Definition at line 410 of file hubmd.h.

#define MD_SPROT_REFCNT_WIDTH   0x7ff

Definition at line 411 of file hubmd.h.

#define MD_SPROT_SHFT   0 /* Prot. field */

Definition at line 406 of file hubmd.h.

#define MD_UREG0_0   0x220000 /* uController/UART 0 register */

Definition at line 64 of file hubmd.h.

#define MD_UREG0_1   0x220008 /* uController/UART 0 register */

Definition at line 65 of file hubmd.h.

#define MD_UREG0_2   0x220010 /* uController/UART 0 register */

Definition at line 66 of file hubmd.h.

#define MD_UREG0_3   0x220018 /* uController/UART 0 register */

Definition at line 67 of file hubmd.h.

#define MD_UREG0_4   0x220020 /* uController/UART 0 register */

Definition at line 68 of file hubmd.h.

#define MD_UREG0_5   0x220028 /* uController/UART 0 register */

Definition at line 69 of file hubmd.h.

#define MD_UREG0_6   0x220030 /* uController/UART 0 register */

Definition at line 70 of file hubmd.h.

#define MD_UREG0_7   0x220038 /* uController/UART 0 register */

Definition at line 71 of file hubmd.h.

#define MD_UREG1_0   0x220080 /* uController/UART 1 register */

Definition at line 77 of file hubmd.h.

#define MD_UREG1_1   0x220088 /* uController/UART 1 register */

Definition at line 78 of file hubmd.h.

#define MD_UREG1_10   0x2200d0 /* uController/UART 1 register */

Definition at line 87 of file hubmd.h.

#define MD_UREG1_11   0x2200d8 /* uController/UART 1 register */

Definition at line 88 of file hubmd.h.

#define MD_UREG1_12   0x2200e0 /* uController/UART 1 register */

Definition at line 89 of file hubmd.h.

#define MD_UREG1_13   0x2200e8 /* uController/UART 1 register */

Definition at line 90 of file hubmd.h.

#define MD_UREG1_14   0x2200f0 /* uController/UART 1 register */

Definition at line 91 of file hubmd.h.

#define MD_UREG1_15   0x2200f8 /* uController/UART 1 register */

Definition at line 92 of file hubmd.h.

#define MD_UREG1_2   0x220090 /* uController/UART 1 register */

Definition at line 79 of file hubmd.h.

#define MD_UREG1_3   0x220098 /* uController/UART 1 register */

Definition at line 80 of file hubmd.h.

#define MD_UREG1_4   0x2200a0 /* uController/UART 1 register */

Definition at line 81 of file hubmd.h.

#define MD_UREG1_5   0x2200a8 /* uController/UART 1 register */

Definition at line 82 of file hubmd.h.

#define MD_UREG1_6   0x2200b0 /* uController/UART 1 register */

Definition at line 83 of file hubmd.h.

#define MD_UREG1_7   0x2200b8 /* uController/UART 1 register */

Definition at line 84 of file hubmd.h.

#define MD_UREG1_8   0x2200c0 /* uController/UART 1 register */

Definition at line 85 of file hubmd.h.

#define MD_UREG1_9   0x2200c8 /* uController/UART 1 register */

Definition at line 86 of file hubmd.h.

#define MDI_DIMM_MODE_MASK   (UINT64_CAST 0xfff)

Definition at line 173 of file hubmd.h.

#define MDI_SELECT_MASK   (UINT64_CAST 0x0f << 32)

Definition at line 172 of file hubmd.h.

#define MDI_SELECT_SHFT   32

Definition at line 171 of file hubmd.h.

#define MEM_DIMM_MASK   0xe0000000

Definition at line 786 of file hubmd.h.

#define MEM_DIMM_SHFT   29

Definition at line 787 of file hubmd.h.

#define MEM_ERROR_VALID_CE   0x4000000000000000

Definition at line 750 of file hubmd.h.

#define MEM_ERROR_VALID_MASK   0xc000000000000000

Definition at line 747 of file hubmd.h.

#define MEM_ERROR_VALID_SHFT   62

Definition at line 748 of file hubmd.h.

#define MEM_ERROR_VALID_UCE   0x8000000000000000

Definition at line 749 of file hubmd.h.

#define MFC_ADDR_MASK   (UINT64_CAST 0x3ffffff)

Definition at line 189 of file hubmd.h.

#define MFC_ADDR_SHFT   6

Definition at line 188 of file hubmd.h.

#define MFC_VALID   (UINT64_CAST 1 << 63)

Definition at line 187 of file hubmd.h.

#define MFC_VALID_MASK   (UINT64_CAST 1 << 63)

Definition at line 186 of file hubmd.h.

#define MFC_VALID_SHFT   63

Definition at line 185 of file hubmd.h.

#define MISC_ERROR_VALID_MASK   0x3ff

Definition at line 754 of file hubmd.h.

#define MLAN_DONE   (UINT64_CAST 0x02)

Definition at line 203 of file hubmd.h.

#define MLAN_DONE_MASK   2

Definition at line 202 of file hubmd.h.

#define MLAN_DONE_SHFT   1

Definition at line 201 of file hubmd.h.

#define MLAN_PHI0_MASK   (UINT64_CAST 0x7f << 27)

Definition at line 196 of file hubmd.h.

#define MLAN_PHI0_SHFT   20

Definition at line 195 of file hubmd.h.

#define MLAN_PHI1_MASK   (UINT64_CAST 0x7f << 27)

Definition at line 194 of file hubmd.h.

#define MLAN_PHI1_SHFT   27

Definition at line 193 of file hubmd.h.

#define MLAN_PULSE_MASK   (UINT64_CAST 0x3ff << 10)

Definition at line 198 of file hubmd.h.

#define MLAN_PULSE_SHFT   10

Definition at line 197 of file hubmd.h.

#define MLAN_RD_DATA   (UINT64_CAST 0x01)

Definition at line 204 of file hubmd.h.

#define MLAN_RESET_DEFAULTS
Value:
UINT64_CAST 0x31 << MLAN_PHI0_SHFT)

Definition at line 205 of file hubmd.h.

#define MLAN_SAMPLE_MASK   (UINT64_CAST 0xff << 2)

Definition at line 200 of file hubmd.h.

#define MLAN_SAMPLE_SHFT   2

Definition at line 199 of file hubmd.h.

#define MMC_ARB_MLSS   (UINT64_CAST 1 << 30)

Definition at line 139 of file hubmd.h.

#define MMC_ARB_MLSS_MASK   (UINT64_CAST 1 << 30)

Definition at line 138 of file hubmd.h.

#define MMC_ARB_MLSS_SHFT   30

Definition at line 137 of file hubmd.h.

#define MMC_BANK_ALL_MASK   0xffffff

Definition at line 150 of file hubmd.h.

#define MMC_BANK_MASK (   _b)    (UINT64_CAST 7 << MMC_BANK_SHFT(_b))

Definition at line 149 of file hubmd.h.

#define MMC_BANK_SHFT (   _b)    ((_b) * 3)

Definition at line 148 of file hubmd.h.

#define MMC_DIMM0_SEL_MASK   (UINT64_CAST 3 << 32)

Definition at line 133 of file hubmd.h.

#define MMC_DIMM0_SEL_SHFT   32

Definition at line 132 of file hubmd.h.

#define MMC_DIR_PREMIUM   (UINT64_CAST 1 << 28)

Definition at line 145 of file hubmd.h.

#define MMC_DIR_PREMIUM_MASK   (UINT64_CAST 1 << 28)

Definition at line 144 of file hubmd.h.

#define MMC_DIR_PREMIUM_SHFT   28

Definition at line 143 of file hubmd.h.

#define MMC_FPROM_CYC_MASK   (UINT64_CAST 31 << 49) /* of 'L' suffix, */

Definition at line 125 of file hubmd.h.

#define MMC_FPROM_CYC_SHFT   49 /* Have to use UINT64_CAST, instead */

Definition at line 124 of file hubmd.h.

#define MMC_FPROM_WR_MASK   (UINT64_CAST 31 << 44)

Definition at line 127 of file hubmd.h.

#define MMC_FPROM_WR_SHFT   44 /* for assembler */

Definition at line 126 of file hubmd.h.

#define MMC_IGNORE_ECC   (UINT64_CAST 1 << 29)

Definition at line 142 of file hubmd.h.

#define MMC_IGNORE_ECC_MASK   (UINT64_CAST 1 << 29)

Definition at line 141 of file hubmd.h.

#define MMC_IGNORE_ECC_SHFT   29

Definition at line 140 of file hubmd.h.

#define MMC_IO_PROT   (UINT64_CAST 1 << 31)

Definition at line 136 of file hubmd.h.

#define MMC_IO_PROT_EN_MASK   (UINT64_CAST 1 << 31)

Definition at line 135 of file hubmd.h.

#define MMC_IO_PROT_EN_SHFT   31

Definition at line 134 of file hubmd.h.

#define MMC_REPLY_GUAR_MASK   (UINT64_CAST 15 << 24)

Definition at line 147 of file hubmd.h.

#define MMC_REPLY_GUAR_SHFT   24

Definition at line 146 of file hubmd.h.

#define MMC_RESET_DEFAULTS
Value:
UINT64_CAST 0x07 << MMC_FPROM_WR_SHFT | \
UINT64_CAST 0x1f << MMC_UCTLR_CYC_SHFT | \
UINT64_CAST 0x0f << MMC_UCTLR_WR_SHFT | \
MMC_IGNORE_ECC | MMC_DIR_PREMIUM | \
UINT64_CAST 0x0f << MMC_REPLY_GUAR_SHFT | \
MMC_BANK_ALL_MASK)

Definition at line 151 of file hubmd.h.

#define MMC_UCTLR_CYC_MASK   (UINT64_CAST 31 << 39)

Definition at line 129 of file hubmd.h.

#define MMC_UCTLR_CYC_SHFT   39

Definition at line 128 of file hubmd.h.

#define MMC_UCTLR_WR_MASK   (UINT64_CAST 31 << 34)

Definition at line 131 of file hubmd.h.

#define MMC_UCTLR_WR_SHFT   34

Definition at line 130 of file hubmd.h.

#define MMCE_BAD_DATA_MASK   (UINT64_CAST 0x03 << MMCE_BAD_DATA_SHFT)

Definition at line 780 of file hubmd.h.

#define MMCE_BAD_DATA_SHFT   0

Definition at line 779 of file hubmd.h.

#define MMCE_ILL_MSG_MASK   (UINT64_CAST 0x03 << MMCE_ILL_MSG_SHFT)

Definition at line 772 of file hubmd.h.

#define MMCE_ILL_MSG_SHFT   8

Definition at line 771 of file hubmd.h.

#define MMCE_ILL_REV_MASK   (UINT64_CAST 0x03 << MMCE_ILL_REV_SHFT)

Definition at line 774 of file hubmd.h.

#define MMCE_ILL_REV_SHFT   6

Definition at line 773 of file hubmd.h.

#define MMCE_LONG_PACK_MASK   (UINT64_CAST 0x03 << MMCE_lONG_PACK_SHFT)

Definition at line 776 of file hubmd.h.

#define MMCE_LONG_PACK_SHFT   4

Definition at line 775 of file hubmd.h.

#define MMCE_SHORT_PACK_MASK   (UINT64_CAST 0x03 << MMCE_SHORT_PACK_SHFT)

Definition at line 778 of file hubmd.h.

#define MMCE_SHORT_PACK_SHFT   2

Definition at line 777 of file hubmd.h.

#define MMCE_VALID_MASK   0x3ff

Definition at line 770 of file hubmd.h.

#define MMS_RESET_DEFAULTS   (0x32 << 8 | 0x12)

Definition at line 181 of file hubmd.h.

#define MMS_RP_SIZE_MASK   (UINT64_CAST 0x3f << 8)

Definition at line 178 of file hubmd.h.

#define MMS_RP_SIZE_SHFT   8

Definition at line 177 of file hubmd.h.

#define MMS_RQ_SIZE_MASK   (UINT64_CAST 0x1f)

Definition at line 180 of file hubmd.h.

#define MMS_RQ_SIZE_SHFT   0

Definition at line 179 of file hubmd.h.

#define MRC_CNT_THRESH_MASK   0xfff

Definition at line 166 of file hubmd.h.

#define MRC_COUNTER_MASK   (UINT64_CAST 0xfff << 12)

Definition at line 165 of file hubmd.h.

#define MRC_COUNTER_SHFT   12

Definition at line 164 of file hubmd.h.

#define MRC_ENABLE   (UINT64_CAST 1 << 63)

Definition at line 163 of file hubmd.h.

#define MRC_ENABLE_MASK   (UINT64_CAST 1 << 63)

Definition at line 162 of file hubmd.h.

#define MRC_ENABLE_SHFT   63

Definition at line 161 of file hubmd.h.

#define MRC_RESET_DEFAULTS   (UINT64_CAST 0x400)

Definition at line 167 of file hubmd.h.

#define MSU_CORECLK   (UINT64_CAST 1 << 6)

Definition at line 215 of file hubmd.h.

#define MSU_CORECLK_MASK   (UINT64_CAST 1 << 6)

Definition at line 214 of file hubmd.h.

#define MSU_CORECLK_SHFT   6 /* You don't wanna know */

Definition at line 213 of file hubmd.h.

#define MSU_CORECLK_TST   (UINT64_CAST 1 << 7)

Definition at line 212 of file hubmd.h.

#define MSU_CORECLK_TST_MASK   (UINT64_CAST 1 << 7)

Definition at line 211 of file hubmd.h.

#define MSU_CORECLK_TST_SHFT   7 /* You don't wanna know */

Definition at line 210 of file hubmd.h.

#define MSU_FPROMRDY   (UINT64_CAST 1 << 4)

Definition at line 221 of file hubmd.h.

#define MSU_FPROMRDY_MASK   (UINT64_CAST 1 << 4)

Definition at line 220 of file hubmd.h.

#define MSU_FPROMRDY_SHFT   4 /* Flash PROM ready bit */

Definition at line 219 of file hubmd.h.

#define MSU_I2CINTR   (UINT64_CAST 1 << 3)

Definition at line 224 of file hubmd.h.

#define MSU_I2CINTR_MASK   (UINT64_CAST 1 << 3)

Definition at line 223 of file hubmd.h.

#define MSU_I2CINTR_SHFT   3 /* I2C interrupt bit */

Definition at line 222 of file hubmd.h.

#define MSU_NETSYNC   (UINT64_CAST 1 << 5)

Definition at line 218 of file hubmd.h.

#define MSU_NETSYNC_MASK   (UINT64_CAST 1 << 5)

Definition at line 217 of file hubmd.h.

#define MSU_NETSYNC_SHFT   5 /* You don't wanna know */

Definition at line 216 of file hubmd.h.

#define MSU_PIMM_PSC_MASK   (0xf << MSU_PIMM_PSC_SHFT)

Definition at line 232 of file hubmd.h.

#define MSU_PIMM_PSC_SHFT   4

Definition at line 231 of file hubmd.h.

#define MSU_SLOTID_MASK   0xff

Definition at line 225 of file hubmd.h.

#define MSU_SN00_SLOTID_MASK   (UINT64_CAST 0x80)

Definition at line 229 of file hubmd.h.

#define MSU_SN00_SLOTID_SHFT   7

Definition at line 228 of file hubmd.h.

#define MSU_SN0_SLOTID_MASK   (UINT64_CAST 7)

Definition at line 227 of file hubmd.h.

#define MSU_SN0_SLOTID_SHFT   0 /* Slot ID */

Definition at line 226 of file hubmd.h.

#define PROTO_ERROR_VALID_MASK   0x8000000000000000

Definition at line 752 of file hubmd.h.

#define SET_CPU_LEDS (   _nasid,
  _slice,
  _val 
)    (HUB_S(CPU_LED_ADDR(_nasid, _slice), (_val)))

Definition at line 437 of file hubmd.h.

#define SET_MY_LEDS (   _v)    SET_CPU_LEDS(get_nasid(), get_slice(), (_v))

Definition at line 440 of file hubmd.h.

Typedef Documentation

typedef union md_dir_high md_dir_high_t
typedef union md_dir_low md_dir_low_t
typedef union md_perf_cnt md_perf_cnt_t
typedef union md_perf_sel md_perf_sel_t
typedef union md_sdir_low md_sdir_low_t