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

cvmx-pko-defs.h (48448B)


      1/***********************license start***************
      2 * Author: Cavium Networks
      3 *
      4 * Contact: support@caviumnetworks.com
      5 * This file is part of the OCTEON SDK
      6 *
      7 * Copyright (c) 2003-2012 Cavium Networks
      8 *
      9 * This file is free software; you can redistribute it and/or modify
     10 * it under the terms of the GNU General Public License, Version 2, as
     11 * published by the Free Software Foundation.
     12 *
     13 * This file is distributed in the hope that it will be useful, but
     14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
     15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
     16 * NONINFRINGEMENT.  See the GNU General Public License for more
     17 * details.
     18 *
     19 * You should have received a copy of the GNU General Public License
     20 * along with this file; if not, write to the Free Software
     21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
     22 * or visit http://www.gnu.org/licenses/.
     23 *
     24 * This file may also be available under a different license from Cavium.
     25 * Contact Cavium Networks for more information
     26 ***********************license end**************************************/
     27
     28#ifndef __CVMX_PKO_DEFS_H__
     29#define __CVMX_PKO_DEFS_H__
     30
     31#define CVMX_PKO_MEM_COUNT0 (CVMX_ADD_IO_SEG(0x0001180050001080ull))
     32#define CVMX_PKO_MEM_COUNT1 (CVMX_ADD_IO_SEG(0x0001180050001088ull))
     33#define CVMX_PKO_MEM_DEBUG0 (CVMX_ADD_IO_SEG(0x0001180050001100ull))
     34#define CVMX_PKO_MEM_DEBUG1 (CVMX_ADD_IO_SEG(0x0001180050001108ull))
     35#define CVMX_PKO_MEM_DEBUG10 (CVMX_ADD_IO_SEG(0x0001180050001150ull))
     36#define CVMX_PKO_MEM_DEBUG11 (CVMX_ADD_IO_SEG(0x0001180050001158ull))
     37#define CVMX_PKO_MEM_DEBUG12 (CVMX_ADD_IO_SEG(0x0001180050001160ull))
     38#define CVMX_PKO_MEM_DEBUG13 (CVMX_ADD_IO_SEG(0x0001180050001168ull))
     39#define CVMX_PKO_MEM_DEBUG14 (CVMX_ADD_IO_SEG(0x0001180050001170ull))
     40#define CVMX_PKO_MEM_DEBUG2 (CVMX_ADD_IO_SEG(0x0001180050001110ull))
     41#define CVMX_PKO_MEM_DEBUG3 (CVMX_ADD_IO_SEG(0x0001180050001118ull))
     42#define CVMX_PKO_MEM_DEBUG4 (CVMX_ADD_IO_SEG(0x0001180050001120ull))
     43#define CVMX_PKO_MEM_DEBUG5 (CVMX_ADD_IO_SEG(0x0001180050001128ull))
     44#define CVMX_PKO_MEM_DEBUG6 (CVMX_ADD_IO_SEG(0x0001180050001130ull))
     45#define CVMX_PKO_MEM_DEBUG7 (CVMX_ADD_IO_SEG(0x0001180050001138ull))
     46#define CVMX_PKO_MEM_DEBUG8 (CVMX_ADD_IO_SEG(0x0001180050001140ull))
     47#define CVMX_PKO_MEM_DEBUG9 (CVMX_ADD_IO_SEG(0x0001180050001148ull))
     48#define CVMX_PKO_MEM_IPORT_PTRS (CVMX_ADD_IO_SEG(0x0001180050001030ull))
     49#define CVMX_PKO_MEM_IPORT_QOS (CVMX_ADD_IO_SEG(0x0001180050001038ull))
     50#define CVMX_PKO_MEM_IQUEUE_PTRS (CVMX_ADD_IO_SEG(0x0001180050001040ull))
     51#define CVMX_PKO_MEM_IQUEUE_QOS (CVMX_ADD_IO_SEG(0x0001180050001048ull))
     52#define CVMX_PKO_MEM_PORT_PTRS (CVMX_ADD_IO_SEG(0x0001180050001010ull))
     53#define CVMX_PKO_MEM_PORT_QOS (CVMX_ADD_IO_SEG(0x0001180050001018ull))
     54#define CVMX_PKO_MEM_PORT_RATE0 (CVMX_ADD_IO_SEG(0x0001180050001020ull))
     55#define CVMX_PKO_MEM_PORT_RATE1 (CVMX_ADD_IO_SEG(0x0001180050001028ull))
     56#define CVMX_PKO_MEM_QUEUE_PTRS (CVMX_ADD_IO_SEG(0x0001180050001000ull))
     57#define CVMX_PKO_MEM_QUEUE_QOS (CVMX_ADD_IO_SEG(0x0001180050001008ull))
     58#define CVMX_PKO_MEM_THROTTLE_INT (CVMX_ADD_IO_SEG(0x0001180050001058ull))
     59#define CVMX_PKO_MEM_THROTTLE_PIPE (CVMX_ADD_IO_SEG(0x0001180050001050ull))
     60#define CVMX_PKO_REG_BIST_RESULT (CVMX_ADD_IO_SEG(0x0001180050000080ull))
     61#define CVMX_PKO_REG_CMD_BUF (CVMX_ADD_IO_SEG(0x0001180050000010ull))
     62#define CVMX_PKO_REG_CRC_CTLX(offset) (CVMX_ADD_IO_SEG(0x0001180050000028ull) + ((offset) & 1) * 8)
     63#define CVMX_PKO_REG_CRC_ENABLE (CVMX_ADD_IO_SEG(0x0001180050000020ull))
     64#define CVMX_PKO_REG_CRC_IVX(offset) (CVMX_ADD_IO_SEG(0x0001180050000038ull) + ((offset) & 1) * 8)
     65#define CVMX_PKO_REG_DEBUG0 (CVMX_ADD_IO_SEG(0x0001180050000098ull))
     66#define CVMX_PKO_REG_DEBUG1 (CVMX_ADD_IO_SEG(0x00011800500000A0ull))
     67#define CVMX_PKO_REG_DEBUG2 (CVMX_ADD_IO_SEG(0x00011800500000A8ull))
     68#define CVMX_PKO_REG_DEBUG3 (CVMX_ADD_IO_SEG(0x00011800500000B0ull))
     69#define CVMX_PKO_REG_DEBUG4 (CVMX_ADD_IO_SEG(0x00011800500000B8ull))
     70#define CVMX_PKO_REG_ENGINE_INFLIGHT (CVMX_ADD_IO_SEG(0x0001180050000050ull))
     71#define CVMX_PKO_REG_ENGINE_INFLIGHT1 (CVMX_ADD_IO_SEG(0x0001180050000318ull))
     72#define CVMX_PKO_REG_ENGINE_STORAGEX(offset) (CVMX_ADD_IO_SEG(0x0001180050000300ull) + ((offset) & 1) * 8)
     73#define CVMX_PKO_REG_ENGINE_THRESH (CVMX_ADD_IO_SEG(0x0001180050000058ull))
     74#define CVMX_PKO_REG_ERROR (CVMX_ADD_IO_SEG(0x0001180050000088ull))
     75#define CVMX_PKO_REG_FLAGS (CVMX_ADD_IO_SEG(0x0001180050000000ull))
     76#define CVMX_PKO_REG_GMX_PORT_MODE (CVMX_ADD_IO_SEG(0x0001180050000018ull))
     77#define CVMX_PKO_REG_INT_MASK (CVMX_ADD_IO_SEG(0x0001180050000090ull))
     78#define CVMX_PKO_REG_LOOPBACK_BPID (CVMX_ADD_IO_SEG(0x0001180050000118ull))
     79#define CVMX_PKO_REG_LOOPBACK_PKIND (CVMX_ADD_IO_SEG(0x0001180050000068ull))
     80#define CVMX_PKO_REG_MIN_PKT (CVMX_ADD_IO_SEG(0x0001180050000070ull))
     81#define CVMX_PKO_REG_PREEMPT (CVMX_ADD_IO_SEG(0x0001180050000110ull))
     82#define CVMX_PKO_REG_QUEUE_MODE (CVMX_ADD_IO_SEG(0x0001180050000048ull))
     83#define CVMX_PKO_REG_QUEUE_PREEMPT (CVMX_ADD_IO_SEG(0x0001180050000108ull))
     84#define CVMX_PKO_REG_QUEUE_PTRS1 (CVMX_ADD_IO_SEG(0x0001180050000100ull))
     85#define CVMX_PKO_REG_READ_IDX (CVMX_ADD_IO_SEG(0x0001180050000008ull))
     86#define CVMX_PKO_REG_THROTTLE (CVMX_ADD_IO_SEG(0x0001180050000078ull))
     87#define CVMX_PKO_REG_TIMESTAMP (CVMX_ADD_IO_SEG(0x0001180050000060ull))
     88
     89union cvmx_pko_mem_count0 {
     90	uint64_t u64;
     91	struct cvmx_pko_mem_count0_s {
     92#ifdef __BIG_ENDIAN_BITFIELD
     93		uint64_t reserved_32_63:32;
     94		uint64_t count:32;
     95#else
     96		uint64_t count:32;
     97		uint64_t reserved_32_63:32;
     98#endif
     99	} s;
    100};
    101
    102union cvmx_pko_mem_count1 {
    103	uint64_t u64;
    104	struct cvmx_pko_mem_count1_s {
    105#ifdef __BIG_ENDIAN_BITFIELD
    106		uint64_t reserved_48_63:16;
    107		uint64_t count:48;
    108#else
    109		uint64_t count:48;
    110		uint64_t reserved_48_63:16;
    111#endif
    112	} s;
    113};
    114
    115union cvmx_pko_mem_debug0 {
    116	uint64_t u64;
    117	struct cvmx_pko_mem_debug0_s {
    118#ifdef __BIG_ENDIAN_BITFIELD
    119		uint64_t fau:28;
    120		uint64_t cmd:14;
    121		uint64_t segs:6;
    122		uint64_t size:16;
    123#else
    124		uint64_t size:16;
    125		uint64_t segs:6;
    126		uint64_t cmd:14;
    127		uint64_t fau:28;
    128#endif
    129	} s;
    130};
    131
    132union cvmx_pko_mem_debug1 {
    133	uint64_t u64;
    134	struct cvmx_pko_mem_debug1_s {
    135#ifdef __BIG_ENDIAN_BITFIELD
    136		uint64_t i:1;
    137		uint64_t back:4;
    138		uint64_t pool:3;
    139		uint64_t size:16;
    140		uint64_t ptr:40;
    141#else
    142		uint64_t ptr:40;
    143		uint64_t size:16;
    144		uint64_t pool:3;
    145		uint64_t back:4;
    146		uint64_t i:1;
    147#endif
    148	} s;
    149};
    150
    151union cvmx_pko_mem_debug10 {
    152	uint64_t u64;
    153	struct cvmx_pko_mem_debug10_s {
    154#ifdef __BIG_ENDIAN_BITFIELD
    155		uint64_t reserved_0_63:64;
    156#else
    157		uint64_t reserved_0_63:64;
    158#endif
    159	} s;
    160	struct cvmx_pko_mem_debug10_cn30xx {
    161#ifdef __BIG_ENDIAN_BITFIELD
    162		uint64_t fau:28;
    163		uint64_t cmd:14;
    164		uint64_t segs:6;
    165		uint64_t size:16;
    166#else
    167		uint64_t size:16;
    168		uint64_t segs:6;
    169		uint64_t cmd:14;
    170		uint64_t fau:28;
    171#endif
    172	} cn30xx;
    173	struct cvmx_pko_mem_debug10_cn50xx {
    174#ifdef __BIG_ENDIAN_BITFIELD
    175		uint64_t reserved_49_63:15;
    176		uint64_t ptrs1:17;
    177		uint64_t reserved_17_31:15;
    178		uint64_t ptrs2:17;
    179#else
    180		uint64_t ptrs2:17;
    181		uint64_t reserved_17_31:15;
    182		uint64_t ptrs1:17;
    183		uint64_t reserved_49_63:15;
    184#endif
    185	} cn50xx;
    186};
    187
    188union cvmx_pko_mem_debug11 {
    189	uint64_t u64;
    190	struct cvmx_pko_mem_debug11_s {
    191#ifdef __BIG_ENDIAN_BITFIELD
    192		uint64_t i:1;
    193		uint64_t back:4;
    194		uint64_t pool:3;
    195		uint64_t size:16;
    196		uint64_t reserved_0_39:40;
    197#else
    198		uint64_t reserved_0_39:40;
    199		uint64_t size:16;
    200		uint64_t pool:3;
    201		uint64_t back:4;
    202		uint64_t i:1;
    203#endif
    204	} s;
    205	struct cvmx_pko_mem_debug11_cn30xx {
    206#ifdef __BIG_ENDIAN_BITFIELD
    207		uint64_t i:1;
    208		uint64_t back:4;
    209		uint64_t pool:3;
    210		uint64_t size:16;
    211		uint64_t ptr:40;
    212#else
    213		uint64_t ptr:40;
    214		uint64_t size:16;
    215		uint64_t pool:3;
    216		uint64_t back:4;
    217		uint64_t i:1;
    218#endif
    219	} cn30xx;
    220	struct cvmx_pko_mem_debug11_cn50xx {
    221#ifdef __BIG_ENDIAN_BITFIELD
    222		uint64_t reserved_23_63:41;
    223		uint64_t maj:1;
    224		uint64_t uid:3;
    225		uint64_t sop:1;
    226		uint64_t len:1;
    227		uint64_t chk:1;
    228		uint64_t cnt:13;
    229		uint64_t mod:3;
    230#else
    231		uint64_t mod:3;
    232		uint64_t cnt:13;
    233		uint64_t chk:1;
    234		uint64_t len:1;
    235		uint64_t sop:1;
    236		uint64_t uid:3;
    237		uint64_t maj:1;
    238		uint64_t reserved_23_63:41;
    239#endif
    240	} cn50xx;
    241};
    242
    243union cvmx_pko_mem_debug12 {
    244	uint64_t u64;
    245	struct cvmx_pko_mem_debug12_s {
    246#ifdef __BIG_ENDIAN_BITFIELD
    247		uint64_t reserved_0_63:64;
    248#else
    249		uint64_t reserved_0_63:64;
    250#endif
    251	} s;
    252	struct cvmx_pko_mem_debug12_cn30xx {
    253#ifdef __BIG_ENDIAN_BITFIELD
    254		uint64_t data:64;
    255#else
    256		uint64_t data:64;
    257#endif
    258	} cn30xx;
    259	struct cvmx_pko_mem_debug12_cn50xx {
    260#ifdef __BIG_ENDIAN_BITFIELD
    261		uint64_t fau:28;
    262		uint64_t cmd:14;
    263		uint64_t segs:6;
    264		uint64_t size:16;
    265#else
    266		uint64_t size:16;
    267		uint64_t segs:6;
    268		uint64_t cmd:14;
    269		uint64_t fau:28;
    270#endif
    271	} cn50xx;
    272	struct cvmx_pko_mem_debug12_cn68xx {
    273#ifdef __BIG_ENDIAN_BITFIELD
    274		uint64_t state:64;
    275#else
    276		uint64_t state:64;
    277#endif
    278	} cn68xx;
    279};
    280
    281union cvmx_pko_mem_debug13 {
    282	uint64_t u64;
    283	struct cvmx_pko_mem_debug13_s {
    284#ifdef __BIG_ENDIAN_BITFIELD
    285		uint64_t reserved_0_63:64;
    286#else
    287		uint64_t reserved_0_63:64;
    288#endif
    289	} s;
    290	struct cvmx_pko_mem_debug13_cn30xx {
    291#ifdef __BIG_ENDIAN_BITFIELD
    292		uint64_t reserved_51_63:13;
    293		uint64_t widx:17;
    294		uint64_t ridx2:17;
    295		uint64_t widx2:17;
    296#else
    297		uint64_t widx2:17;
    298		uint64_t ridx2:17;
    299		uint64_t widx:17;
    300		uint64_t reserved_51_63:13;
    301#endif
    302	} cn30xx;
    303	struct cvmx_pko_mem_debug13_cn50xx {
    304#ifdef __BIG_ENDIAN_BITFIELD
    305		uint64_t i:1;
    306		uint64_t back:4;
    307		uint64_t pool:3;
    308		uint64_t size:16;
    309		uint64_t ptr:40;
    310#else
    311		uint64_t ptr:40;
    312		uint64_t size:16;
    313		uint64_t pool:3;
    314		uint64_t back:4;
    315		uint64_t i:1;
    316#endif
    317	} cn50xx;
    318	struct cvmx_pko_mem_debug13_cn68xx {
    319#ifdef __BIG_ENDIAN_BITFIELD
    320		uint64_t state:64;
    321#else
    322		uint64_t state:64;
    323#endif
    324	} cn68xx;
    325};
    326
    327union cvmx_pko_mem_debug14 {
    328	uint64_t u64;
    329	struct cvmx_pko_mem_debug14_s {
    330#ifdef __BIG_ENDIAN_BITFIELD
    331		uint64_t reserved_0_63:64;
    332#else
    333		uint64_t reserved_0_63:64;
    334#endif
    335	} s;
    336	struct cvmx_pko_mem_debug14_cn30xx {
    337#ifdef __BIG_ENDIAN_BITFIELD
    338		uint64_t reserved_17_63:47;
    339		uint64_t ridx:17;
    340#else
    341		uint64_t ridx:17;
    342		uint64_t reserved_17_63:47;
    343#endif
    344	} cn30xx;
    345	struct cvmx_pko_mem_debug14_cn52xx {
    346#ifdef __BIG_ENDIAN_BITFIELD
    347		uint64_t data:64;
    348#else
    349		uint64_t data:64;
    350#endif
    351	} cn52xx;
    352};
    353
    354union cvmx_pko_mem_debug2 {
    355	uint64_t u64;
    356	struct cvmx_pko_mem_debug2_s {
    357#ifdef __BIG_ENDIAN_BITFIELD
    358		uint64_t i:1;
    359		uint64_t back:4;
    360		uint64_t pool:3;
    361		uint64_t size:16;
    362		uint64_t ptr:40;
    363#else
    364		uint64_t ptr:40;
    365		uint64_t size:16;
    366		uint64_t pool:3;
    367		uint64_t back:4;
    368		uint64_t i:1;
    369#endif
    370	} s;
    371};
    372
    373union cvmx_pko_mem_debug3 {
    374	uint64_t u64;
    375	struct cvmx_pko_mem_debug3_s {
    376#ifdef __BIG_ENDIAN_BITFIELD
    377		uint64_t reserved_0_63:64;
    378#else
    379		uint64_t reserved_0_63:64;
    380#endif
    381	} s;
    382	struct cvmx_pko_mem_debug3_cn30xx {
    383#ifdef __BIG_ENDIAN_BITFIELD
    384		uint64_t i:1;
    385		uint64_t back:4;
    386		uint64_t pool:3;
    387		uint64_t size:16;
    388		uint64_t ptr:40;
    389#else
    390		uint64_t ptr:40;
    391		uint64_t size:16;
    392		uint64_t pool:3;
    393		uint64_t back:4;
    394		uint64_t i:1;
    395#endif
    396	} cn30xx;
    397	struct cvmx_pko_mem_debug3_cn50xx {
    398#ifdef __BIG_ENDIAN_BITFIELD
    399		uint64_t data:64;
    400#else
    401		uint64_t data:64;
    402#endif
    403	} cn50xx;
    404};
    405
    406union cvmx_pko_mem_debug4 {
    407	uint64_t u64;
    408	struct cvmx_pko_mem_debug4_s {
    409#ifdef __BIG_ENDIAN_BITFIELD
    410		uint64_t reserved_0_63:64;
    411#else
    412		uint64_t reserved_0_63:64;
    413#endif
    414	} s;
    415	struct cvmx_pko_mem_debug4_cn30xx {
    416#ifdef __BIG_ENDIAN_BITFIELD
    417		uint64_t data:64;
    418#else
    419		uint64_t data:64;
    420#endif
    421	} cn30xx;
    422	struct cvmx_pko_mem_debug4_cn50xx {
    423#ifdef __BIG_ENDIAN_BITFIELD
    424		uint64_t cmnd_segs:3;
    425		uint64_t cmnd_siz:16;
    426		uint64_t cmnd_off:6;
    427		uint64_t uid:3;
    428		uint64_t dread_sop:1;
    429		uint64_t init_dwrite:1;
    430		uint64_t chk_once:1;
    431		uint64_t chk_mode:1;
    432		uint64_t active:1;
    433		uint64_t static_p:1;
    434		uint64_t qos:3;
    435		uint64_t qcb_ridx:5;
    436		uint64_t qid_off_max:4;
    437		uint64_t qid_off:4;
    438		uint64_t qid_base:8;
    439		uint64_t wait:1;
    440		uint64_t minor:2;
    441		uint64_t major:3;
    442#else
    443		uint64_t major:3;
    444		uint64_t minor:2;
    445		uint64_t wait:1;
    446		uint64_t qid_base:8;
    447		uint64_t qid_off:4;
    448		uint64_t qid_off_max:4;
    449		uint64_t qcb_ridx:5;
    450		uint64_t qos:3;
    451		uint64_t static_p:1;
    452		uint64_t active:1;
    453		uint64_t chk_mode:1;
    454		uint64_t chk_once:1;
    455		uint64_t init_dwrite:1;
    456		uint64_t dread_sop:1;
    457		uint64_t uid:3;
    458		uint64_t cmnd_off:6;
    459		uint64_t cmnd_siz:16;
    460		uint64_t cmnd_segs:3;
    461#endif
    462	} cn50xx;
    463	struct cvmx_pko_mem_debug4_cn52xx {
    464#ifdef __BIG_ENDIAN_BITFIELD
    465		uint64_t curr_siz:8;
    466		uint64_t curr_off:16;
    467		uint64_t cmnd_segs:6;
    468		uint64_t cmnd_siz:16;
    469		uint64_t cmnd_off:6;
    470		uint64_t uid:2;
    471		uint64_t dread_sop:1;
    472		uint64_t init_dwrite:1;
    473		uint64_t chk_once:1;
    474		uint64_t chk_mode:1;
    475		uint64_t wait:1;
    476		uint64_t minor:2;
    477		uint64_t major:3;
    478#else
    479		uint64_t major:3;
    480		uint64_t minor:2;
    481		uint64_t wait:1;
    482		uint64_t chk_mode:1;
    483		uint64_t chk_once:1;
    484		uint64_t init_dwrite:1;
    485		uint64_t dread_sop:1;
    486		uint64_t uid:2;
    487		uint64_t cmnd_off:6;
    488		uint64_t cmnd_siz:16;
    489		uint64_t cmnd_segs:6;
    490		uint64_t curr_off:16;
    491		uint64_t curr_siz:8;
    492#endif
    493	} cn52xx;
    494};
    495
    496union cvmx_pko_mem_debug5 {
    497	uint64_t u64;
    498	struct cvmx_pko_mem_debug5_s {
    499#ifdef __BIG_ENDIAN_BITFIELD
    500		uint64_t reserved_0_63:64;
    501#else
    502		uint64_t reserved_0_63:64;
    503#endif
    504	} s;
    505	struct cvmx_pko_mem_debug5_cn30xx {
    506#ifdef __BIG_ENDIAN_BITFIELD
    507		uint64_t dwri_mod:1;
    508		uint64_t dwri_sop:1;
    509		uint64_t dwri_len:1;
    510		uint64_t dwri_cnt:13;
    511		uint64_t cmnd_siz:16;
    512		uint64_t uid:1;
    513		uint64_t xfer_wor:1;
    514		uint64_t xfer_dwr:1;
    515		uint64_t cbuf_fre:1;
    516		uint64_t reserved_27_27:1;
    517		uint64_t chk_mode:1;
    518		uint64_t active:1;
    519		uint64_t qos:3;
    520		uint64_t qcb_ridx:5;
    521		uint64_t qid_off:3;
    522		uint64_t qid_base:7;
    523		uint64_t wait:1;
    524		uint64_t minor:2;
    525		uint64_t major:4;
    526#else
    527		uint64_t major:4;
    528		uint64_t minor:2;
    529		uint64_t wait:1;
    530		uint64_t qid_base:7;
    531		uint64_t qid_off:3;
    532		uint64_t qcb_ridx:5;
    533		uint64_t qos:3;
    534		uint64_t active:1;
    535		uint64_t chk_mode:1;
    536		uint64_t reserved_27_27:1;
    537		uint64_t cbuf_fre:1;
    538		uint64_t xfer_dwr:1;
    539		uint64_t xfer_wor:1;
    540		uint64_t uid:1;
    541		uint64_t cmnd_siz:16;
    542		uint64_t dwri_cnt:13;
    543		uint64_t dwri_len:1;
    544		uint64_t dwri_sop:1;
    545		uint64_t dwri_mod:1;
    546#endif
    547	} cn30xx;
    548	struct cvmx_pko_mem_debug5_cn50xx {
    549#ifdef __BIG_ENDIAN_BITFIELD
    550		uint64_t curr_ptr:29;
    551		uint64_t curr_siz:16;
    552		uint64_t curr_off:16;
    553		uint64_t cmnd_segs:3;
    554#else
    555		uint64_t cmnd_segs:3;
    556		uint64_t curr_off:16;
    557		uint64_t curr_siz:16;
    558		uint64_t curr_ptr:29;
    559#endif
    560	} cn50xx;
    561	struct cvmx_pko_mem_debug5_cn52xx {
    562#ifdef __BIG_ENDIAN_BITFIELD
    563		uint64_t reserved_54_63:10;
    564		uint64_t nxt_inflt:6;
    565		uint64_t curr_ptr:40;
    566		uint64_t curr_siz:8;
    567#else
    568		uint64_t curr_siz:8;
    569		uint64_t curr_ptr:40;
    570		uint64_t nxt_inflt:6;
    571		uint64_t reserved_54_63:10;
    572#endif
    573	} cn52xx;
    574	struct cvmx_pko_mem_debug5_cn61xx {
    575#ifdef __BIG_ENDIAN_BITFIELD
    576		uint64_t reserved_56_63:8;
    577		uint64_t ptp:1;
    578		uint64_t major_3:1;
    579		uint64_t nxt_inflt:6;
    580		uint64_t curr_ptr:40;
    581		uint64_t curr_siz:8;
    582#else
    583		uint64_t curr_siz:8;
    584		uint64_t curr_ptr:40;
    585		uint64_t nxt_inflt:6;
    586		uint64_t major_3:1;
    587		uint64_t ptp:1;
    588		uint64_t reserved_56_63:8;
    589#endif
    590	} cn61xx;
    591	struct cvmx_pko_mem_debug5_cn68xx {
    592#ifdef __BIG_ENDIAN_BITFIELD
    593		uint64_t reserved_57_63:7;
    594		uint64_t uid_2:1;
    595		uint64_t ptp:1;
    596		uint64_t major_3:1;
    597		uint64_t nxt_inflt:6;
    598		uint64_t curr_ptr:40;
    599		uint64_t curr_siz:8;
    600#else
    601		uint64_t curr_siz:8;
    602		uint64_t curr_ptr:40;
    603		uint64_t nxt_inflt:6;
    604		uint64_t major_3:1;
    605		uint64_t ptp:1;
    606		uint64_t uid_2:1;
    607		uint64_t reserved_57_63:7;
    608#endif
    609	} cn68xx;
    610};
    611
    612union cvmx_pko_mem_debug6 {
    613	uint64_t u64;
    614	struct cvmx_pko_mem_debug6_s {
    615#ifdef __BIG_ENDIAN_BITFIELD
    616		uint64_t reserved_37_63:27;
    617		uint64_t qid_offres:4;
    618		uint64_t qid_offths:4;
    619		uint64_t preempter:1;
    620		uint64_t preemptee:1;
    621		uint64_t preempted:1;
    622		uint64_t active:1;
    623		uint64_t statc:1;
    624		uint64_t qos:3;
    625		uint64_t qcb_ridx:5;
    626		uint64_t qid_offmax:4;
    627		uint64_t reserved_0_11:12;
    628#else
    629		uint64_t reserved_0_11:12;
    630		uint64_t qid_offmax:4;
    631		uint64_t qcb_ridx:5;
    632		uint64_t qos:3;
    633		uint64_t statc:1;
    634		uint64_t active:1;
    635		uint64_t preempted:1;
    636		uint64_t preemptee:1;
    637		uint64_t preempter:1;
    638		uint64_t qid_offths:4;
    639		uint64_t qid_offres:4;
    640		uint64_t reserved_37_63:27;
    641#endif
    642	} s;
    643	struct cvmx_pko_mem_debug6_cn30xx {
    644#ifdef __BIG_ENDIAN_BITFIELD
    645		uint64_t reserved_11_63:53;
    646		uint64_t qid_offm:3;
    647		uint64_t static_p:1;
    648		uint64_t work_min:3;
    649		uint64_t dwri_chk:1;
    650		uint64_t dwri_uid:1;
    651		uint64_t dwri_mod:2;
    652#else
    653		uint64_t dwri_mod:2;
    654		uint64_t dwri_uid:1;
    655		uint64_t dwri_chk:1;
    656		uint64_t work_min:3;
    657		uint64_t static_p:1;
    658		uint64_t qid_offm:3;
    659		uint64_t reserved_11_63:53;
    660#endif
    661	} cn30xx;
    662	struct cvmx_pko_mem_debug6_cn50xx {
    663#ifdef __BIG_ENDIAN_BITFIELD
    664		uint64_t reserved_11_63:53;
    665		uint64_t curr_ptr:11;
    666#else
    667		uint64_t curr_ptr:11;
    668		uint64_t reserved_11_63:53;
    669#endif
    670	} cn50xx;
    671	struct cvmx_pko_mem_debug6_cn52xx {
    672#ifdef __BIG_ENDIAN_BITFIELD
    673		uint64_t reserved_37_63:27;
    674		uint64_t qid_offres:4;
    675		uint64_t qid_offths:4;
    676		uint64_t preempter:1;
    677		uint64_t preemptee:1;
    678		uint64_t preempted:1;
    679		uint64_t active:1;
    680		uint64_t statc:1;
    681		uint64_t qos:3;
    682		uint64_t qcb_ridx:5;
    683		uint64_t qid_offmax:4;
    684		uint64_t qid_off:4;
    685		uint64_t qid_base:8;
    686#else
    687		uint64_t qid_base:8;
    688		uint64_t qid_off:4;
    689		uint64_t qid_offmax:4;
    690		uint64_t qcb_ridx:5;
    691		uint64_t qos:3;
    692		uint64_t statc:1;
    693		uint64_t active:1;
    694		uint64_t preempted:1;
    695		uint64_t preemptee:1;
    696		uint64_t preempter:1;
    697		uint64_t qid_offths:4;
    698		uint64_t qid_offres:4;
    699		uint64_t reserved_37_63:27;
    700#endif
    701	} cn52xx;
    702};
    703
    704union cvmx_pko_mem_debug7 {
    705	uint64_t u64;
    706	struct cvmx_pko_mem_debug7_s {
    707#ifdef __BIG_ENDIAN_BITFIELD
    708		uint64_t reserved_0_63:64;
    709#else
    710		uint64_t reserved_0_63:64;
    711#endif
    712	} s;
    713	struct cvmx_pko_mem_debug7_cn30xx {
    714#ifdef __BIG_ENDIAN_BITFIELD
    715		uint64_t reserved_58_63:6;
    716		uint64_t dwb:9;
    717		uint64_t start:33;
    718		uint64_t size:16;
    719#else
    720		uint64_t size:16;
    721		uint64_t start:33;
    722		uint64_t dwb:9;
    723		uint64_t reserved_58_63:6;
    724#endif
    725	} cn30xx;
    726	struct cvmx_pko_mem_debug7_cn50xx {
    727#ifdef __BIG_ENDIAN_BITFIELD
    728		uint64_t qos:5;
    729		uint64_t tail:1;
    730		uint64_t buf_siz:13;
    731		uint64_t buf_ptr:33;
    732		uint64_t qcb_widx:6;
    733		uint64_t qcb_ridx:6;
    734#else
    735		uint64_t qcb_ridx:6;
    736		uint64_t qcb_widx:6;
    737		uint64_t buf_ptr:33;
    738		uint64_t buf_siz:13;
    739		uint64_t tail:1;
    740		uint64_t qos:5;
    741#endif
    742	} cn50xx;
    743	struct cvmx_pko_mem_debug7_cn68xx {
    744#ifdef __BIG_ENDIAN_BITFIELD
    745		uint64_t qos:3;
    746		uint64_t tail:1;
    747		uint64_t buf_siz:13;
    748		uint64_t buf_ptr:33;
    749		uint64_t qcb_widx:7;
    750		uint64_t qcb_ridx:7;
    751#else
    752		uint64_t qcb_ridx:7;
    753		uint64_t qcb_widx:7;
    754		uint64_t buf_ptr:33;
    755		uint64_t buf_siz:13;
    756		uint64_t tail:1;
    757		uint64_t qos:3;
    758#endif
    759	} cn68xx;
    760};
    761
    762union cvmx_pko_mem_debug8 {
    763	uint64_t u64;
    764	struct cvmx_pko_mem_debug8_s {
    765#ifdef __BIG_ENDIAN_BITFIELD
    766		uint64_t reserved_59_63:5;
    767		uint64_t tail:1;
    768		uint64_t buf_siz:13;
    769		uint64_t reserved_0_44:45;
    770#else
    771		uint64_t reserved_0_44:45;
    772		uint64_t buf_siz:13;
    773		uint64_t tail:1;
    774		uint64_t reserved_59_63:5;
    775#endif
    776	} s;
    777	struct cvmx_pko_mem_debug8_cn30xx {
    778#ifdef __BIG_ENDIAN_BITFIELD
    779		uint64_t qos:5;
    780		uint64_t tail:1;
    781		uint64_t buf_siz:13;
    782		uint64_t buf_ptr:33;
    783		uint64_t qcb_widx:6;
    784		uint64_t qcb_ridx:6;
    785#else
    786		uint64_t qcb_ridx:6;
    787		uint64_t qcb_widx:6;
    788		uint64_t buf_ptr:33;
    789		uint64_t buf_siz:13;
    790		uint64_t tail:1;
    791		uint64_t qos:5;
    792#endif
    793	} cn30xx;
    794	struct cvmx_pko_mem_debug8_cn50xx {
    795#ifdef __BIG_ENDIAN_BITFIELD
    796		uint64_t reserved_28_63:36;
    797		uint64_t doorbell:20;
    798		uint64_t reserved_6_7:2;
    799		uint64_t static_p:1;
    800		uint64_t s_tail:1;
    801		uint64_t static_q:1;
    802		uint64_t qos:3;
    803#else
    804		uint64_t qos:3;
    805		uint64_t static_q:1;
    806		uint64_t s_tail:1;
    807		uint64_t static_p:1;
    808		uint64_t reserved_6_7:2;
    809		uint64_t doorbell:20;
    810		uint64_t reserved_28_63:36;
    811#endif
    812	} cn50xx;
    813	struct cvmx_pko_mem_debug8_cn52xx {
    814#ifdef __BIG_ENDIAN_BITFIELD
    815		uint64_t reserved_29_63:35;
    816		uint64_t preempter:1;
    817		uint64_t doorbell:20;
    818		uint64_t reserved_7_7:1;
    819		uint64_t preemptee:1;
    820		uint64_t static_p:1;
    821		uint64_t s_tail:1;
    822		uint64_t static_q:1;
    823		uint64_t qos:3;
    824#else
    825		uint64_t qos:3;
    826		uint64_t static_q:1;
    827		uint64_t s_tail:1;
    828		uint64_t static_p:1;
    829		uint64_t preemptee:1;
    830		uint64_t reserved_7_7:1;
    831		uint64_t doorbell:20;
    832		uint64_t preempter:1;
    833		uint64_t reserved_29_63:35;
    834#endif
    835	} cn52xx;
    836	struct cvmx_pko_mem_debug8_cn61xx {
    837#ifdef __BIG_ENDIAN_BITFIELD
    838		uint64_t reserved_42_63:22;
    839		uint64_t qid_qqos:8;
    840		uint64_t reserved_33_33:1;
    841		uint64_t qid_idx:4;
    842		uint64_t preempter:1;
    843		uint64_t doorbell:20;
    844		uint64_t reserved_7_7:1;
    845		uint64_t preemptee:1;
    846		uint64_t static_p:1;
    847		uint64_t s_tail:1;
    848		uint64_t static_q:1;
    849		uint64_t qos:3;
    850#else
    851		uint64_t qos:3;
    852		uint64_t static_q:1;
    853		uint64_t s_tail:1;
    854		uint64_t static_p:1;
    855		uint64_t preemptee:1;
    856		uint64_t reserved_7_7:1;
    857		uint64_t doorbell:20;
    858		uint64_t preempter:1;
    859		uint64_t qid_idx:4;
    860		uint64_t reserved_33_33:1;
    861		uint64_t qid_qqos:8;
    862		uint64_t reserved_42_63:22;
    863#endif
    864	} cn61xx;
    865	struct cvmx_pko_mem_debug8_cn68xx {
    866#ifdef __BIG_ENDIAN_BITFIELD
    867		uint64_t reserved_37_63:27;
    868		uint64_t preempter:1;
    869		uint64_t doorbell:20;
    870		uint64_t reserved_9_15:7;
    871		uint64_t preemptee:1;
    872		uint64_t static_p:1;
    873		uint64_t s_tail:1;
    874		uint64_t static_q:1;
    875		uint64_t qos:5;
    876#else
    877		uint64_t qos:5;
    878		uint64_t static_q:1;
    879		uint64_t s_tail:1;
    880		uint64_t static_p:1;
    881		uint64_t preemptee:1;
    882		uint64_t reserved_9_15:7;
    883		uint64_t doorbell:20;
    884		uint64_t preempter:1;
    885		uint64_t reserved_37_63:27;
    886#endif
    887	} cn68xx;
    888};
    889
    890union cvmx_pko_mem_debug9 {
    891	uint64_t u64;
    892	struct cvmx_pko_mem_debug9_s {
    893#ifdef __BIG_ENDIAN_BITFIELD
    894		uint64_t reserved_49_63:15;
    895		uint64_t ptrs0:17;
    896		uint64_t reserved_0_31:32;
    897#else
    898		uint64_t reserved_0_31:32;
    899		uint64_t ptrs0:17;
    900		uint64_t reserved_49_63:15;
    901#endif
    902	} s;
    903	struct cvmx_pko_mem_debug9_cn30xx {
    904#ifdef __BIG_ENDIAN_BITFIELD
    905		uint64_t reserved_28_63:36;
    906		uint64_t doorbell:20;
    907		uint64_t reserved_5_7:3;
    908		uint64_t s_tail:1;
    909		uint64_t static_q:1;
    910		uint64_t qos:3;
    911#else
    912		uint64_t qos:3;
    913		uint64_t static_q:1;
    914		uint64_t s_tail:1;
    915		uint64_t reserved_5_7:3;
    916		uint64_t doorbell:20;
    917		uint64_t reserved_28_63:36;
    918#endif
    919	} cn30xx;
    920	struct cvmx_pko_mem_debug9_cn38xx {
    921#ifdef __BIG_ENDIAN_BITFIELD
    922		uint64_t reserved_28_63:36;
    923		uint64_t doorbell:20;
    924		uint64_t reserved_6_7:2;
    925		uint64_t static_p:1;
    926		uint64_t s_tail:1;
    927		uint64_t static_q:1;
    928		uint64_t qos:3;
    929#else
    930		uint64_t qos:3;
    931		uint64_t static_q:1;
    932		uint64_t s_tail:1;
    933		uint64_t static_p:1;
    934		uint64_t reserved_6_7:2;
    935		uint64_t doorbell:20;
    936		uint64_t reserved_28_63:36;
    937#endif
    938	} cn38xx;
    939	struct cvmx_pko_mem_debug9_cn50xx {
    940#ifdef __BIG_ENDIAN_BITFIELD
    941		uint64_t reserved_49_63:15;
    942		uint64_t ptrs0:17;
    943		uint64_t reserved_17_31:15;
    944		uint64_t ptrs3:17;
    945#else
    946		uint64_t ptrs3:17;
    947		uint64_t reserved_17_31:15;
    948		uint64_t ptrs0:17;
    949		uint64_t reserved_49_63:15;
    950#endif
    951	} cn50xx;
    952};
    953
    954union cvmx_pko_mem_iport_ptrs {
    955	uint64_t u64;
    956	struct cvmx_pko_mem_iport_ptrs_s {
    957#ifdef __BIG_ENDIAN_BITFIELD
    958		uint64_t reserved_63_63:1;
    959		uint64_t crc:1;
    960		uint64_t static_p:1;
    961		uint64_t qos_mask:8;
    962		uint64_t min_pkt:3;
    963		uint64_t reserved_31_49:19;
    964		uint64_t pipe:7;
    965		uint64_t reserved_21_23:3;
    966		uint64_t intr:5;
    967		uint64_t reserved_13_15:3;
    968		uint64_t eid:5;
    969		uint64_t reserved_7_7:1;
    970		uint64_t ipid:7;
    971#else
    972		uint64_t ipid:7;
    973		uint64_t reserved_7_7:1;
    974		uint64_t eid:5;
    975		uint64_t reserved_13_15:3;
    976		uint64_t intr:5;
    977		uint64_t reserved_21_23:3;
    978		uint64_t pipe:7;
    979		uint64_t reserved_31_49:19;
    980		uint64_t min_pkt:3;
    981		uint64_t qos_mask:8;
    982		uint64_t static_p:1;
    983		uint64_t crc:1;
    984		uint64_t reserved_63_63:1;
    985#endif
    986	} s;
    987};
    988
    989union cvmx_pko_mem_iport_qos {
    990	uint64_t u64;
    991	struct cvmx_pko_mem_iport_qos_s {
    992#ifdef __BIG_ENDIAN_BITFIELD
    993		uint64_t reserved_61_63:3;
    994		uint64_t qos_mask:8;
    995		uint64_t reserved_13_52:40;
    996		uint64_t eid:5;
    997		uint64_t reserved_7_7:1;
    998		uint64_t ipid:7;
    999#else
   1000		uint64_t ipid:7;
   1001		uint64_t reserved_7_7:1;
   1002		uint64_t eid:5;
   1003		uint64_t reserved_13_52:40;
   1004		uint64_t qos_mask:8;
   1005		uint64_t reserved_61_63:3;
   1006#endif
   1007	} s;
   1008};
   1009
   1010union cvmx_pko_mem_iqueue_ptrs {
   1011	uint64_t u64;
   1012	struct cvmx_pko_mem_iqueue_ptrs_s {
   1013#ifdef __BIG_ENDIAN_BITFIELD
   1014		uint64_t s_tail:1;
   1015		uint64_t static_p:1;
   1016		uint64_t static_q:1;
   1017		uint64_t qos_mask:8;
   1018		uint64_t buf_ptr:31;
   1019		uint64_t tail:1;
   1020		uint64_t index:5;
   1021		uint64_t reserved_15_15:1;
   1022		uint64_t ipid:7;
   1023		uint64_t qid:8;
   1024#else
   1025		uint64_t qid:8;
   1026		uint64_t ipid:7;
   1027		uint64_t reserved_15_15:1;
   1028		uint64_t index:5;
   1029		uint64_t tail:1;
   1030		uint64_t buf_ptr:31;
   1031		uint64_t qos_mask:8;
   1032		uint64_t static_q:1;
   1033		uint64_t static_p:1;
   1034		uint64_t s_tail:1;
   1035#endif
   1036	} s;
   1037};
   1038
   1039union cvmx_pko_mem_iqueue_qos {
   1040	uint64_t u64;
   1041	struct cvmx_pko_mem_iqueue_qos_s {
   1042#ifdef __BIG_ENDIAN_BITFIELD
   1043		uint64_t reserved_61_63:3;
   1044		uint64_t qos_mask:8;
   1045		uint64_t reserved_15_52:38;
   1046		uint64_t ipid:7;
   1047		uint64_t qid:8;
   1048#else
   1049		uint64_t qid:8;
   1050		uint64_t ipid:7;
   1051		uint64_t reserved_15_52:38;
   1052		uint64_t qos_mask:8;
   1053		uint64_t reserved_61_63:3;
   1054#endif
   1055	} s;
   1056};
   1057
   1058union cvmx_pko_mem_port_ptrs {
   1059	uint64_t u64;
   1060	struct cvmx_pko_mem_port_ptrs_s {
   1061#ifdef __BIG_ENDIAN_BITFIELD
   1062		uint64_t reserved_62_63:2;
   1063		uint64_t static_p:1;
   1064		uint64_t qos_mask:8;
   1065		uint64_t reserved_16_52:37;
   1066		uint64_t bp_port:6;
   1067		uint64_t eid:4;
   1068		uint64_t pid:6;
   1069#else
   1070		uint64_t pid:6;
   1071		uint64_t eid:4;
   1072		uint64_t bp_port:6;
   1073		uint64_t reserved_16_52:37;
   1074		uint64_t qos_mask:8;
   1075		uint64_t static_p:1;
   1076		uint64_t reserved_62_63:2;
   1077#endif
   1078	} s;
   1079};
   1080
   1081union cvmx_pko_mem_port_qos {
   1082	uint64_t u64;
   1083	struct cvmx_pko_mem_port_qos_s {
   1084#ifdef __BIG_ENDIAN_BITFIELD
   1085		uint64_t reserved_61_63:3;
   1086		uint64_t qos_mask:8;
   1087		uint64_t reserved_10_52:43;
   1088		uint64_t eid:4;
   1089		uint64_t pid:6;
   1090#else
   1091		uint64_t pid:6;
   1092		uint64_t eid:4;
   1093		uint64_t reserved_10_52:43;
   1094		uint64_t qos_mask:8;
   1095		uint64_t reserved_61_63:3;
   1096#endif
   1097	} s;
   1098};
   1099
   1100union cvmx_pko_mem_port_rate0 {
   1101	uint64_t u64;
   1102	struct cvmx_pko_mem_port_rate0_s {
   1103#ifdef __BIG_ENDIAN_BITFIELD
   1104		uint64_t reserved_51_63:13;
   1105		uint64_t rate_word:19;
   1106		uint64_t rate_pkt:24;
   1107		uint64_t reserved_7_7:1;
   1108		uint64_t pid:7;
   1109#else
   1110		uint64_t pid:7;
   1111		uint64_t reserved_7_7:1;
   1112		uint64_t rate_pkt:24;
   1113		uint64_t rate_word:19;
   1114		uint64_t reserved_51_63:13;
   1115#endif
   1116	} s;
   1117	struct cvmx_pko_mem_port_rate0_cn52xx {
   1118#ifdef __BIG_ENDIAN_BITFIELD
   1119		uint64_t reserved_51_63:13;
   1120		uint64_t rate_word:19;
   1121		uint64_t rate_pkt:24;
   1122		uint64_t reserved_6_7:2;
   1123		uint64_t pid:6;
   1124#else
   1125		uint64_t pid:6;
   1126		uint64_t reserved_6_7:2;
   1127		uint64_t rate_pkt:24;
   1128		uint64_t rate_word:19;
   1129		uint64_t reserved_51_63:13;
   1130#endif
   1131	} cn52xx;
   1132};
   1133
   1134union cvmx_pko_mem_port_rate1 {
   1135	uint64_t u64;
   1136	struct cvmx_pko_mem_port_rate1_s {
   1137#ifdef __BIG_ENDIAN_BITFIELD
   1138		uint64_t reserved_32_63:32;
   1139		uint64_t rate_lim:24;
   1140		uint64_t reserved_7_7:1;
   1141		uint64_t pid:7;
   1142#else
   1143		uint64_t pid:7;
   1144		uint64_t reserved_7_7:1;
   1145		uint64_t rate_lim:24;
   1146		uint64_t reserved_32_63:32;
   1147#endif
   1148	} s;
   1149	struct cvmx_pko_mem_port_rate1_cn52xx {
   1150#ifdef __BIG_ENDIAN_BITFIELD
   1151		uint64_t reserved_32_63:32;
   1152		uint64_t rate_lim:24;
   1153		uint64_t reserved_6_7:2;
   1154		uint64_t pid:6;
   1155#else
   1156		uint64_t pid:6;
   1157		uint64_t reserved_6_7:2;
   1158		uint64_t rate_lim:24;
   1159		uint64_t reserved_32_63:32;
   1160#endif
   1161	} cn52xx;
   1162};
   1163
   1164union cvmx_pko_mem_queue_ptrs {
   1165	uint64_t u64;
   1166	struct cvmx_pko_mem_queue_ptrs_s {
   1167#ifdef __BIG_ENDIAN_BITFIELD
   1168		uint64_t s_tail:1;
   1169		uint64_t static_p:1;
   1170		uint64_t static_q:1;
   1171		uint64_t qos_mask:8;
   1172		uint64_t buf_ptr:36;
   1173		uint64_t tail:1;
   1174		uint64_t index:3;
   1175		uint64_t port:6;
   1176		uint64_t queue:7;
   1177#else
   1178		uint64_t queue:7;
   1179		uint64_t port:6;
   1180		uint64_t index:3;
   1181		uint64_t tail:1;
   1182		uint64_t buf_ptr:36;
   1183		uint64_t qos_mask:8;
   1184		uint64_t static_q:1;
   1185		uint64_t static_p:1;
   1186		uint64_t s_tail:1;
   1187#endif
   1188	} s;
   1189};
   1190
   1191union cvmx_pko_mem_queue_qos {
   1192	uint64_t u64;
   1193	struct cvmx_pko_mem_queue_qos_s {
   1194#ifdef __BIG_ENDIAN_BITFIELD
   1195		uint64_t reserved_61_63:3;
   1196		uint64_t qos_mask:8;
   1197		uint64_t reserved_13_52:40;
   1198		uint64_t pid:6;
   1199		uint64_t qid:7;
   1200#else
   1201		uint64_t qid:7;
   1202		uint64_t pid:6;
   1203		uint64_t reserved_13_52:40;
   1204		uint64_t qos_mask:8;
   1205		uint64_t reserved_61_63:3;
   1206#endif
   1207	} s;
   1208};
   1209
   1210union cvmx_pko_mem_throttle_int {
   1211	uint64_t u64;
   1212	struct cvmx_pko_mem_throttle_int_s {
   1213#ifdef __BIG_ENDIAN_BITFIELD
   1214		uint64_t reserved_47_63:17;
   1215		uint64_t word:15;
   1216		uint64_t reserved_14_31:18;
   1217		uint64_t packet:6;
   1218		uint64_t reserved_5_7:3;
   1219		uint64_t intr:5;
   1220#else
   1221		uint64_t intr:5;
   1222		uint64_t reserved_5_7:3;
   1223		uint64_t packet:6;
   1224		uint64_t reserved_14_31:18;
   1225		uint64_t word:15;
   1226		uint64_t reserved_47_63:17;
   1227#endif
   1228	} s;
   1229};
   1230
   1231union cvmx_pko_mem_throttle_pipe {
   1232	uint64_t u64;
   1233	struct cvmx_pko_mem_throttle_pipe_s {
   1234#ifdef __BIG_ENDIAN_BITFIELD
   1235		uint64_t reserved_47_63:17;
   1236		uint64_t word:15;
   1237		uint64_t reserved_14_31:18;
   1238		uint64_t packet:6;
   1239		uint64_t reserved_7_7:1;
   1240		uint64_t pipe:7;
   1241#else
   1242		uint64_t pipe:7;
   1243		uint64_t reserved_7_7:1;
   1244		uint64_t packet:6;
   1245		uint64_t reserved_14_31:18;
   1246		uint64_t word:15;
   1247		uint64_t reserved_47_63:17;
   1248#endif
   1249	} s;
   1250};
   1251
   1252union cvmx_pko_reg_bist_result {
   1253	uint64_t u64;
   1254	struct cvmx_pko_reg_bist_result_s {
   1255#ifdef __BIG_ENDIAN_BITFIELD
   1256		uint64_t reserved_0_63:64;
   1257#else
   1258		uint64_t reserved_0_63:64;
   1259#endif
   1260	} s;
   1261	struct cvmx_pko_reg_bist_result_cn30xx {
   1262#ifdef __BIG_ENDIAN_BITFIELD
   1263		uint64_t reserved_27_63:37;
   1264		uint64_t psb2:5;
   1265		uint64_t count:1;
   1266		uint64_t rif:1;
   1267		uint64_t wif:1;
   1268		uint64_t ncb:1;
   1269		uint64_t out:1;
   1270		uint64_t crc:1;
   1271		uint64_t chk:1;
   1272		uint64_t qsb:2;
   1273		uint64_t qcb:2;
   1274		uint64_t pdb:4;
   1275		uint64_t psb:7;
   1276#else
   1277		uint64_t psb:7;
   1278		uint64_t pdb:4;
   1279		uint64_t qcb:2;
   1280		uint64_t qsb:2;
   1281		uint64_t chk:1;
   1282		uint64_t crc:1;
   1283		uint64_t out:1;
   1284		uint64_t ncb:1;
   1285		uint64_t wif:1;
   1286		uint64_t rif:1;
   1287		uint64_t count:1;
   1288		uint64_t psb2:5;
   1289		uint64_t reserved_27_63:37;
   1290#endif
   1291	} cn30xx;
   1292	struct cvmx_pko_reg_bist_result_cn50xx {
   1293#ifdef __BIG_ENDIAN_BITFIELD
   1294		uint64_t reserved_33_63:31;
   1295		uint64_t csr:1;
   1296		uint64_t iob:1;
   1297		uint64_t out_crc:1;
   1298		uint64_t out_ctl:3;
   1299		uint64_t out_sta:1;
   1300		uint64_t out_wif:1;
   1301		uint64_t prt_chk:3;
   1302		uint64_t prt_nxt:1;
   1303		uint64_t prt_psb:6;
   1304		uint64_t ncb_inb:2;
   1305		uint64_t prt_qcb:2;
   1306		uint64_t prt_qsb:3;
   1307		uint64_t dat_dat:4;
   1308		uint64_t dat_ptr:4;
   1309#else
   1310		uint64_t dat_ptr:4;
   1311		uint64_t dat_dat:4;
   1312		uint64_t prt_qsb:3;
   1313		uint64_t prt_qcb:2;
   1314		uint64_t ncb_inb:2;
   1315		uint64_t prt_psb:6;
   1316		uint64_t prt_nxt:1;
   1317		uint64_t prt_chk:3;
   1318		uint64_t out_wif:1;
   1319		uint64_t out_sta:1;
   1320		uint64_t out_ctl:3;
   1321		uint64_t out_crc:1;
   1322		uint64_t iob:1;
   1323		uint64_t csr:1;
   1324		uint64_t reserved_33_63:31;
   1325#endif
   1326	} cn50xx;
   1327	struct cvmx_pko_reg_bist_result_cn52xx {
   1328#ifdef __BIG_ENDIAN_BITFIELD
   1329		uint64_t reserved_35_63:29;
   1330		uint64_t csr:1;
   1331		uint64_t iob:1;
   1332		uint64_t out_dat:1;
   1333		uint64_t out_ctl:3;
   1334		uint64_t out_sta:1;
   1335		uint64_t out_wif:1;
   1336		uint64_t prt_chk:3;
   1337		uint64_t prt_nxt:1;
   1338		uint64_t prt_psb:8;
   1339		uint64_t ncb_inb:2;
   1340		uint64_t prt_qcb:2;
   1341		uint64_t prt_qsb:3;
   1342		uint64_t prt_ctl:2;
   1343		uint64_t dat_dat:2;
   1344		uint64_t dat_ptr:4;
   1345#else
   1346		uint64_t dat_ptr:4;
   1347		uint64_t dat_dat:2;
   1348		uint64_t prt_ctl:2;
   1349		uint64_t prt_qsb:3;
   1350		uint64_t prt_qcb:2;
   1351		uint64_t ncb_inb:2;
   1352		uint64_t prt_psb:8;
   1353		uint64_t prt_nxt:1;
   1354		uint64_t prt_chk:3;
   1355		uint64_t out_wif:1;
   1356		uint64_t out_sta:1;
   1357		uint64_t out_ctl:3;
   1358		uint64_t out_dat:1;
   1359		uint64_t iob:1;
   1360		uint64_t csr:1;
   1361		uint64_t reserved_35_63:29;
   1362#endif
   1363	} cn52xx;
   1364	struct cvmx_pko_reg_bist_result_cn68xx {
   1365#ifdef __BIG_ENDIAN_BITFIELD
   1366		uint64_t reserved_36_63:28;
   1367		uint64_t crc:1;
   1368		uint64_t csr:1;
   1369		uint64_t iob:1;
   1370		uint64_t out_dat:1;
   1371		uint64_t reserved_31_31:1;
   1372		uint64_t out_ctl:2;
   1373		uint64_t out_sta:1;
   1374		uint64_t out_wif:1;
   1375		uint64_t prt_chk:3;
   1376		uint64_t prt_nxt:1;
   1377		uint64_t prt_psb7:1;
   1378		uint64_t reserved_21_21:1;
   1379		uint64_t prt_psb:6;
   1380		uint64_t ncb_inb:2;
   1381		uint64_t prt_qcb:2;
   1382		uint64_t prt_qsb:3;
   1383		uint64_t prt_ctl:2;
   1384		uint64_t dat_dat:2;
   1385		uint64_t dat_ptr:4;
   1386#else
   1387		uint64_t dat_ptr:4;
   1388		uint64_t dat_dat:2;
   1389		uint64_t prt_ctl:2;
   1390		uint64_t prt_qsb:3;
   1391		uint64_t prt_qcb:2;
   1392		uint64_t ncb_inb:2;
   1393		uint64_t prt_psb:6;
   1394		uint64_t reserved_21_21:1;
   1395		uint64_t prt_psb7:1;
   1396		uint64_t prt_nxt:1;
   1397		uint64_t prt_chk:3;
   1398		uint64_t out_wif:1;
   1399		uint64_t out_sta:1;
   1400		uint64_t out_ctl:2;
   1401		uint64_t reserved_31_31:1;
   1402		uint64_t out_dat:1;
   1403		uint64_t iob:1;
   1404		uint64_t csr:1;
   1405		uint64_t crc:1;
   1406		uint64_t reserved_36_63:28;
   1407#endif
   1408	} cn68xx;
   1409	struct cvmx_pko_reg_bist_result_cn68xxp1 {
   1410#ifdef __BIG_ENDIAN_BITFIELD
   1411		uint64_t reserved_35_63:29;
   1412		uint64_t csr:1;
   1413		uint64_t iob:1;
   1414		uint64_t out_dat:1;
   1415		uint64_t reserved_31_31:1;
   1416		uint64_t out_ctl:2;
   1417		uint64_t out_sta:1;
   1418		uint64_t out_wif:1;
   1419		uint64_t prt_chk:3;
   1420		uint64_t prt_nxt:1;
   1421		uint64_t prt_psb7:1;
   1422		uint64_t reserved_21_21:1;
   1423		uint64_t prt_psb:6;
   1424		uint64_t ncb_inb:2;
   1425		uint64_t prt_qcb:2;
   1426		uint64_t prt_qsb:3;
   1427		uint64_t prt_ctl:2;
   1428		uint64_t dat_dat:2;
   1429		uint64_t dat_ptr:4;
   1430#else
   1431		uint64_t dat_ptr:4;
   1432		uint64_t dat_dat:2;
   1433		uint64_t prt_ctl:2;
   1434		uint64_t prt_qsb:3;
   1435		uint64_t prt_qcb:2;
   1436		uint64_t ncb_inb:2;
   1437		uint64_t prt_psb:6;
   1438		uint64_t reserved_21_21:1;
   1439		uint64_t prt_psb7:1;
   1440		uint64_t prt_nxt:1;
   1441		uint64_t prt_chk:3;
   1442		uint64_t out_wif:1;
   1443		uint64_t out_sta:1;
   1444		uint64_t out_ctl:2;
   1445		uint64_t reserved_31_31:1;
   1446		uint64_t out_dat:1;
   1447		uint64_t iob:1;
   1448		uint64_t csr:1;
   1449		uint64_t reserved_35_63:29;
   1450#endif
   1451	} cn68xxp1;
   1452};
   1453
   1454union cvmx_pko_reg_cmd_buf {
   1455	uint64_t u64;
   1456	struct cvmx_pko_reg_cmd_buf_s {
   1457#ifdef __BIG_ENDIAN_BITFIELD
   1458		uint64_t reserved_23_63:41;
   1459		uint64_t pool:3;
   1460		uint64_t reserved_13_19:7;
   1461		uint64_t size:13;
   1462#else
   1463		uint64_t size:13;
   1464		uint64_t reserved_13_19:7;
   1465		uint64_t pool:3;
   1466		uint64_t reserved_23_63:41;
   1467#endif
   1468	} s;
   1469};
   1470
   1471union cvmx_pko_reg_crc_ctlx {
   1472	uint64_t u64;
   1473	struct cvmx_pko_reg_crc_ctlx_s {
   1474#ifdef __BIG_ENDIAN_BITFIELD
   1475		uint64_t reserved_2_63:62;
   1476		uint64_t invres:1;
   1477		uint64_t refin:1;
   1478#else
   1479		uint64_t refin:1;
   1480		uint64_t invres:1;
   1481		uint64_t reserved_2_63:62;
   1482#endif
   1483	} s;
   1484};
   1485
   1486union cvmx_pko_reg_crc_enable {
   1487	uint64_t u64;
   1488	struct cvmx_pko_reg_crc_enable_s {
   1489#ifdef __BIG_ENDIAN_BITFIELD
   1490		uint64_t reserved_32_63:32;
   1491		uint64_t enable:32;
   1492#else
   1493		uint64_t enable:32;
   1494		uint64_t reserved_32_63:32;
   1495#endif
   1496	} s;
   1497};
   1498
   1499union cvmx_pko_reg_crc_ivx {
   1500	uint64_t u64;
   1501	struct cvmx_pko_reg_crc_ivx_s {
   1502#ifdef __BIG_ENDIAN_BITFIELD
   1503		uint64_t reserved_32_63:32;
   1504		uint64_t iv:32;
   1505#else
   1506		uint64_t iv:32;
   1507		uint64_t reserved_32_63:32;
   1508#endif
   1509	} s;
   1510};
   1511
   1512union cvmx_pko_reg_debug0 {
   1513	uint64_t u64;
   1514	struct cvmx_pko_reg_debug0_s {
   1515#ifdef __BIG_ENDIAN_BITFIELD
   1516		uint64_t asserts:64;
   1517#else
   1518		uint64_t asserts:64;
   1519#endif
   1520	} s;
   1521	struct cvmx_pko_reg_debug0_cn30xx {
   1522#ifdef __BIG_ENDIAN_BITFIELD
   1523		uint64_t reserved_17_63:47;
   1524		uint64_t asserts:17;
   1525#else
   1526		uint64_t asserts:17;
   1527		uint64_t reserved_17_63:47;
   1528#endif
   1529	} cn30xx;
   1530};
   1531
   1532union cvmx_pko_reg_debug1 {
   1533	uint64_t u64;
   1534	struct cvmx_pko_reg_debug1_s {
   1535#ifdef __BIG_ENDIAN_BITFIELD
   1536		uint64_t asserts:64;
   1537#else
   1538		uint64_t asserts:64;
   1539#endif
   1540	} s;
   1541};
   1542
   1543union cvmx_pko_reg_debug2 {
   1544	uint64_t u64;
   1545	struct cvmx_pko_reg_debug2_s {
   1546#ifdef __BIG_ENDIAN_BITFIELD
   1547		uint64_t asserts:64;
   1548#else
   1549		uint64_t asserts:64;
   1550#endif
   1551	} s;
   1552};
   1553
   1554union cvmx_pko_reg_debug3 {
   1555	uint64_t u64;
   1556	struct cvmx_pko_reg_debug3_s {
   1557#ifdef __BIG_ENDIAN_BITFIELD
   1558		uint64_t asserts:64;
   1559#else
   1560		uint64_t asserts:64;
   1561#endif
   1562	} s;
   1563};
   1564
   1565union cvmx_pko_reg_debug4 {
   1566	uint64_t u64;
   1567	struct cvmx_pko_reg_debug4_s {
   1568#ifdef __BIG_ENDIAN_BITFIELD
   1569		uint64_t asserts:64;
   1570#else
   1571		uint64_t asserts:64;
   1572#endif
   1573	} s;
   1574};
   1575
   1576union cvmx_pko_reg_engine_inflight {
   1577	uint64_t u64;
   1578	struct cvmx_pko_reg_engine_inflight_s {
   1579#ifdef __BIG_ENDIAN_BITFIELD
   1580		uint64_t engine15:4;
   1581		uint64_t engine14:4;
   1582		uint64_t engine13:4;
   1583		uint64_t engine12:4;
   1584		uint64_t engine11:4;
   1585		uint64_t engine10:4;
   1586		uint64_t engine9:4;
   1587		uint64_t engine8:4;
   1588		uint64_t engine7:4;
   1589		uint64_t engine6:4;
   1590		uint64_t engine5:4;
   1591		uint64_t engine4:4;
   1592		uint64_t engine3:4;
   1593		uint64_t engine2:4;
   1594		uint64_t engine1:4;
   1595		uint64_t engine0:4;
   1596#else
   1597		uint64_t engine0:4;
   1598		uint64_t engine1:4;
   1599		uint64_t engine2:4;
   1600		uint64_t engine3:4;
   1601		uint64_t engine4:4;
   1602		uint64_t engine5:4;
   1603		uint64_t engine6:4;
   1604		uint64_t engine7:4;
   1605		uint64_t engine8:4;
   1606		uint64_t engine9:4;
   1607		uint64_t engine10:4;
   1608		uint64_t engine11:4;
   1609		uint64_t engine12:4;
   1610		uint64_t engine13:4;
   1611		uint64_t engine14:4;
   1612		uint64_t engine15:4;
   1613#endif
   1614	} s;
   1615	struct cvmx_pko_reg_engine_inflight_cn52xx {
   1616#ifdef __BIG_ENDIAN_BITFIELD
   1617		uint64_t reserved_40_63:24;
   1618		uint64_t engine9:4;
   1619		uint64_t engine8:4;
   1620		uint64_t engine7:4;
   1621		uint64_t engine6:4;
   1622		uint64_t engine5:4;
   1623		uint64_t engine4:4;
   1624		uint64_t engine3:4;
   1625		uint64_t engine2:4;
   1626		uint64_t engine1:4;
   1627		uint64_t engine0:4;
   1628#else
   1629		uint64_t engine0:4;
   1630		uint64_t engine1:4;
   1631		uint64_t engine2:4;
   1632		uint64_t engine3:4;
   1633		uint64_t engine4:4;
   1634		uint64_t engine5:4;
   1635		uint64_t engine6:4;
   1636		uint64_t engine7:4;
   1637		uint64_t engine8:4;
   1638		uint64_t engine9:4;
   1639		uint64_t reserved_40_63:24;
   1640#endif
   1641	} cn52xx;
   1642	struct cvmx_pko_reg_engine_inflight_cn61xx {
   1643#ifdef __BIG_ENDIAN_BITFIELD
   1644		uint64_t reserved_56_63:8;
   1645		uint64_t engine13:4;
   1646		uint64_t engine12:4;
   1647		uint64_t engine11:4;
   1648		uint64_t engine10:4;
   1649		uint64_t engine9:4;
   1650		uint64_t engine8:4;
   1651		uint64_t engine7:4;
   1652		uint64_t engine6:4;
   1653		uint64_t engine5:4;
   1654		uint64_t engine4:4;
   1655		uint64_t engine3:4;
   1656		uint64_t engine2:4;
   1657		uint64_t engine1:4;
   1658		uint64_t engine0:4;
   1659#else
   1660		uint64_t engine0:4;
   1661		uint64_t engine1:4;
   1662		uint64_t engine2:4;
   1663		uint64_t engine3:4;
   1664		uint64_t engine4:4;
   1665		uint64_t engine5:4;
   1666		uint64_t engine6:4;
   1667		uint64_t engine7:4;
   1668		uint64_t engine8:4;
   1669		uint64_t engine9:4;
   1670		uint64_t engine10:4;
   1671		uint64_t engine11:4;
   1672		uint64_t engine12:4;
   1673		uint64_t engine13:4;
   1674		uint64_t reserved_56_63:8;
   1675#endif
   1676	} cn61xx;
   1677	struct cvmx_pko_reg_engine_inflight_cn63xx {
   1678#ifdef __BIG_ENDIAN_BITFIELD
   1679		uint64_t reserved_48_63:16;
   1680		uint64_t engine11:4;
   1681		uint64_t engine10:4;
   1682		uint64_t engine9:4;
   1683		uint64_t engine8:4;
   1684		uint64_t engine7:4;
   1685		uint64_t engine6:4;
   1686		uint64_t engine5:4;
   1687		uint64_t engine4:4;
   1688		uint64_t engine3:4;
   1689		uint64_t engine2:4;
   1690		uint64_t engine1:4;
   1691		uint64_t engine0:4;
   1692#else
   1693		uint64_t engine0:4;
   1694		uint64_t engine1:4;
   1695		uint64_t engine2:4;
   1696		uint64_t engine3:4;
   1697		uint64_t engine4:4;
   1698		uint64_t engine5:4;
   1699		uint64_t engine6:4;
   1700		uint64_t engine7:4;
   1701		uint64_t engine8:4;
   1702		uint64_t engine9:4;
   1703		uint64_t engine10:4;
   1704		uint64_t engine11:4;
   1705		uint64_t reserved_48_63:16;
   1706#endif
   1707	} cn63xx;
   1708};
   1709
   1710union cvmx_pko_reg_engine_inflight1 {
   1711	uint64_t u64;
   1712	struct cvmx_pko_reg_engine_inflight1_s {
   1713#ifdef __BIG_ENDIAN_BITFIELD
   1714		uint64_t reserved_16_63:48;
   1715		uint64_t engine19:4;
   1716		uint64_t engine18:4;
   1717		uint64_t engine17:4;
   1718		uint64_t engine16:4;
   1719#else
   1720		uint64_t engine16:4;
   1721		uint64_t engine17:4;
   1722		uint64_t engine18:4;
   1723		uint64_t engine19:4;
   1724		uint64_t reserved_16_63:48;
   1725#endif
   1726	} s;
   1727};
   1728
   1729union cvmx_pko_reg_engine_storagex {
   1730	uint64_t u64;
   1731	struct cvmx_pko_reg_engine_storagex_s {
   1732#ifdef __BIG_ENDIAN_BITFIELD
   1733		uint64_t engine15:4;
   1734		uint64_t engine14:4;
   1735		uint64_t engine13:4;
   1736		uint64_t engine12:4;
   1737		uint64_t engine11:4;
   1738		uint64_t engine10:4;
   1739		uint64_t engine9:4;
   1740		uint64_t engine8:4;
   1741		uint64_t engine7:4;
   1742		uint64_t engine6:4;
   1743		uint64_t engine5:4;
   1744		uint64_t engine4:4;
   1745		uint64_t engine3:4;
   1746		uint64_t engine2:4;
   1747		uint64_t engine1:4;
   1748		uint64_t engine0:4;
   1749#else
   1750		uint64_t engine0:4;
   1751		uint64_t engine1:4;
   1752		uint64_t engine2:4;
   1753		uint64_t engine3:4;
   1754		uint64_t engine4:4;
   1755		uint64_t engine5:4;
   1756		uint64_t engine6:4;
   1757		uint64_t engine7:4;
   1758		uint64_t engine8:4;
   1759		uint64_t engine9:4;
   1760		uint64_t engine10:4;
   1761		uint64_t engine11:4;
   1762		uint64_t engine12:4;
   1763		uint64_t engine13:4;
   1764		uint64_t engine14:4;
   1765		uint64_t engine15:4;
   1766#endif
   1767	} s;
   1768};
   1769
   1770union cvmx_pko_reg_engine_thresh {
   1771	uint64_t u64;
   1772	struct cvmx_pko_reg_engine_thresh_s {
   1773#ifdef __BIG_ENDIAN_BITFIELD
   1774		uint64_t reserved_20_63:44;
   1775		uint64_t mask:20;
   1776#else
   1777		uint64_t mask:20;
   1778		uint64_t reserved_20_63:44;
   1779#endif
   1780	} s;
   1781	struct cvmx_pko_reg_engine_thresh_cn52xx {
   1782#ifdef __BIG_ENDIAN_BITFIELD
   1783		uint64_t reserved_10_63:54;
   1784		uint64_t mask:10;
   1785#else
   1786		uint64_t mask:10;
   1787		uint64_t reserved_10_63:54;
   1788#endif
   1789	} cn52xx;
   1790	struct cvmx_pko_reg_engine_thresh_cn61xx {
   1791#ifdef __BIG_ENDIAN_BITFIELD
   1792		uint64_t reserved_14_63:50;
   1793		uint64_t mask:14;
   1794#else
   1795		uint64_t mask:14;
   1796		uint64_t reserved_14_63:50;
   1797#endif
   1798	} cn61xx;
   1799	struct cvmx_pko_reg_engine_thresh_cn63xx {
   1800#ifdef __BIG_ENDIAN_BITFIELD
   1801		uint64_t reserved_12_63:52;
   1802		uint64_t mask:12;
   1803#else
   1804		uint64_t mask:12;
   1805		uint64_t reserved_12_63:52;
   1806#endif
   1807	} cn63xx;
   1808};
   1809
   1810union cvmx_pko_reg_error {
   1811	uint64_t u64;
   1812	struct cvmx_pko_reg_error_s {
   1813#ifdef __BIG_ENDIAN_BITFIELD
   1814		uint64_t reserved_4_63:60;
   1815		uint64_t loopback:1;
   1816		uint64_t currzero:1;
   1817		uint64_t doorbell:1;
   1818		uint64_t parity:1;
   1819#else
   1820		uint64_t parity:1;
   1821		uint64_t doorbell:1;
   1822		uint64_t currzero:1;
   1823		uint64_t loopback:1;
   1824		uint64_t reserved_4_63:60;
   1825#endif
   1826	} s;
   1827	struct cvmx_pko_reg_error_cn30xx {
   1828#ifdef __BIG_ENDIAN_BITFIELD
   1829		uint64_t reserved_2_63:62;
   1830		uint64_t doorbell:1;
   1831		uint64_t parity:1;
   1832#else
   1833		uint64_t parity:1;
   1834		uint64_t doorbell:1;
   1835		uint64_t reserved_2_63:62;
   1836#endif
   1837	} cn30xx;
   1838	struct cvmx_pko_reg_error_cn50xx {
   1839#ifdef __BIG_ENDIAN_BITFIELD
   1840		uint64_t reserved_3_63:61;
   1841		uint64_t currzero:1;
   1842		uint64_t doorbell:1;
   1843		uint64_t parity:1;
   1844#else
   1845		uint64_t parity:1;
   1846		uint64_t doorbell:1;
   1847		uint64_t currzero:1;
   1848		uint64_t reserved_3_63:61;
   1849#endif
   1850	} cn50xx;
   1851};
   1852
   1853union cvmx_pko_reg_flags {
   1854	uint64_t u64;
   1855	struct cvmx_pko_reg_flags_s {
   1856#ifdef __BIG_ENDIAN_BITFIELD
   1857		uint64_t reserved_9_63:55;
   1858		uint64_t dis_perf3:1;
   1859		uint64_t dis_perf2:1;
   1860		uint64_t dis_perf1:1;
   1861		uint64_t dis_perf0:1;
   1862		uint64_t ena_throttle:1;
   1863		uint64_t reset:1;
   1864		uint64_t store_be:1;
   1865		uint64_t ena_dwb:1;
   1866		uint64_t ena_pko:1;
   1867#else
   1868		uint64_t ena_pko:1;
   1869		uint64_t ena_dwb:1;
   1870		uint64_t store_be:1;
   1871		uint64_t reset:1;
   1872		uint64_t ena_throttle:1;
   1873		uint64_t dis_perf0:1;
   1874		uint64_t dis_perf1:1;
   1875		uint64_t dis_perf2:1;
   1876		uint64_t dis_perf3:1;
   1877		uint64_t reserved_9_63:55;
   1878#endif
   1879	} s;
   1880	struct cvmx_pko_reg_flags_cn30xx {
   1881#ifdef __BIG_ENDIAN_BITFIELD
   1882		uint64_t reserved_4_63:60;
   1883		uint64_t reset:1;
   1884		uint64_t store_be:1;
   1885		uint64_t ena_dwb:1;
   1886		uint64_t ena_pko:1;
   1887#else
   1888		uint64_t ena_pko:1;
   1889		uint64_t ena_dwb:1;
   1890		uint64_t store_be:1;
   1891		uint64_t reset:1;
   1892		uint64_t reserved_4_63:60;
   1893#endif
   1894	} cn30xx;
   1895	struct cvmx_pko_reg_flags_cn61xx {
   1896#ifdef __BIG_ENDIAN_BITFIELD
   1897		uint64_t reserved_9_63:55;
   1898		uint64_t dis_perf3:1;
   1899		uint64_t dis_perf2:1;
   1900		uint64_t reserved_4_6:3;
   1901		uint64_t reset:1;
   1902		uint64_t store_be:1;
   1903		uint64_t ena_dwb:1;
   1904		uint64_t ena_pko:1;
   1905#else
   1906		uint64_t ena_pko:1;
   1907		uint64_t ena_dwb:1;
   1908		uint64_t store_be:1;
   1909		uint64_t reset:1;
   1910		uint64_t reserved_4_6:3;
   1911		uint64_t dis_perf2:1;
   1912		uint64_t dis_perf3:1;
   1913		uint64_t reserved_9_63:55;
   1914#endif
   1915	} cn61xx;
   1916	struct cvmx_pko_reg_flags_cn68xxp1 {
   1917#ifdef __BIG_ENDIAN_BITFIELD
   1918		uint64_t reserved_7_63:57;
   1919		uint64_t dis_perf1:1;
   1920		uint64_t dis_perf0:1;
   1921		uint64_t ena_throttle:1;
   1922		uint64_t reset:1;
   1923		uint64_t store_be:1;
   1924		uint64_t ena_dwb:1;
   1925		uint64_t ena_pko:1;
   1926#else
   1927		uint64_t ena_pko:1;
   1928		uint64_t ena_dwb:1;
   1929		uint64_t store_be:1;
   1930		uint64_t reset:1;
   1931		uint64_t ena_throttle:1;
   1932		uint64_t dis_perf0:1;
   1933		uint64_t dis_perf1:1;
   1934		uint64_t reserved_7_63:57;
   1935#endif
   1936	} cn68xxp1;
   1937};
   1938
   1939union cvmx_pko_reg_gmx_port_mode {
   1940	uint64_t u64;
   1941	struct cvmx_pko_reg_gmx_port_mode_s {
   1942#ifdef __BIG_ENDIAN_BITFIELD
   1943		uint64_t reserved_6_63:58;
   1944		uint64_t mode1:3;
   1945		uint64_t mode0:3;
   1946#else
   1947		uint64_t mode0:3;
   1948		uint64_t mode1:3;
   1949		uint64_t reserved_6_63:58;
   1950#endif
   1951	} s;
   1952};
   1953
   1954union cvmx_pko_reg_int_mask {
   1955	uint64_t u64;
   1956	struct cvmx_pko_reg_int_mask_s {
   1957#ifdef __BIG_ENDIAN_BITFIELD
   1958		uint64_t reserved_4_63:60;
   1959		uint64_t loopback:1;
   1960		uint64_t currzero:1;
   1961		uint64_t doorbell:1;
   1962		uint64_t parity:1;
   1963#else
   1964		uint64_t parity:1;
   1965		uint64_t doorbell:1;
   1966		uint64_t currzero:1;
   1967		uint64_t loopback:1;
   1968		uint64_t reserved_4_63:60;
   1969#endif
   1970	} s;
   1971	struct cvmx_pko_reg_int_mask_cn30xx {
   1972#ifdef __BIG_ENDIAN_BITFIELD
   1973		uint64_t reserved_2_63:62;
   1974		uint64_t doorbell:1;
   1975		uint64_t parity:1;
   1976#else
   1977		uint64_t parity:1;
   1978		uint64_t doorbell:1;
   1979		uint64_t reserved_2_63:62;
   1980#endif
   1981	} cn30xx;
   1982	struct cvmx_pko_reg_int_mask_cn50xx {
   1983#ifdef __BIG_ENDIAN_BITFIELD
   1984		uint64_t reserved_3_63:61;
   1985		uint64_t currzero:1;
   1986		uint64_t doorbell:1;
   1987		uint64_t parity:1;
   1988#else
   1989		uint64_t parity:1;
   1990		uint64_t doorbell:1;
   1991		uint64_t currzero:1;
   1992		uint64_t reserved_3_63:61;
   1993#endif
   1994	} cn50xx;
   1995};
   1996
   1997union cvmx_pko_reg_loopback_bpid {
   1998	uint64_t u64;
   1999	struct cvmx_pko_reg_loopback_bpid_s {
   2000#ifdef __BIG_ENDIAN_BITFIELD
   2001		uint64_t reserved_59_63:5;
   2002		uint64_t bpid7:6;
   2003		uint64_t reserved_52_52:1;
   2004		uint64_t bpid6:6;
   2005		uint64_t reserved_45_45:1;
   2006		uint64_t bpid5:6;
   2007		uint64_t reserved_38_38:1;
   2008		uint64_t bpid4:6;
   2009		uint64_t reserved_31_31:1;
   2010		uint64_t bpid3:6;
   2011		uint64_t reserved_24_24:1;
   2012		uint64_t bpid2:6;
   2013		uint64_t reserved_17_17:1;
   2014		uint64_t bpid1:6;
   2015		uint64_t reserved_10_10:1;
   2016		uint64_t bpid0:6;
   2017		uint64_t reserved_0_3:4;
   2018#else
   2019		uint64_t reserved_0_3:4;
   2020		uint64_t bpid0:6;
   2021		uint64_t reserved_10_10:1;
   2022		uint64_t bpid1:6;
   2023		uint64_t reserved_17_17:1;
   2024		uint64_t bpid2:6;
   2025		uint64_t reserved_24_24:1;
   2026		uint64_t bpid3:6;
   2027		uint64_t reserved_31_31:1;
   2028		uint64_t bpid4:6;
   2029		uint64_t reserved_38_38:1;
   2030		uint64_t bpid5:6;
   2031		uint64_t reserved_45_45:1;
   2032		uint64_t bpid6:6;
   2033		uint64_t reserved_52_52:1;
   2034		uint64_t bpid7:6;
   2035		uint64_t reserved_59_63:5;
   2036#endif
   2037	} s;
   2038};
   2039
   2040union cvmx_pko_reg_loopback_pkind {
   2041	uint64_t u64;
   2042	struct cvmx_pko_reg_loopback_pkind_s {
   2043#ifdef __BIG_ENDIAN_BITFIELD
   2044		uint64_t reserved_59_63:5;
   2045		uint64_t pkind7:6;
   2046		uint64_t reserved_52_52:1;
   2047		uint64_t pkind6:6;
   2048		uint64_t reserved_45_45:1;
   2049		uint64_t pkind5:6;
   2050		uint64_t reserved_38_38:1;
   2051		uint64_t pkind4:6;
   2052		uint64_t reserved_31_31:1;
   2053		uint64_t pkind3:6;
   2054		uint64_t reserved_24_24:1;
   2055		uint64_t pkind2:6;
   2056		uint64_t reserved_17_17:1;
   2057		uint64_t pkind1:6;
   2058		uint64_t reserved_10_10:1;
   2059		uint64_t pkind0:6;
   2060		uint64_t num_ports:4;
   2061#else
   2062		uint64_t num_ports:4;
   2063		uint64_t pkind0:6;
   2064		uint64_t reserved_10_10:1;
   2065		uint64_t pkind1:6;
   2066		uint64_t reserved_17_17:1;
   2067		uint64_t pkind2:6;
   2068		uint64_t reserved_24_24:1;
   2069		uint64_t pkind3:6;
   2070		uint64_t reserved_31_31:1;
   2071		uint64_t pkind4:6;
   2072		uint64_t reserved_38_38:1;
   2073		uint64_t pkind5:6;
   2074		uint64_t reserved_45_45:1;
   2075		uint64_t pkind6:6;
   2076		uint64_t reserved_52_52:1;
   2077		uint64_t pkind7:6;
   2078		uint64_t reserved_59_63:5;
   2079#endif
   2080	} s;
   2081};
   2082
   2083union cvmx_pko_reg_min_pkt {
   2084	uint64_t u64;
   2085	struct cvmx_pko_reg_min_pkt_s {
   2086#ifdef __BIG_ENDIAN_BITFIELD
   2087		uint64_t size7:8;
   2088		uint64_t size6:8;
   2089		uint64_t size5:8;
   2090		uint64_t size4:8;
   2091		uint64_t size3:8;
   2092		uint64_t size2:8;
   2093		uint64_t size1:8;
   2094		uint64_t size0:8;
   2095#else
   2096		uint64_t size0:8;
   2097		uint64_t size1:8;
   2098		uint64_t size2:8;
   2099		uint64_t size3:8;
   2100		uint64_t size4:8;
   2101		uint64_t size5:8;
   2102		uint64_t size6:8;
   2103		uint64_t size7:8;
   2104#endif
   2105	} s;
   2106};
   2107
   2108union cvmx_pko_reg_preempt {
   2109	uint64_t u64;
   2110	struct cvmx_pko_reg_preempt_s {
   2111#ifdef __BIG_ENDIAN_BITFIELD
   2112		uint64_t reserved_16_63:48;
   2113		uint64_t min_size:16;
   2114#else
   2115		uint64_t min_size:16;
   2116		uint64_t reserved_16_63:48;
   2117#endif
   2118	} s;
   2119};
   2120
   2121union cvmx_pko_reg_queue_mode {
   2122	uint64_t u64;
   2123	struct cvmx_pko_reg_queue_mode_s {
   2124#ifdef __BIG_ENDIAN_BITFIELD
   2125		uint64_t reserved_2_63:62;
   2126		uint64_t mode:2;
   2127#else
   2128		uint64_t mode:2;
   2129		uint64_t reserved_2_63:62;
   2130#endif
   2131	} s;
   2132};
   2133
   2134union cvmx_pko_reg_queue_preempt {
   2135	uint64_t u64;
   2136	struct cvmx_pko_reg_queue_preempt_s {
   2137#ifdef __BIG_ENDIAN_BITFIELD
   2138		uint64_t reserved_2_63:62;
   2139		uint64_t preemptee:1;
   2140		uint64_t preempter:1;
   2141#else
   2142		uint64_t preempter:1;
   2143		uint64_t preemptee:1;
   2144		uint64_t reserved_2_63:62;
   2145#endif
   2146	} s;
   2147};
   2148
   2149union cvmx_pko_reg_queue_ptrs1 {
   2150	uint64_t u64;
   2151	struct cvmx_pko_reg_queue_ptrs1_s {
   2152#ifdef __BIG_ENDIAN_BITFIELD
   2153		uint64_t reserved_2_63:62;
   2154		uint64_t idx3:1;
   2155		uint64_t qid7:1;
   2156#else
   2157		uint64_t qid7:1;
   2158		uint64_t idx3:1;
   2159		uint64_t reserved_2_63:62;
   2160#endif
   2161	} s;
   2162};
   2163
   2164union cvmx_pko_reg_read_idx {
   2165	uint64_t u64;
   2166	struct cvmx_pko_reg_read_idx_s {
   2167#ifdef __BIG_ENDIAN_BITFIELD
   2168		uint64_t reserved_16_63:48;
   2169		uint64_t inc:8;
   2170		uint64_t index:8;
   2171#else
   2172		uint64_t index:8;
   2173		uint64_t inc:8;
   2174		uint64_t reserved_16_63:48;
   2175#endif
   2176	} s;
   2177};
   2178
   2179union cvmx_pko_reg_throttle {
   2180	uint64_t u64;
   2181	struct cvmx_pko_reg_throttle_s {
   2182#ifdef __BIG_ENDIAN_BITFIELD
   2183		uint64_t reserved_32_63:32;
   2184		uint64_t int_mask:32;
   2185#else
   2186		uint64_t int_mask:32;
   2187		uint64_t reserved_32_63:32;
   2188#endif
   2189	} s;
   2190};
   2191
   2192union cvmx_pko_reg_timestamp {
   2193	uint64_t u64;
   2194	struct cvmx_pko_reg_timestamp_s {
   2195#ifdef __BIG_ENDIAN_BITFIELD
   2196		uint64_t reserved_4_63:60;
   2197		uint64_t wqe_word:4;
   2198#else
   2199		uint64_t wqe_word:4;
   2200		uint64_t reserved_4_63:60;
   2201#endif
   2202	} s;
   2203};
   2204
   2205#endif