cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

octeon-stubs.h (31367B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#define CONFIG_CAVIUM_OCTEON_CVMSEG_SIZE	512
      3
      4#ifndef XKPHYS_TO_PHYS
      5# define XKPHYS_TO_PHYS(p)			(p)
      6#endif
      7
      8#define OCTEON_IRQ_WORKQ0 0
      9#define OCTEON_IRQ_RML 0
     10#define OCTEON_IRQ_TIMER1 0
     11#define OCTEON_IS_MODEL(x) 0
     12#define octeon_has_feature(x)	0
     13#define octeon_get_clock_rate()	0
     14
     15#define CVMX_SYNCIOBDMA		do { } while (0)
     16
     17#define CVMX_HELPER_INPUT_TAG_TYPE	0
     18#define CVMX_HELPER_FIRST_MBUFF_SKIP	7
     19#define CVMX_FAU_REG_END		(2048)
     20#define CVMX_FPA_OUTPUT_BUFFER_POOL	    (2)
     21#define CVMX_FPA_OUTPUT_BUFFER_POOL_SIZE    16
     22#define CVMX_FPA_PACKET_POOL		    (0)
     23#define CVMX_FPA_PACKET_POOL_SIZE	    16
     24#define CVMX_FPA_WQE_POOL		    (1)
     25#define CVMX_FPA_WQE_POOL_SIZE		    16
     26#define CVMX_GMXX_RXX_ADR_CAM_EN(a, b)	((a) + (b))
     27#define CVMX_GMXX_RXX_ADR_CTL(a, b)	((a) + (b))
     28#define CVMX_GMXX_PRTX_CFG(a, b)	((a) + (b))
     29#define CVMX_GMXX_RXX_FRM_MAX(a, b)	((a) + (b))
     30#define CVMX_GMXX_RXX_JABBER(a, b)	((a) + (b))
     31#define CVMX_IPD_CTL_STATUS		0
     32#define CVMX_PIP_FRM_LEN_CHKX(a)	(a)
     33#define CVMX_PIP_NUM_INPUT_PORTS	1
     34#define CVMX_SCR_SCRATCH		0
     35#define CVMX_PKO_QUEUES_PER_PORT_INTERFACE0	2
     36#define CVMX_PKO_QUEUES_PER_PORT_INTERFACE1	2
     37#define CVMX_IPD_SUB_PORT_FCS		0
     38#define CVMX_SSO_WQ_IQ_DIS		0
     39#define CVMX_SSO_WQ_INT			0
     40#define CVMX_POW_WQ_INT			0
     41#define CVMX_SSO_WQ_INT_PC		0
     42#define CVMX_NPI_RSL_INT_BLOCKS		0
     43#define CVMX_POW_WQ_INT_PC		0
     44
     45union cvmx_pip_wqe_word2 {
     46	uint64_t u64;
     47	struct {
     48		uint64_t bufs:8;
     49		uint64_t ip_offset:8;
     50		uint64_t vlan_valid:1;
     51		uint64_t vlan_stacked:1;
     52		uint64_t unassigned:1;
     53		uint64_t vlan_cfi:1;
     54		uint64_t vlan_id:12;
     55		uint64_t pr:4;
     56		uint64_t unassigned2:8;
     57		uint64_t dec_ipcomp:1;
     58		uint64_t tcp_or_udp:1;
     59		uint64_t dec_ipsec:1;
     60		uint64_t is_v6:1;
     61		uint64_t software:1;
     62		uint64_t L4_error:1;
     63		uint64_t is_frag:1;
     64		uint64_t IP_exc:1;
     65		uint64_t is_bcast:1;
     66		uint64_t is_mcast:1;
     67		uint64_t not_IP:1;
     68		uint64_t rcv_error:1;
     69		uint64_t err_code:8;
     70	} s;
     71	struct {
     72		uint64_t bufs:8;
     73		uint64_t ip_offset:8;
     74		uint64_t vlan_valid:1;
     75		uint64_t vlan_stacked:1;
     76		uint64_t unassigned:1;
     77		uint64_t vlan_cfi:1;
     78		uint64_t vlan_id:12;
     79		uint64_t port:12;
     80		uint64_t dec_ipcomp:1;
     81		uint64_t tcp_or_udp:1;
     82		uint64_t dec_ipsec:1;
     83		uint64_t is_v6:1;
     84		uint64_t software:1;
     85		uint64_t L4_error:1;
     86		uint64_t is_frag:1;
     87		uint64_t IP_exc:1;
     88		uint64_t is_bcast:1;
     89		uint64_t is_mcast:1;
     90		uint64_t not_IP:1;
     91		uint64_t rcv_error:1;
     92		uint64_t err_code:8;
     93	} s_cn68xx;
     94
     95	struct {
     96		uint64_t unused1:16;
     97		uint64_t vlan:16;
     98		uint64_t unused2:32;
     99	} svlan;
    100	struct {
    101		uint64_t bufs:8;
    102		uint64_t unused:8;
    103		uint64_t vlan_valid:1;
    104		uint64_t vlan_stacked:1;
    105		uint64_t unassigned:1;
    106		uint64_t vlan_cfi:1;
    107		uint64_t vlan_id:12;
    108		uint64_t pr:4;
    109		uint64_t unassigned2:12;
    110		uint64_t software:1;
    111		uint64_t unassigned3:1;
    112		uint64_t is_rarp:1;
    113		uint64_t is_arp:1;
    114		uint64_t is_bcast:1;
    115		uint64_t is_mcast:1;
    116		uint64_t not_IP:1;
    117		uint64_t rcv_error:1;
    118		uint64_t err_code:8;
    119	} snoip;
    120
    121};
    122
    123union cvmx_pip_wqe_word0 {
    124	struct {
    125		uint64_t next_ptr:40;
    126		uint8_t unused;
    127		__wsum hw_chksum;
    128	} cn38xx;
    129	struct {
    130		uint64_t pknd:6;        /* 0..5 */
    131		uint64_t unused2:2;     /* 6..7 */
    132		uint64_t bpid:6;        /* 8..13 */
    133		uint64_t unused1:18;    /* 14..31 */
    134		uint64_t l2ptr:8;       /* 32..39 */
    135		uint64_t l3ptr:8;       /* 40..47 */
    136		uint64_t unused0:8;     /* 48..55 */
    137		uint64_t l4ptr:8;       /* 56..63 */
    138	} cn68xx;
    139};
    140
    141union cvmx_wqe_word0 {
    142	uint64_t u64;
    143	union cvmx_pip_wqe_word0 pip;
    144};
    145
    146union cvmx_wqe_word1 {
    147	uint64_t u64;
    148	struct {
    149		uint64_t tag:32;
    150		uint64_t tag_type:2;
    151		uint64_t varies:14;
    152		uint64_t len:16;
    153	};
    154	struct {
    155		uint64_t tag:32;
    156		uint64_t tag_type:2;
    157		uint64_t zero_2:3;
    158		uint64_t grp:6;
    159		uint64_t zero_1:1;
    160		uint64_t qos:3;
    161		uint64_t zero_0:1;
    162		uint64_t len:16;
    163	} cn68xx;
    164	struct {
    165		uint64_t tag:32;
    166		uint64_t tag_type:2;
    167		uint64_t zero_2:1;
    168		uint64_t grp:4;
    169		uint64_t qos:3;
    170		uint64_t ipprt:6;
    171		uint64_t len:16;
    172	} cn38xx;
    173};
    174
    175union cvmx_buf_ptr {
    176	void *ptr;
    177	uint64_t u64;
    178	struct {
    179		uint64_t i:1;
    180		uint64_t back:4;
    181		uint64_t pool:3;
    182		uint64_t size:16;
    183		uint64_t addr:40;
    184	} s;
    185};
    186
    187struct cvmx_wqe {
    188	union cvmx_wqe_word0 word0;
    189	union cvmx_wqe_word1 word1;
    190	union cvmx_pip_wqe_word2 word2;
    191	union cvmx_buf_ptr packet_ptr;
    192	uint8_t packet_data[96];
    193};
    194
    195union cvmx_helper_link_info {
    196	uint64_t u64;
    197	struct {
    198		uint64_t reserved_20_63:44;
    199		uint64_t link_up:1;	    /**< Is the physical link up? */
    200		uint64_t full_duplex:1;	    /**< 1 if the link is full duplex */
    201		uint64_t speed:18;	    /**< Speed of the link in Mbps */
    202	} s;
    203};
    204
    205enum cvmx_fau_reg_32 {
    206	CVMX_FAU_REG_32_START	= 0,
    207};
    208
    209enum cvmx_fau_op_size {
    210	CVMX_FAU_OP_SIZE_8 = 0,
    211	CVMX_FAU_OP_SIZE_16 = 1,
    212	CVMX_FAU_OP_SIZE_32 = 2,
    213	CVMX_FAU_OP_SIZE_64 = 3
    214};
    215
    216typedef enum {
    217	CVMX_SPI_MODE_UNKNOWN = 0,
    218	CVMX_SPI_MODE_TX_HALFPLEX = 1,
    219	CVMX_SPI_MODE_RX_HALFPLEX = 2,
    220	CVMX_SPI_MODE_DUPLEX = 3
    221} cvmx_spi_mode_t;
    222
    223typedef enum {
    224	CVMX_HELPER_INTERFACE_MODE_DISABLED,
    225	CVMX_HELPER_INTERFACE_MODE_RGMII,
    226	CVMX_HELPER_INTERFACE_MODE_GMII,
    227	CVMX_HELPER_INTERFACE_MODE_SPI,
    228	CVMX_HELPER_INTERFACE_MODE_PCIE,
    229	CVMX_HELPER_INTERFACE_MODE_XAUI,
    230	CVMX_HELPER_INTERFACE_MODE_SGMII,
    231	CVMX_HELPER_INTERFACE_MODE_PICMG,
    232	CVMX_HELPER_INTERFACE_MODE_NPI,
    233	CVMX_HELPER_INTERFACE_MODE_LOOP,
    234} cvmx_helper_interface_mode_t;
    235
    236typedef enum {
    237	CVMX_POW_WAIT = 1,
    238	CVMX_POW_NO_WAIT = 0,
    239} cvmx_pow_wait_t;
    240
    241typedef enum {
    242	CVMX_PKO_LOCK_NONE = 0,
    243	CVMX_PKO_LOCK_ATOMIC_TAG = 1,
    244	CVMX_PKO_LOCK_CMD_QUEUE = 2,
    245} cvmx_pko_lock_t;
    246
    247typedef enum {
    248	CVMX_PKO_SUCCESS,
    249	CVMX_PKO_INVALID_PORT,
    250	CVMX_PKO_INVALID_QUEUE,
    251	CVMX_PKO_INVALID_PRIORITY,
    252	CVMX_PKO_NO_MEMORY,
    253	CVMX_PKO_PORT_ALREADY_SETUP,
    254	CVMX_PKO_CMD_QUEUE_INIT_ERROR
    255} cvmx_pko_status_t;
    256
    257enum cvmx_pow_tag_type {
    258	CVMX_POW_TAG_TYPE_ORDERED   = 0L,
    259	CVMX_POW_TAG_TYPE_ATOMIC    = 1L,
    260	CVMX_POW_TAG_TYPE_NULL	    = 2L,
    261	CVMX_POW_TAG_TYPE_NULL_NULL = 3L
    262};
    263
    264union cvmx_ipd_ctl_status {
    265	uint64_t u64;
    266	struct cvmx_ipd_ctl_status_s {
    267		uint64_t reserved_18_63:46;
    268		uint64_t use_sop:1;
    269		uint64_t rst_done:1;
    270		uint64_t clken:1;
    271		uint64_t no_wptr:1;
    272		uint64_t pq_apkt:1;
    273		uint64_t pq_nabuf:1;
    274		uint64_t ipd_full:1;
    275		uint64_t pkt_off:1;
    276		uint64_t len_m8:1;
    277		uint64_t reset:1;
    278		uint64_t addpkt:1;
    279		uint64_t naddbuf:1;
    280		uint64_t pkt_lend:1;
    281		uint64_t wqe_lend:1;
    282		uint64_t pbp_en:1;
    283		uint64_t opc_mode:2;
    284		uint64_t ipd_en:1;
    285	} s;
    286	struct cvmx_ipd_ctl_status_cn30xx {
    287		uint64_t reserved_10_63:54;
    288		uint64_t len_m8:1;
    289		uint64_t reset:1;
    290		uint64_t addpkt:1;
    291		uint64_t naddbuf:1;
    292		uint64_t pkt_lend:1;
    293		uint64_t wqe_lend:1;
    294		uint64_t pbp_en:1;
    295		uint64_t opc_mode:2;
    296		uint64_t ipd_en:1;
    297	} cn30xx;
    298	struct cvmx_ipd_ctl_status_cn38xxp2 {
    299		uint64_t reserved_9_63:55;
    300		uint64_t reset:1;
    301		uint64_t addpkt:1;
    302		uint64_t naddbuf:1;
    303		uint64_t pkt_lend:1;
    304		uint64_t wqe_lend:1;
    305		uint64_t pbp_en:1;
    306		uint64_t opc_mode:2;
    307		uint64_t ipd_en:1;
    308	} cn38xxp2;
    309	struct cvmx_ipd_ctl_status_cn50xx {
    310		uint64_t reserved_15_63:49;
    311		uint64_t no_wptr:1;
    312		uint64_t pq_apkt:1;
    313		uint64_t pq_nabuf:1;
    314		uint64_t ipd_full:1;
    315		uint64_t pkt_off:1;
    316		uint64_t len_m8:1;
    317		uint64_t reset:1;
    318		uint64_t addpkt:1;
    319		uint64_t naddbuf:1;
    320		uint64_t pkt_lend:1;
    321		uint64_t wqe_lend:1;
    322		uint64_t pbp_en:1;
    323		uint64_t opc_mode:2;
    324		uint64_t ipd_en:1;
    325	} cn50xx;
    326	struct cvmx_ipd_ctl_status_cn58xx {
    327		uint64_t reserved_12_63:52;
    328		uint64_t ipd_full:1;
    329		uint64_t pkt_off:1;
    330		uint64_t len_m8:1;
    331		uint64_t reset:1;
    332		uint64_t addpkt:1;
    333		uint64_t naddbuf:1;
    334		uint64_t pkt_lend:1;
    335		uint64_t wqe_lend:1;
    336		uint64_t pbp_en:1;
    337		uint64_t opc_mode:2;
    338		uint64_t ipd_en:1;
    339	} cn58xx;
    340	struct cvmx_ipd_ctl_status_cn63xxp1 {
    341		uint64_t reserved_16_63:48;
    342		uint64_t clken:1;
    343		uint64_t no_wptr:1;
    344		uint64_t pq_apkt:1;
    345		uint64_t pq_nabuf:1;
    346		uint64_t ipd_full:1;
    347		uint64_t pkt_off:1;
    348		uint64_t len_m8:1;
    349		uint64_t reset:1;
    350		uint64_t addpkt:1;
    351		uint64_t naddbuf:1;
    352		uint64_t pkt_lend:1;
    353		uint64_t wqe_lend:1;
    354		uint64_t pbp_en:1;
    355		uint64_t opc_mode:2;
    356		uint64_t ipd_en:1;
    357	} cn63xxp1;
    358};
    359
    360union cvmx_ipd_sub_port_fcs {
    361	uint64_t u64;
    362	struct cvmx_ipd_sub_port_fcs_s {
    363		uint64_t port_bit:32;
    364		uint64_t reserved_32_35:4;
    365		uint64_t port_bit2:4;
    366		uint64_t reserved_40_63:24;
    367	} s;
    368	struct cvmx_ipd_sub_port_fcs_cn30xx {
    369		uint64_t port_bit:3;
    370		uint64_t reserved_3_63:61;
    371	} cn30xx;
    372	struct cvmx_ipd_sub_port_fcs_cn38xx {
    373		uint64_t port_bit:32;
    374		uint64_t reserved_32_63:32;
    375	} cn38xx;
    376};
    377
    378union cvmx_ipd_sub_port_qos_cnt {
    379	uint64_t u64;
    380	struct cvmx_ipd_sub_port_qos_cnt_s {
    381		uint64_t cnt:32;
    382		uint64_t port_qos:9;
    383		uint64_t reserved_41_63:23;
    384	} s;
    385};
    386
    387typedef struct {
    388	uint32_t dropped_octets;
    389	uint32_t dropped_packets;
    390	uint32_t pci_raw_packets;
    391	uint32_t octets;
    392	uint32_t packets;
    393	uint32_t multicast_packets;
    394	uint32_t broadcast_packets;
    395	uint32_t len_64_packets;
    396	uint32_t len_65_127_packets;
    397	uint32_t len_128_255_packets;
    398	uint32_t len_256_511_packets;
    399	uint32_t len_512_1023_packets;
    400	uint32_t len_1024_1518_packets;
    401	uint32_t len_1519_max_packets;
    402	uint32_t fcs_align_err_packets;
    403	uint32_t runt_packets;
    404	uint32_t runt_crc_packets;
    405	uint32_t oversize_packets;
    406	uint32_t oversize_crc_packets;
    407	uint32_t inb_packets;
    408	uint64_t inb_octets;
    409	uint16_t inb_errors;
    410} cvmx_pip_port_status_t;
    411
    412typedef struct {
    413	uint32_t packets;
    414	uint64_t octets;
    415	uint64_t doorbell;
    416} cvmx_pko_port_status_t;
    417
    418union cvmx_pip_frm_len_chkx {
    419	uint64_t u64;
    420	struct cvmx_pip_frm_len_chkx_s {
    421		uint64_t reserved_32_63:32;
    422		uint64_t maxlen:16;
    423		uint64_t minlen:16;
    424	} s;
    425};
    426
    427union cvmx_gmxx_rxx_frm_ctl {
    428	uint64_t u64;
    429	struct cvmx_gmxx_rxx_frm_ctl_s {
    430		uint64_t pre_chk:1;
    431		uint64_t pre_strp:1;
    432		uint64_t ctl_drp:1;
    433		uint64_t ctl_bck:1;
    434		uint64_t ctl_mcst:1;
    435		uint64_t ctl_smac:1;
    436		uint64_t pre_free:1;
    437		uint64_t vlan_len:1;
    438		uint64_t pad_len:1;
    439		uint64_t pre_align:1;
    440		uint64_t null_dis:1;
    441		uint64_t reserved_11_11:1;
    442		uint64_t ptp_mode:1;
    443		uint64_t reserved_13_63:51;
    444	} s;
    445	struct cvmx_gmxx_rxx_frm_ctl_cn30xx {
    446		uint64_t pre_chk:1;
    447		uint64_t pre_strp:1;
    448		uint64_t ctl_drp:1;
    449		uint64_t ctl_bck:1;
    450		uint64_t ctl_mcst:1;
    451		uint64_t ctl_smac:1;
    452		uint64_t pre_free:1;
    453		uint64_t vlan_len:1;
    454		uint64_t pad_len:1;
    455		uint64_t reserved_9_63:55;
    456	} cn30xx;
    457	struct cvmx_gmxx_rxx_frm_ctl_cn31xx {
    458		uint64_t pre_chk:1;
    459		uint64_t pre_strp:1;
    460		uint64_t ctl_drp:1;
    461		uint64_t ctl_bck:1;
    462		uint64_t ctl_mcst:1;
    463		uint64_t ctl_smac:1;
    464		uint64_t pre_free:1;
    465		uint64_t vlan_len:1;
    466		uint64_t reserved_8_63:56;
    467	} cn31xx;
    468	struct cvmx_gmxx_rxx_frm_ctl_cn50xx {
    469		uint64_t pre_chk:1;
    470		uint64_t pre_strp:1;
    471		uint64_t ctl_drp:1;
    472		uint64_t ctl_bck:1;
    473		uint64_t ctl_mcst:1;
    474		uint64_t ctl_smac:1;
    475		uint64_t pre_free:1;
    476		uint64_t reserved_7_8:2;
    477		uint64_t pre_align:1;
    478		uint64_t null_dis:1;
    479		uint64_t reserved_11_63:53;
    480	} cn50xx;
    481	struct cvmx_gmxx_rxx_frm_ctl_cn56xxp1 {
    482		uint64_t pre_chk:1;
    483		uint64_t pre_strp:1;
    484		uint64_t ctl_drp:1;
    485		uint64_t ctl_bck:1;
    486		uint64_t ctl_mcst:1;
    487		uint64_t ctl_smac:1;
    488		uint64_t pre_free:1;
    489		uint64_t reserved_7_8:2;
    490		uint64_t pre_align:1;
    491		uint64_t reserved_10_63:54;
    492	} cn56xxp1;
    493	struct cvmx_gmxx_rxx_frm_ctl_cn58xx {
    494		uint64_t pre_chk:1;
    495		uint64_t pre_strp:1;
    496		uint64_t ctl_drp:1;
    497		uint64_t ctl_bck:1;
    498		uint64_t ctl_mcst:1;
    499		uint64_t ctl_smac:1;
    500		uint64_t pre_free:1;
    501		uint64_t vlan_len:1;
    502		uint64_t pad_len:1;
    503		uint64_t pre_align:1;
    504		uint64_t null_dis:1;
    505		uint64_t reserved_11_63:53;
    506	} cn58xx;
    507	struct cvmx_gmxx_rxx_frm_ctl_cn61xx {
    508		uint64_t pre_chk:1;
    509		uint64_t pre_strp:1;
    510		uint64_t ctl_drp:1;
    511		uint64_t ctl_bck:1;
    512		uint64_t ctl_mcst:1;
    513		uint64_t ctl_smac:1;
    514		uint64_t pre_free:1;
    515		uint64_t reserved_7_8:2;
    516		uint64_t pre_align:1;
    517		uint64_t null_dis:1;
    518		uint64_t reserved_11_11:1;
    519		uint64_t ptp_mode:1;
    520		uint64_t reserved_13_63:51;
    521	} cn61xx;
    522};
    523
    524union cvmx_gmxx_rxx_int_reg {
    525	uint64_t u64;
    526	struct cvmx_gmxx_rxx_int_reg_s {
    527		uint64_t minerr:1;
    528		uint64_t carext:1;
    529		uint64_t maxerr:1;
    530		uint64_t jabber:1;
    531		uint64_t fcserr:1;
    532		uint64_t alnerr:1;
    533		uint64_t lenerr:1;
    534		uint64_t rcverr:1;
    535		uint64_t skperr:1;
    536		uint64_t niberr:1;
    537		uint64_t ovrerr:1;
    538		uint64_t pcterr:1;
    539		uint64_t rsverr:1;
    540		uint64_t falerr:1;
    541		uint64_t coldet:1;
    542		uint64_t ifgerr:1;
    543		uint64_t phy_link:1;
    544		uint64_t phy_spd:1;
    545		uint64_t phy_dupx:1;
    546		uint64_t pause_drp:1;
    547		uint64_t loc_fault:1;
    548		uint64_t rem_fault:1;
    549		uint64_t bad_seq:1;
    550		uint64_t bad_term:1;
    551		uint64_t unsop:1;
    552		uint64_t uneop:1;
    553		uint64_t undat:1;
    554		uint64_t hg2fld:1;
    555		uint64_t hg2cc:1;
    556		uint64_t reserved_29_63:35;
    557	} s;
    558	struct cvmx_gmxx_rxx_int_reg_cn30xx {
    559		uint64_t minerr:1;
    560		uint64_t carext:1;
    561		uint64_t maxerr:1;
    562		uint64_t jabber:1;
    563		uint64_t fcserr:1;
    564		uint64_t alnerr:1;
    565		uint64_t lenerr:1;
    566		uint64_t rcverr:1;
    567		uint64_t skperr:1;
    568		uint64_t niberr:1;
    569		uint64_t ovrerr:1;
    570		uint64_t pcterr:1;
    571		uint64_t rsverr:1;
    572		uint64_t falerr:1;
    573		uint64_t coldet:1;
    574		uint64_t ifgerr:1;
    575		uint64_t phy_link:1;
    576		uint64_t phy_spd:1;
    577		uint64_t phy_dupx:1;
    578		uint64_t reserved_19_63:45;
    579	} cn30xx;
    580	struct cvmx_gmxx_rxx_int_reg_cn50xx {
    581		uint64_t reserved_0_0:1;
    582		uint64_t carext:1;
    583		uint64_t reserved_2_2:1;
    584		uint64_t jabber:1;
    585		uint64_t fcserr:1;
    586		uint64_t alnerr:1;
    587		uint64_t reserved_6_6:1;
    588		uint64_t rcverr:1;
    589		uint64_t skperr:1;
    590		uint64_t niberr:1;
    591		uint64_t ovrerr:1;
    592		uint64_t pcterr:1;
    593		uint64_t rsverr:1;
    594		uint64_t falerr:1;
    595		uint64_t coldet:1;
    596		uint64_t ifgerr:1;
    597		uint64_t phy_link:1;
    598		uint64_t phy_spd:1;
    599		uint64_t phy_dupx:1;
    600		uint64_t pause_drp:1;
    601		uint64_t reserved_20_63:44;
    602	} cn50xx;
    603	struct cvmx_gmxx_rxx_int_reg_cn52xx {
    604		uint64_t reserved_0_0:1;
    605		uint64_t carext:1;
    606		uint64_t reserved_2_2:1;
    607		uint64_t jabber:1;
    608		uint64_t fcserr:1;
    609		uint64_t reserved_5_6:2;
    610		uint64_t rcverr:1;
    611		uint64_t skperr:1;
    612		uint64_t reserved_9_9:1;
    613		uint64_t ovrerr:1;
    614		uint64_t pcterr:1;
    615		uint64_t rsverr:1;
    616		uint64_t falerr:1;
    617		uint64_t coldet:1;
    618		uint64_t ifgerr:1;
    619		uint64_t reserved_16_18:3;
    620		uint64_t pause_drp:1;
    621		uint64_t loc_fault:1;
    622		uint64_t rem_fault:1;
    623		uint64_t bad_seq:1;
    624		uint64_t bad_term:1;
    625		uint64_t unsop:1;
    626		uint64_t uneop:1;
    627		uint64_t undat:1;
    628		uint64_t hg2fld:1;
    629		uint64_t hg2cc:1;
    630		uint64_t reserved_29_63:35;
    631	} cn52xx;
    632	struct cvmx_gmxx_rxx_int_reg_cn56xxp1 {
    633		uint64_t reserved_0_0:1;
    634		uint64_t carext:1;
    635		uint64_t reserved_2_2:1;
    636		uint64_t jabber:1;
    637		uint64_t fcserr:1;
    638		uint64_t reserved_5_6:2;
    639		uint64_t rcverr:1;
    640		uint64_t skperr:1;
    641		uint64_t reserved_9_9:1;
    642		uint64_t ovrerr:1;
    643		uint64_t pcterr:1;
    644		uint64_t rsverr:1;
    645		uint64_t falerr:1;
    646		uint64_t coldet:1;
    647		uint64_t ifgerr:1;
    648		uint64_t reserved_16_18:3;
    649		uint64_t pause_drp:1;
    650		uint64_t loc_fault:1;
    651		uint64_t rem_fault:1;
    652		uint64_t bad_seq:1;
    653		uint64_t bad_term:1;
    654		uint64_t unsop:1;
    655		uint64_t uneop:1;
    656		uint64_t undat:1;
    657		uint64_t reserved_27_63:37;
    658	} cn56xxp1;
    659	struct cvmx_gmxx_rxx_int_reg_cn58xx {
    660		uint64_t minerr:1;
    661		uint64_t carext:1;
    662		uint64_t maxerr:1;
    663		uint64_t jabber:1;
    664		uint64_t fcserr:1;
    665		uint64_t alnerr:1;
    666		uint64_t lenerr:1;
    667		uint64_t rcverr:1;
    668		uint64_t skperr:1;
    669		uint64_t niberr:1;
    670		uint64_t ovrerr:1;
    671		uint64_t pcterr:1;
    672		uint64_t rsverr:1;
    673		uint64_t falerr:1;
    674		uint64_t coldet:1;
    675		uint64_t ifgerr:1;
    676		uint64_t phy_link:1;
    677		uint64_t phy_spd:1;
    678		uint64_t phy_dupx:1;
    679		uint64_t pause_drp:1;
    680		uint64_t reserved_20_63:44;
    681	} cn58xx;
    682	struct cvmx_gmxx_rxx_int_reg_cn61xx {
    683		uint64_t minerr:1;
    684		uint64_t carext:1;
    685		uint64_t reserved_2_2:1;
    686		uint64_t jabber:1;
    687		uint64_t fcserr:1;
    688		uint64_t reserved_5_6:2;
    689		uint64_t rcverr:1;
    690		uint64_t skperr:1;
    691		uint64_t reserved_9_9:1;
    692		uint64_t ovrerr:1;
    693		uint64_t pcterr:1;
    694		uint64_t rsverr:1;
    695		uint64_t falerr:1;
    696		uint64_t coldet:1;
    697		uint64_t ifgerr:1;
    698		uint64_t reserved_16_18:3;
    699		uint64_t pause_drp:1;
    700		uint64_t loc_fault:1;
    701		uint64_t rem_fault:1;
    702		uint64_t bad_seq:1;
    703		uint64_t bad_term:1;
    704		uint64_t unsop:1;
    705		uint64_t uneop:1;
    706		uint64_t undat:1;
    707		uint64_t hg2fld:1;
    708		uint64_t hg2cc:1;
    709		uint64_t reserved_29_63:35;
    710	} cn61xx;
    711};
    712
    713union cvmx_gmxx_prtx_cfg {
    714	uint64_t u64;
    715	struct cvmx_gmxx_prtx_cfg_s {
    716		uint64_t reserved_22_63:42;
    717		uint64_t pknd:6;
    718		uint64_t reserved_14_15:2;
    719		uint64_t tx_idle:1;
    720		uint64_t rx_idle:1;
    721		uint64_t reserved_9_11:3;
    722		uint64_t speed_msb:1;
    723		uint64_t reserved_4_7:4;
    724		uint64_t slottime:1;
    725		uint64_t duplex:1;
    726		uint64_t speed:1;
    727		uint64_t en:1;
    728	} s;
    729	struct cvmx_gmxx_prtx_cfg_cn30xx {
    730		uint64_t reserved_4_63:60;
    731		uint64_t slottime:1;
    732		uint64_t duplex:1;
    733		uint64_t speed:1;
    734		uint64_t en:1;
    735	} cn30xx;
    736	struct cvmx_gmxx_prtx_cfg_cn52xx {
    737		uint64_t reserved_14_63:50;
    738		uint64_t tx_idle:1;
    739		uint64_t rx_idle:1;
    740		uint64_t reserved_9_11:3;
    741		uint64_t speed_msb:1;
    742		uint64_t reserved_4_7:4;
    743		uint64_t slottime:1;
    744		uint64_t duplex:1;
    745		uint64_t speed:1;
    746		uint64_t en:1;
    747	} cn52xx;
    748};
    749
    750union cvmx_gmxx_rxx_adr_ctl {
    751	uint64_t u64;
    752	struct cvmx_gmxx_rxx_adr_ctl_s {
    753		uint64_t reserved_4_63:60;
    754		uint64_t cam_mode:1;
    755		uint64_t mcst:2;
    756		uint64_t bcst:1;
    757	} s;
    758};
    759
    760union cvmx_pip_prt_tagx {
    761	uint64_t u64;
    762	struct cvmx_pip_prt_tagx_s {
    763		uint64_t reserved_54_63:10;
    764		uint64_t portadd_en:1;
    765		uint64_t inc_hwchk:1;
    766		uint64_t reserved_50_51:2;
    767		uint64_t grptagbase_msb:2;
    768		uint64_t reserved_46_47:2;
    769		uint64_t grptagmask_msb:2;
    770		uint64_t reserved_42_43:2;
    771		uint64_t grp_msb:2;
    772		uint64_t grptagbase:4;
    773		uint64_t grptagmask:4;
    774		uint64_t grptag:1;
    775		uint64_t grptag_mskip:1;
    776		uint64_t tag_mode:2;
    777		uint64_t inc_vs:2;
    778		uint64_t inc_vlan:1;
    779		uint64_t inc_prt_flag:1;
    780		uint64_t ip6_dprt_flag:1;
    781		uint64_t ip4_dprt_flag:1;
    782		uint64_t ip6_sprt_flag:1;
    783		uint64_t ip4_sprt_flag:1;
    784		uint64_t ip6_nxth_flag:1;
    785		uint64_t ip4_pctl_flag:1;
    786		uint64_t ip6_dst_flag:1;
    787		uint64_t ip4_dst_flag:1;
    788		uint64_t ip6_src_flag:1;
    789		uint64_t ip4_src_flag:1;
    790		uint64_t tcp6_tag_type:2;
    791		uint64_t tcp4_tag_type:2;
    792		uint64_t ip6_tag_type:2;
    793		uint64_t ip4_tag_type:2;
    794		uint64_t non_tag_type:2;
    795		uint64_t grp:4;
    796	} s;
    797	struct cvmx_pip_prt_tagx_cn30xx {
    798		uint64_t reserved_40_63:24;
    799		uint64_t grptagbase:4;
    800		uint64_t grptagmask:4;
    801		uint64_t grptag:1;
    802		uint64_t reserved_30_30:1;
    803		uint64_t tag_mode:2;
    804		uint64_t inc_vs:2;
    805		uint64_t inc_vlan:1;
    806		uint64_t inc_prt_flag:1;
    807		uint64_t ip6_dprt_flag:1;
    808		uint64_t ip4_dprt_flag:1;
    809		uint64_t ip6_sprt_flag:1;
    810		uint64_t ip4_sprt_flag:1;
    811		uint64_t ip6_nxth_flag:1;
    812		uint64_t ip4_pctl_flag:1;
    813		uint64_t ip6_dst_flag:1;
    814		uint64_t ip4_dst_flag:1;
    815		uint64_t ip6_src_flag:1;
    816		uint64_t ip4_src_flag:1;
    817		uint64_t tcp6_tag_type:2;
    818		uint64_t tcp4_tag_type:2;
    819		uint64_t ip6_tag_type:2;
    820		uint64_t ip4_tag_type:2;
    821		uint64_t non_tag_type:2;
    822		uint64_t grp:4;
    823	} cn30xx;
    824	struct cvmx_pip_prt_tagx_cn50xx {
    825		uint64_t reserved_40_63:24;
    826		uint64_t grptagbase:4;
    827		uint64_t grptagmask:4;
    828		uint64_t grptag:1;
    829		uint64_t grptag_mskip:1;
    830		uint64_t tag_mode:2;
    831		uint64_t inc_vs:2;
    832		uint64_t inc_vlan:1;
    833		uint64_t inc_prt_flag:1;
    834		uint64_t ip6_dprt_flag:1;
    835		uint64_t ip4_dprt_flag:1;
    836		uint64_t ip6_sprt_flag:1;
    837		uint64_t ip4_sprt_flag:1;
    838		uint64_t ip6_nxth_flag:1;
    839		uint64_t ip4_pctl_flag:1;
    840		uint64_t ip6_dst_flag:1;
    841		uint64_t ip4_dst_flag:1;
    842		uint64_t ip6_src_flag:1;
    843		uint64_t ip4_src_flag:1;
    844		uint64_t tcp6_tag_type:2;
    845		uint64_t tcp4_tag_type:2;
    846		uint64_t ip6_tag_type:2;
    847		uint64_t ip4_tag_type:2;
    848		uint64_t non_tag_type:2;
    849		uint64_t grp:4;
    850	} cn50xx;
    851};
    852
    853union cvmx_spxx_int_reg {
    854	uint64_t u64;
    855	struct cvmx_spxx_int_reg_s {
    856		uint64_t reserved_32_63:32;
    857		uint64_t spf:1;
    858		uint64_t reserved_12_30:19;
    859		uint64_t calerr:1;
    860		uint64_t syncerr:1;
    861		uint64_t diperr:1;
    862		uint64_t tpaovr:1;
    863		uint64_t rsverr:1;
    864		uint64_t drwnng:1;
    865		uint64_t clserr:1;
    866		uint64_t spiovr:1;
    867		uint64_t reserved_2_3:2;
    868		uint64_t abnorm:1;
    869		uint64_t prtnxa:1;
    870	} s;
    871};
    872
    873union cvmx_spxx_int_msk {
    874	uint64_t u64;
    875	struct cvmx_spxx_int_msk_s {
    876		uint64_t reserved_12_63:52;
    877		uint64_t calerr:1;
    878		uint64_t syncerr:1;
    879		uint64_t diperr:1;
    880		uint64_t tpaovr:1;
    881		uint64_t rsverr:1;
    882		uint64_t drwnng:1;
    883		uint64_t clserr:1;
    884		uint64_t spiovr:1;
    885		uint64_t reserved_2_3:2;
    886		uint64_t abnorm:1;
    887		uint64_t prtnxa:1;
    888	} s;
    889};
    890
    891union cvmx_pow_wq_int {
    892	uint64_t u64;
    893	struct cvmx_pow_wq_int_s {
    894		uint64_t wq_int:16;
    895		uint64_t iq_dis:16;
    896		uint64_t reserved_32_63:32;
    897	} s;
    898};
    899
    900union cvmx_sso_wq_int_thrx {
    901	uint64_t u64;
    902	struct {
    903		uint64_t iq_thr:12;
    904		uint64_t reserved_12_13:2;
    905		uint64_t ds_thr:12;
    906		uint64_t reserved_26_27:2;
    907		uint64_t tc_thr:4;
    908		uint64_t tc_en:1;
    909		uint64_t reserved_33_63:31;
    910	} s;
    911};
    912
    913union cvmx_stxx_int_reg {
    914	uint64_t u64;
    915	struct cvmx_stxx_int_reg_s {
    916		uint64_t reserved_9_63:55;
    917		uint64_t syncerr:1;
    918		uint64_t frmerr:1;
    919		uint64_t unxfrm:1;
    920		uint64_t nosync:1;
    921		uint64_t diperr:1;
    922		uint64_t datovr:1;
    923		uint64_t ovrbst:1;
    924		uint64_t calpar1:1;
    925		uint64_t calpar0:1;
    926	} s;
    927};
    928
    929union cvmx_stxx_int_msk {
    930	uint64_t u64;
    931	struct cvmx_stxx_int_msk_s {
    932		uint64_t reserved_8_63:56;
    933		uint64_t frmerr:1;
    934		uint64_t unxfrm:1;
    935		uint64_t nosync:1;
    936		uint64_t diperr:1;
    937		uint64_t datovr:1;
    938		uint64_t ovrbst:1;
    939		uint64_t calpar1:1;
    940		uint64_t calpar0:1;
    941	} s;
    942};
    943
    944union cvmx_pow_wq_int_pc {
    945	uint64_t u64;
    946	struct cvmx_pow_wq_int_pc_s {
    947		uint64_t reserved_0_7:8;
    948		uint64_t pc_thr:20;
    949		uint64_t reserved_28_31:4;
    950		uint64_t pc:28;
    951		uint64_t reserved_60_63:4;
    952	} s;
    953};
    954
    955union cvmx_pow_wq_int_thrx {
    956	uint64_t u64;
    957	struct cvmx_pow_wq_int_thrx_s {
    958		uint64_t reserved_29_63:35;
    959		uint64_t tc_en:1;
    960		uint64_t tc_thr:4;
    961		uint64_t reserved_23_23:1;
    962		uint64_t ds_thr:11;
    963		uint64_t reserved_11_11:1;
    964		uint64_t iq_thr:11;
    965	} s;
    966	struct cvmx_pow_wq_int_thrx_cn30xx {
    967		uint64_t reserved_29_63:35;
    968		uint64_t tc_en:1;
    969		uint64_t tc_thr:4;
    970		uint64_t reserved_18_23:6;
    971		uint64_t ds_thr:6;
    972		uint64_t reserved_6_11:6;
    973		uint64_t iq_thr:6;
    974	} cn30xx;
    975	struct cvmx_pow_wq_int_thrx_cn31xx {
    976		uint64_t reserved_29_63:35;
    977		uint64_t tc_en:1;
    978		uint64_t tc_thr:4;
    979		uint64_t reserved_20_23:4;
    980		uint64_t ds_thr:8;
    981		uint64_t reserved_8_11:4;
    982		uint64_t iq_thr:8;
    983	} cn31xx;
    984	struct cvmx_pow_wq_int_thrx_cn52xx {
    985		uint64_t reserved_29_63:35;
    986		uint64_t tc_en:1;
    987		uint64_t tc_thr:4;
    988		uint64_t reserved_21_23:3;
    989		uint64_t ds_thr:9;
    990		uint64_t reserved_9_11:3;
    991		uint64_t iq_thr:9;
    992	} cn52xx;
    993	struct cvmx_pow_wq_int_thrx_cn63xx {
    994		uint64_t reserved_29_63:35;
    995		uint64_t tc_en:1;
    996		uint64_t tc_thr:4;
    997		uint64_t reserved_22_23:2;
    998		uint64_t ds_thr:10;
    999		uint64_t reserved_10_11:2;
   1000		uint64_t iq_thr:10;
   1001	} cn63xx;
   1002};
   1003
   1004union cvmx_npi_rsl_int_blocks {
   1005	uint64_t u64;
   1006	struct cvmx_npi_rsl_int_blocks_s {
   1007		uint64_t reserved_32_63:32;
   1008		uint64_t rint_31:1;
   1009		uint64_t iob:1;
   1010		uint64_t reserved_28_29:2;
   1011		uint64_t rint_27:1;
   1012		uint64_t rint_26:1;
   1013		uint64_t rint_25:1;
   1014		uint64_t rint_24:1;
   1015		uint64_t asx1:1;
   1016		uint64_t asx0:1;
   1017		uint64_t rint_21:1;
   1018		uint64_t pip:1;
   1019		uint64_t spx1:1;
   1020		uint64_t spx0:1;
   1021		uint64_t lmc:1;
   1022		uint64_t l2c:1;
   1023		uint64_t rint_15:1;
   1024		uint64_t reserved_13_14:2;
   1025		uint64_t pow:1;
   1026		uint64_t tim:1;
   1027		uint64_t pko:1;
   1028		uint64_t ipd:1;
   1029		uint64_t rint_8:1;
   1030		uint64_t zip:1;
   1031		uint64_t dfa:1;
   1032		uint64_t fpa:1;
   1033		uint64_t key:1;
   1034		uint64_t npi:1;
   1035		uint64_t gmx1:1;
   1036		uint64_t gmx0:1;
   1037		uint64_t mio:1;
   1038	} s;
   1039	struct cvmx_npi_rsl_int_blocks_cn30xx {
   1040		uint64_t reserved_32_63:32;
   1041		uint64_t rint_31:1;
   1042		uint64_t iob:1;
   1043		uint64_t rint_29:1;
   1044		uint64_t rint_28:1;
   1045		uint64_t rint_27:1;
   1046		uint64_t rint_26:1;
   1047		uint64_t rint_25:1;
   1048		uint64_t rint_24:1;
   1049		uint64_t asx1:1;
   1050		uint64_t asx0:1;
   1051		uint64_t rint_21:1;
   1052		uint64_t pip:1;
   1053		uint64_t spx1:1;
   1054		uint64_t spx0:1;
   1055		uint64_t lmc:1;
   1056		uint64_t l2c:1;
   1057		uint64_t rint_15:1;
   1058		uint64_t rint_14:1;
   1059		uint64_t usb:1;
   1060		uint64_t pow:1;
   1061		uint64_t tim:1;
   1062		uint64_t pko:1;
   1063		uint64_t ipd:1;
   1064		uint64_t rint_8:1;
   1065		uint64_t zip:1;
   1066		uint64_t dfa:1;
   1067		uint64_t fpa:1;
   1068		uint64_t key:1;
   1069		uint64_t npi:1;
   1070		uint64_t gmx1:1;
   1071		uint64_t gmx0:1;
   1072		uint64_t mio:1;
   1073	} cn30xx;
   1074	struct cvmx_npi_rsl_int_blocks_cn38xx {
   1075		uint64_t reserved_32_63:32;
   1076		uint64_t rint_31:1;
   1077		uint64_t iob:1;
   1078		uint64_t rint_29:1;
   1079		uint64_t rint_28:1;
   1080		uint64_t rint_27:1;
   1081		uint64_t rint_26:1;
   1082		uint64_t rint_25:1;
   1083		uint64_t rint_24:1;
   1084		uint64_t asx1:1;
   1085		uint64_t asx0:1;
   1086		uint64_t rint_21:1;
   1087		uint64_t pip:1;
   1088		uint64_t spx1:1;
   1089		uint64_t spx0:1;
   1090		uint64_t lmc:1;
   1091		uint64_t l2c:1;
   1092		uint64_t rint_15:1;
   1093		uint64_t rint_14:1;
   1094		uint64_t rint_13:1;
   1095		uint64_t pow:1;
   1096		uint64_t tim:1;
   1097		uint64_t pko:1;
   1098		uint64_t ipd:1;
   1099		uint64_t rint_8:1;
   1100		uint64_t zip:1;
   1101		uint64_t dfa:1;
   1102		uint64_t fpa:1;
   1103		uint64_t key:1;
   1104		uint64_t npi:1;
   1105		uint64_t gmx1:1;
   1106		uint64_t gmx0:1;
   1107		uint64_t mio:1;
   1108	} cn38xx;
   1109	struct cvmx_npi_rsl_int_blocks_cn50xx {
   1110		uint64_t reserved_31_63:33;
   1111		uint64_t iob:1;
   1112		uint64_t lmc1:1;
   1113		uint64_t agl:1;
   1114		uint64_t reserved_24_27:4;
   1115		uint64_t asx1:1;
   1116		uint64_t asx0:1;
   1117		uint64_t reserved_21_21:1;
   1118		uint64_t pip:1;
   1119		uint64_t spx1:1;
   1120		uint64_t spx0:1;
   1121		uint64_t lmc:1;
   1122		uint64_t l2c:1;
   1123		uint64_t reserved_15_15:1;
   1124		uint64_t rad:1;
   1125		uint64_t usb:1;
   1126		uint64_t pow:1;
   1127		uint64_t tim:1;
   1128		uint64_t pko:1;
   1129		uint64_t ipd:1;
   1130		uint64_t reserved_8_8:1;
   1131		uint64_t zip:1;
   1132		uint64_t dfa:1;
   1133		uint64_t fpa:1;
   1134		uint64_t key:1;
   1135		uint64_t npi:1;
   1136		uint64_t gmx1:1;
   1137		uint64_t gmx0:1;
   1138		uint64_t mio:1;
   1139	} cn50xx;
   1140};
   1141
   1142union cvmx_pko_command_word0 {
   1143	uint64_t u64;
   1144	struct {
   1145		uint64_t total_bytes:16;
   1146		uint64_t segs:6;
   1147		uint64_t dontfree:1;
   1148		uint64_t ignore_i:1;
   1149		uint64_t ipoffp1:7;
   1150		uint64_t gather:1;
   1151		uint64_t rsp:1;
   1152		uint64_t wqp:1;
   1153		uint64_t n2:1;
   1154		uint64_t le:1;
   1155		uint64_t reg0:11;
   1156		uint64_t subone0:1;
   1157		uint64_t reg1:11;
   1158		uint64_t subone1:1;
   1159		uint64_t size0:2;
   1160		uint64_t size1:2;
   1161	} s;
   1162};
   1163
   1164union cvmx_ciu_timx {
   1165	uint64_t u64;
   1166	struct cvmx_ciu_timx_s {
   1167		uint64_t reserved_37_63:27;
   1168		uint64_t one_shot:1;
   1169		uint64_t len:36;
   1170	} s;
   1171};
   1172
   1173union cvmx_gmxx_rxx_rx_inbnd {
   1174	uint64_t u64;
   1175	struct cvmx_gmxx_rxx_rx_inbnd_s {
   1176		uint64_t status:1;
   1177		uint64_t speed:2;
   1178		uint64_t duplex:1;
   1179		uint64_t reserved_4_63:60;
   1180	} s;
   1181};
   1182
   1183static inline int32_t cvmx_fau_fetch_and_add32(enum cvmx_fau_reg_32 reg,
   1184					       int32_t value)
   1185{
   1186	return value;
   1187}
   1188
   1189static inline void cvmx_fau_atomic_add32(enum cvmx_fau_reg_32 reg,
   1190					 int32_t value)
   1191{ }
   1192
   1193static inline void cvmx_fau_atomic_write32(enum cvmx_fau_reg_32 reg,
   1194					   int32_t value)
   1195{ }
   1196
   1197static inline uint64_t cvmx_scratch_read64(uint64_t address)
   1198{
   1199	return 0;
   1200}
   1201
   1202static inline void cvmx_scratch_write64(uint64_t address, uint64_t value)
   1203{ }
   1204
   1205static inline int cvmx_wqe_get_grp(struct cvmx_wqe *work)
   1206{
   1207	return 0;
   1208}
   1209
   1210static inline void *cvmx_phys_to_ptr(uint64_t physical_address)
   1211{
   1212	return (void *)(uintptr_t)(physical_address);
   1213}
   1214
   1215static inline uint64_t cvmx_ptr_to_phys(void *ptr)
   1216{
   1217	return (unsigned long)ptr;
   1218}
   1219
   1220static inline int cvmx_helper_get_interface_num(int ipd_port)
   1221{
   1222	return ipd_port;
   1223}
   1224
   1225static inline int cvmx_helper_get_interface_index_num(int ipd_port)
   1226{
   1227	return ipd_port;
   1228}
   1229
   1230static inline void cvmx_fpa_enable(void)
   1231{ }
   1232
   1233static inline uint64_t cvmx_read_csr(uint64_t csr_addr)
   1234{
   1235	return 0;
   1236}
   1237
   1238static inline void cvmx_write_csr(uint64_t csr_addr, uint64_t val)
   1239{ }
   1240
   1241static inline int cvmx_helper_setup_red(int pass_thresh, int drop_thresh)
   1242{
   1243	return 0;
   1244}
   1245
   1246static inline void *cvmx_fpa_alloc(uint64_t pool)
   1247{
   1248	return NULL;
   1249}
   1250
   1251static inline void cvmx_fpa_free(void *ptr, uint64_t pool,
   1252				 uint64_t num_cache_lines)
   1253{ }
   1254
   1255static inline int octeon_is_simulation(void)
   1256{
   1257	return 1;
   1258}
   1259
   1260static inline void cvmx_pip_get_port_status(uint64_t port_num, uint64_t clear,
   1261					    cvmx_pip_port_status_t *status)
   1262{ }
   1263
   1264static inline void cvmx_pko_get_port_status(uint64_t port_num, uint64_t clear,
   1265					    cvmx_pko_port_status_t *status)
   1266{ }
   1267
   1268static inline cvmx_helper_interface_mode_t cvmx_helper_interface_get_mode(int
   1269								   interface)
   1270{
   1271	return 0;
   1272}
   1273
   1274static inline union cvmx_helper_link_info cvmx_helper_link_get(int ipd_port)
   1275{
   1276	union cvmx_helper_link_info ret = { .u64 = 0 };
   1277
   1278	return ret;
   1279}
   1280
   1281static inline int cvmx_helper_link_set(int ipd_port,
   1282				       union cvmx_helper_link_info link_info)
   1283{
   1284	return 0;
   1285}
   1286
   1287static inline int cvmx_helper_initialize_packet_io_global(void)
   1288{
   1289	return 0;
   1290}
   1291
   1292static inline int cvmx_helper_get_number_of_interfaces(void)
   1293{
   1294	return 2;
   1295}
   1296
   1297static inline int cvmx_helper_ports_on_interface(int interface)
   1298{
   1299	return 1;
   1300}
   1301
   1302static inline int cvmx_helper_get_ipd_port(int interface, int port)
   1303{
   1304	return 0;
   1305}
   1306
   1307static inline int cvmx_helper_ipd_and_packet_input_enable(void)
   1308{
   1309	return 0;
   1310}
   1311
   1312static inline void cvmx_ipd_disable(void)
   1313{ }
   1314
   1315static inline void cvmx_ipd_free_ptr(void)
   1316{ }
   1317
   1318static inline void cvmx_pko_disable(void)
   1319{ }
   1320
   1321static inline void cvmx_pko_shutdown(void)
   1322{ }
   1323
   1324static inline int cvmx_pko_get_base_queue_per_core(int port, int core)
   1325{
   1326	return port;
   1327}
   1328
   1329static inline int cvmx_pko_get_base_queue(int port)
   1330{
   1331	return port;
   1332}
   1333
   1334static inline int cvmx_pko_get_num_queues(int port)
   1335{
   1336	return port;
   1337}
   1338
   1339static inline unsigned int cvmx_get_core_num(void)
   1340{
   1341	return 0;
   1342}
   1343
   1344static inline void cvmx_pow_work_request_async_nocheck(int scr_addr,
   1345						       cvmx_pow_wait_t wait)
   1346{ }
   1347
   1348static inline void cvmx_pow_work_request_async(int scr_addr,
   1349					       cvmx_pow_wait_t wait)
   1350{ }
   1351
   1352static inline struct cvmx_wqe *cvmx_pow_work_response_async(int scr_addr)
   1353{
   1354	struct cvmx_wqe *wqe = (void *)(unsigned long)scr_addr;
   1355
   1356	return wqe;
   1357}
   1358
   1359static inline struct cvmx_wqe *cvmx_pow_work_request_sync(cvmx_pow_wait_t wait)
   1360{
   1361	return (void *)(unsigned long)wait;
   1362}
   1363
   1364static inline int cvmx_spi_restart_interface(int interface,
   1365					cvmx_spi_mode_t mode, int timeout)
   1366{
   1367	return 0;
   1368}
   1369
   1370static inline void cvmx_fau_async_fetch_and_add32(uint64_t scraddr,
   1371						  enum cvmx_fau_reg_32 reg,
   1372						  int32_t value)
   1373{ }
   1374
   1375static inline union cvmx_gmxx_rxx_rx_inbnd cvmx_spi4000_check_speed(
   1376	int interface,
   1377	int port)
   1378{
   1379	union cvmx_gmxx_rxx_rx_inbnd r;
   1380
   1381	r.u64 = 0;
   1382	return r;
   1383}
   1384
   1385static inline void cvmx_pko_send_packet_prepare(uint64_t port, uint64_t queue,
   1386						cvmx_pko_lock_t use_locking)
   1387{ }
   1388
   1389static inline cvmx_pko_status_t cvmx_pko_send_packet_finish(uint64_t port,
   1390		uint64_t queue, union cvmx_pko_command_word0 pko_command,
   1391		union cvmx_buf_ptr packet, cvmx_pko_lock_t use_locking)
   1392{
   1393	return 0;
   1394}
   1395
   1396static inline void cvmx_wqe_set_port(struct cvmx_wqe *work, int port)
   1397{ }
   1398
   1399static inline void cvmx_wqe_set_qos(struct cvmx_wqe *work, int qos)
   1400{ }
   1401
   1402static inline int cvmx_wqe_get_qos(struct cvmx_wqe *work)
   1403{
   1404	return 0;
   1405}
   1406
   1407static inline void cvmx_wqe_set_grp(struct cvmx_wqe *work, int grp)
   1408{ }
   1409
   1410static inline void cvmx_pow_work_submit(struct cvmx_wqe *wqp, uint32_t tag,
   1411					enum cvmx_pow_tag_type tag_type,
   1412					uint64_t qos, uint64_t grp)
   1413{ }
   1414
   1415#define CVMX_ASXX_RX_CLK_SETX(a, b)	((a) + (b))
   1416#define CVMX_ASXX_TX_CLK_SETX(a, b)	((a) + (b))
   1417#define CVMX_CIU_TIMX(a)		(a)
   1418#define CVMX_GMXX_RXX_ADR_CAM0(a, b)	((a) + (b))
   1419#define CVMX_GMXX_RXX_ADR_CAM1(a, b)	((a) + (b))
   1420#define CVMX_GMXX_RXX_ADR_CAM2(a, b)	((a) + (b))
   1421#define CVMX_GMXX_RXX_ADR_CAM3(a, b)	((a) + (b))
   1422#define CVMX_GMXX_RXX_ADR_CAM4(a, b)	((a) + (b))
   1423#define CVMX_GMXX_RXX_ADR_CAM5(a, b)	((a) + (b))
   1424#define CVMX_GMXX_RXX_FRM_CTL(a, b)	((a) + (b))
   1425#define CVMX_GMXX_RXX_INT_REG(a, b)	((a) + (b))
   1426#define CVMX_GMXX_SMACX(a, b)		((a) + (b))
   1427#define CVMX_PIP_PRT_TAGX(a)		(a)
   1428#define CVMX_POW_PP_GRP_MSKX(a)		(a)
   1429#define CVMX_POW_WQ_INT_THRX(a)		(a)
   1430#define CVMX_SPXX_INT_MSK(a)		(a)
   1431#define CVMX_SPXX_INT_REG(a)		(a)
   1432#define CVMX_SSO_PPX_GRP_MSK(a)		(a)
   1433#define CVMX_SSO_WQ_INT_THRX(a)		(a)
   1434#define CVMX_STXX_INT_MSK(a)		(a)
   1435#define CVMX_STXX_INT_REG(a)		(a)