require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_IF_GEMREG_H)) {
    eval 'sub _IF_GEMREG_H () {1;}' unless defined(&_IF_GEMREG_H);
    eval 'sub GEM_SEB_STATE () {0x;}' unless defined(&GEM_SEB_STATE);
    eval 'sub GEM_CONFIG () {0x4;}' unless defined(&GEM_CONFIG);
    eval 'sub GEM_STATUS () {0xc;}' unless defined(&GEM_STATUS);
    eval 'sub GEM_INTMASK () {0x10;}' unless defined(&GEM_INTMASK);
    eval 'sub GEM_INTACK () {0x14;}' unless defined(&GEM_INTACK);
    eval 'sub GEM_STATUS_ALIAS () {0x1c;}' unless defined(&GEM_STATUS_ALIAS);
    eval 'sub GEM_PCI_BANK2_OFFSET () {0x1000;}' unless defined(&GEM_PCI_BANK2_OFFSET);
    eval 'sub GEM_PCI_BANK2_SIZE () {0x14;}' unless defined(&GEM_PCI_BANK2_SIZE);
    eval 'sub GEM_ERROR_STATUS () {0x;}' unless defined(&GEM_ERROR_STATUS);
    eval 'sub GEM_ERROR_MASK () {0x4;}' unless defined(&GEM_ERROR_MASK);
    eval 'sub GEM_SBUS_CONFIG () {0x4;}' unless defined(&GEM_SBUS_CONFIG);
    eval 'sub GEM_BIF_CONFIG () {0x8;}' unless defined(&GEM_BIF_CONFIG);
    eval 'sub GEM_BIF_DIAG () {0xc;}' unless defined(&GEM_BIF_DIAG);
    eval 'sub GEM_RESET () {0x10;}' unless defined(&GEM_RESET);
    eval 'sub GEM_SEB_ARB () {0x2;}' unless defined(&GEM_SEB_ARB);
    eval 'sub GEM_SEB_RXWON () {0x4;}' unless defined(&GEM_SEB_RXWON);
    eval 'sub GEM_SBUS_CFG_BMODE64 () {0x8;}' unless defined(&GEM_SBUS_CFG_BMODE64);
    eval 'sub GEM_SBUS_CFG_PARITY () {0x200;}' unless defined(&GEM_SBUS_CFG_PARITY);
    eval 'sub GEM_CONFIG_BURST_64 () {0x;}' unless defined(&GEM_CONFIG_BURST_64);
    eval 'sub GEM_CONFIG_BURST_INF () {0x1;}' unless defined(&GEM_CONFIG_BURST_INF);
    eval 'sub GEM_CONFIG_TXDMA_LIMIT () {0x3e;}' unless defined(&GEM_CONFIG_TXDMA_LIMIT);
    eval 'sub GEM_CONFIG_RXDMA_LIMIT () {0x7c0;}' unless defined(&GEM_CONFIG_RXDMA_LIMIT);
    eval 'sub GEM_CONFIG_TXDMA_LIMIT_SHIFT () {1;}' unless defined(&GEM_CONFIG_TXDMA_LIMIT_SHIFT);
    eval 'sub GEM_CONFIG_RXDMA_LIMIT_SHIFT () {6;}' unless defined(&GEM_CONFIG_RXDMA_LIMIT_SHIFT);
    eval 'sub GEM_STATUS_TX_COMPL () {68711088128;}' unless defined(&GEM_STATUS_TX_COMPL);
    eval 'sub GEM_INTR_TX_INTME () {0x1;}' unless defined(&GEM_INTR_TX_INTME);
    eval 'sub GEM_INTR_TX_EMPTY () {0x2;}' unless defined(&GEM_INTR_TX_EMPTY);
    eval 'sub GEM_INTR_TX_DONE () {0x4;}' unless defined(&GEM_INTR_TX_DONE);
    eval 'sub GEM_INTR_RX_DONE () {0x10;}' unless defined(&GEM_INTR_RX_DONE);
    eval 'sub GEM_INTR_RX_NOBUF () {0x20;}' unless defined(&GEM_INTR_RX_NOBUF);
    eval 'sub GEM_INTR_RX_TAG_ERR () {0x40;}' unless defined(&GEM_INTR_RX_TAG_ERR);
    eval 'sub GEM_INTR_PCS () {0x2000;}' unless defined(&GEM_INTR_PCS);
    eval 'sub GEM_INTR_TX_MAC () {0x4000;}' unless defined(&GEM_INTR_TX_MAC);
    eval 'sub GEM_INTR_RX_MAC () {0x8000;}' unless defined(&GEM_INTR_RX_MAC);
    eval 'sub GEM_INTR_MAC_CONTROL () {0x10000;}' unless defined(&GEM_INTR_MAC_CONTROL);
    eval 'sub GEM_INTR_MIF () {0x20000;}' unless defined(&GEM_INTR_MIF);
    eval 'sub GEM_INTR_BERR () {0x40000;}' unless defined(&GEM_INTR_BERR);
    eval 'sub GEM_INTR_BITS () {"\\020" "\\1INTME\\2TXEMPTY\\3TXDONE" "\\5RXDONE\\6RXNOBUF\\7RX_TAG_ERR" "\\16PCS\\17TXMAC\\20RXMAC" "\\21MACCONTROL\\22MIF\\23BERR";}' unless defined(&GEM_INTR_BITS);
    eval 'sub GEM_ERROR_STAT_BADACK () {0x1;}' unless defined(&GEM_ERROR_STAT_BADACK);
    eval 'sub GEM_ERROR_STAT_DTRTO () {0x2;}' unless defined(&GEM_ERROR_STAT_DTRTO);
    eval 'sub GEM_ERROR_STAT_OTHERS () {0x4;}' unless defined(&GEM_ERROR_STAT_OTHERS);
    eval 'sub GEM_BIF_CONFIG_SLOWCLK () {0x1;}' unless defined(&GEM_BIF_CONFIG_SLOWCLK);
    eval 'sub GEM_BIF_CONFIG_HOST_64 () {0x2;}' unless defined(&GEM_BIF_CONFIG_HOST_64);
    eval 'sub GEM_BIF_CONFIG_B64D_DIS () {0x4;}' unless defined(&GEM_BIF_CONFIG_B64D_DIS);
    eval 'sub GEM_BIF_CONFIG_M66EN () {0x8;}' unless defined(&GEM_BIF_CONFIG_M66EN);
    eval 'sub GEM_RESET_TX () {0x1;}' unless defined(&GEM_RESET_TX);
    eval 'sub GEM_RESET_RX () {0x2;}' unless defined(&GEM_RESET_RX);
    eval 'sub GEM_RESET_RSTOUT () {0x4;}' unless defined(&GEM_RESET_RSTOUT);
    eval 'sub GEM_TX_KICK () {0x2000;}' unless defined(&GEM_TX_KICK);
    eval 'sub GEM_TX_CONFIG () {0x2004;}' unless defined(&GEM_TX_CONFIG);
    eval 'sub GEM_TX_RING_PTR_LO () {0x2008;}' unless defined(&GEM_TX_RING_PTR_LO);
    eval 'sub GEM_TX_RING_PTR_HI () {0x200c;}' unless defined(&GEM_TX_RING_PTR_HI);
    eval 'sub GEM_TX_FIFO_WR_PTR () {0x2014;}' unless defined(&GEM_TX_FIFO_WR_PTR);
    eval 'sub GEM_TX_FIFO_SDWR_PTR () {0x2018;}' unless defined(&GEM_TX_FIFO_SDWR_PTR);
    eval 'sub GEM_TX_FIFO_RD_PTR () {0x201c;}' unless defined(&GEM_TX_FIFO_RD_PTR);
    eval 'sub GEM_TX_FIFO_SDRD_PTR () {0x2020;}' unless defined(&GEM_TX_FIFO_SDRD_PTR);
    eval 'sub GEM_TX_FIFO_PKT_CNT () {0x2024;}' unless defined(&GEM_TX_FIFO_PKT_CNT);
    eval 'sub GEM_TX_STATE_MACHINE () {0x2028;}' unless defined(&GEM_TX_STATE_MACHINE);
    eval 'sub GEM_TX_DATA_PTR () {0x2030;}' unless defined(&GEM_TX_DATA_PTR);
    eval 'sub GEM_TX_COMPLETION () {0x2100;}' unless defined(&GEM_TX_COMPLETION);
    eval 'sub GEM_TX_FIFO_ADDRESS () {0x2104;}' unless defined(&GEM_TX_FIFO_ADDRESS);
    eval 'sub GEM_TX_FIFO_TAG () {0x2108;}' unless defined(&GEM_TX_FIFO_TAG);
    eval 'sub GEM_TX_FIFO_DATA_LO () {0x210c;}' unless defined(&GEM_TX_FIFO_DATA_LO);
    eval 'sub GEM_TX_FIFO_DATA_HI_T1 () {0x2110;}' unless defined(&GEM_TX_FIFO_DATA_HI_T1);
    eval 'sub GEM_TX_FIFO_DATA_HI_T0 () {0x2114;}' unless defined(&GEM_TX_FIFO_DATA_HI_T0);
    eval 'sub GEM_TX_FIFO_SIZE () {0x2118;}' unless defined(&GEM_TX_FIFO_SIZE);
    eval 'sub GEM_TX_DEBUG () {0x3028;}' unless defined(&GEM_TX_DEBUG);
    eval 'sub GEM_TX_CONFIG_TXDMA_EN () {0x1;}' unless defined(&GEM_TX_CONFIG_TXDMA_EN);
    eval 'sub GEM_TX_CONFIG_TXRING_SZ () {0x1e;}' unless defined(&GEM_TX_CONFIG_TXRING_SZ);
    eval 'sub GEM_TX_CONFIG_TXFIFO_TH () {0x1ffc00;}' unless defined(&GEM_TX_CONFIG_TXFIFO_TH);
    eval 'sub GEM_TX_CONFIG_PACED () {0x200000;}' unless defined(&GEM_TX_CONFIG_PACED);
    eval 'sub GEM_RING_SZ_32 () {(0<<1);}' unless defined(&GEM_RING_SZ_32);
    eval 'sub GEM_RING_SZ_64 () {(1<<1);}' unless defined(&GEM_RING_SZ_64);
    eval 'sub GEM_RING_SZ_128 () {(2<<1);}' unless defined(&GEM_RING_SZ_128);
    eval 'sub GEM_RING_SZ_256 () {(3<<1);}' unless defined(&GEM_RING_SZ_256);
    eval 'sub GEM_RING_SZ_512 () {(4<<1);}' unless defined(&GEM_RING_SZ_512);
    eval 'sub GEM_RING_SZ_1024 () {(5<<1);}' unless defined(&GEM_RING_SZ_1024);
    eval 'sub GEM_RING_SZ_2048 () {(6<<1);}' unless defined(&GEM_RING_SZ_2048);
    eval 'sub GEM_RING_SZ_4096 () {(7<<1);}' unless defined(&GEM_RING_SZ_4096);
    eval 'sub GEM_RING_SZ_8192 () {(8<<1);}' unless defined(&GEM_RING_SZ_8192);
    eval 'sub GEM_TX_COMPLETION_MASK () {0x1fff;}' unless defined(&GEM_TX_COMPLETION_MASK);
    eval 'sub GEM_RX_CONFIG () {0x4000;}' unless defined(&GEM_RX_CONFIG);
    eval 'sub GEM_RX_RING_PTR_LO () {0x4004;}' unless defined(&GEM_RX_RING_PTR_LO);
    eval 'sub GEM_RX_RING_PTR_HI () {0x4008;}' unless defined(&GEM_RX_RING_PTR_HI);
    eval 'sub GEM_RX_FIFO_WR_PTR () {0x400c;}' unless defined(&GEM_RX_FIFO_WR_PTR);
    eval 'sub GEM_RX_FIFO_SDWR_PTR () {0x4010;}' unless defined(&GEM_RX_FIFO_SDWR_PTR);
    eval 'sub GEM_RX_FIFO_RD_PTR () {0x4014;}' unless defined(&GEM_RX_FIFO_RD_PTR);
    eval 'sub GEM_RX_FIFO_PKT_CNT () {0x4018;}' unless defined(&GEM_RX_FIFO_PKT_CNT);
    eval 'sub GEM_RX_STATE_MACHINE () {0x401c;}' unless defined(&GEM_RX_STATE_MACHINE);
    eval 'sub GEM_RX_PAUSE_THRESH () {0x4020;}' unless defined(&GEM_RX_PAUSE_THRESH);
    eval 'sub GEM_RX_DATA_PTR_LO () {0x4024;}' unless defined(&GEM_RX_DATA_PTR_LO);
    eval 'sub GEM_RX_DATA_PTR_HI () {0x4028;}' unless defined(&GEM_RX_DATA_PTR_HI);
    eval 'sub GEM_RX_KICK () {0x4100;}' unless defined(&GEM_RX_KICK);
    eval 'sub GEM_RX_COMPLETION () {0x4104;}' unless defined(&GEM_RX_COMPLETION);
    eval 'sub GEM_RX_BLANKING () {0x4108;}' unless defined(&GEM_RX_BLANKING);
    eval 'sub GEM_RX_FIFO_ADDRESS () {0x410c;}' unless defined(&GEM_RX_FIFO_ADDRESS);
    eval 'sub GEM_RX_FIFO_TAG () {0x4110;}' unless defined(&GEM_RX_FIFO_TAG);
    eval 'sub GEM_RX_FIFO_DATA_LO () {0x4114;}' unless defined(&GEM_RX_FIFO_DATA_LO);
    eval 'sub GEM_RX_FIFO_DATA_HI_T1 () {0x4118;}' unless defined(&GEM_RX_FIFO_DATA_HI_T1);
    eval 'sub GEM_RX_FIFO_DATA_HI_T0 () {0x411c;}' unless defined(&GEM_RX_FIFO_DATA_HI_T0);
    eval 'sub GEM_RX_FIFO_SIZE () {0x4120;}' unless defined(&GEM_RX_FIFO_SIZE);
    eval 'sub GEM_RX_CONFIG_RXDMA_EN () {0x1;}' unless defined(&GEM_RX_CONFIG_RXDMA_EN);
    eval 'sub GEM_RX_CONFIG_RXRING_SZ () {0x1e;}' unless defined(&GEM_RX_CONFIG_RXRING_SZ);
    eval 'sub GEM_RX_CONFIG_BATCH_DIS () {0x20;}' unless defined(&GEM_RX_CONFIG_BATCH_DIS);
    eval 'sub GEM_RX_CONFIG_FBOFF () {0x1c00;}' unless defined(&GEM_RX_CONFIG_FBOFF);
    eval 'sub GEM_RX_CONFIG_CXM_START () {0xfe000;}' unless defined(&GEM_RX_CONFIG_CXM_START);
    eval 'sub GEM_RX_CONFIG_FIFO_THRS () {0x7000000;}' unless defined(&GEM_RX_CONFIG_FIFO_THRS);
    eval 'sub GEM_THRSH_64 () {0;}' unless defined(&GEM_THRSH_64);
    eval 'sub GEM_THRSH_128 () {1;}' unless defined(&GEM_THRSH_128);
    eval 'sub GEM_THRSH_256 () {2;}' unless defined(&GEM_THRSH_256);
    eval 'sub GEM_THRSH_512 () {3;}' unless defined(&GEM_THRSH_512);
    eval 'sub GEM_THRSH_1024 () {4;}' unless defined(&GEM_THRSH_1024);
    eval 'sub GEM_THRSH_2048 () {5;}' unless defined(&GEM_THRSH_2048);
    eval 'sub GEM_RX_CONFIG_FIFO_THRS_SHIFT () {24;}' unless defined(&GEM_RX_CONFIG_FIFO_THRS_SHIFT);
    eval 'sub GEM_RX_CONFIG_FBOFF_SHFT () {10;}' unless defined(&GEM_RX_CONFIG_FBOFF_SHFT);
    eval 'sub GEM_RX_CONFIG_CXM_START_SHFT () {13;}' unless defined(&GEM_RX_CONFIG_CXM_START_SHFT);
    eval 'sub GEM_RX_PTH_XOFF_THRESH () {0x1ff;}' unless defined(&GEM_RX_PTH_XOFF_THRESH);
    eval 'sub GEM_RX_PTH_XON_THRESH () {0x7fc0000;}' unless defined(&GEM_RX_PTH_XON_THRESH);
    eval 'sub GEM_RX_BLANKING_PACKETS () {0x1ff;}' unless defined(&GEM_RX_BLANKING_PACKETS);
    eval 'sub GEM_RX_BLANKING_TIME () {0x3fc0000;}' unless defined(&GEM_RX_BLANKING_TIME);
    eval 'sub GEM_MAC_TXRESET () {0x6000;}' unless defined(&GEM_MAC_TXRESET);
    eval 'sub GEM_MAC_RXRESET () {0x6004;}' unless defined(&GEM_MAC_RXRESET);
    eval 'sub GEM_MAC_SEND_PAUSE_CMD () {0x6008;}' unless defined(&GEM_MAC_SEND_PAUSE_CMD);
    eval 'sub GEM_MAC_TX_STATUS () {0x6010;}' unless defined(&GEM_MAC_TX_STATUS);
    eval 'sub GEM_MAC_RX_STATUS () {0x6014;}' unless defined(&GEM_MAC_RX_STATUS);
    eval 'sub GEM_MAC_CONTROL_STATUS () {0x6018;}' unless defined(&GEM_MAC_CONTROL_STATUS);
    eval 'sub GEM_MAC_TX_MASK () {0x6020;}' unless defined(&GEM_MAC_TX_MASK);
    eval 'sub GEM_MAC_RX_MASK () {0x6024;}' unless defined(&GEM_MAC_RX_MASK);
    eval 'sub GEM_MAC_CONTROL_MASK () {0x6028;}' unless defined(&GEM_MAC_CONTROL_MASK);
    eval 'sub GEM_MAC_TX_CONFIG () {0x6030;}' unless defined(&GEM_MAC_TX_CONFIG);
    eval 'sub GEM_MAC_RX_CONFIG () {0x6034;}' unless defined(&GEM_MAC_RX_CONFIG);
    eval 'sub GEM_MAC_CONTROL_CONFIG () {0x6038;}' unless defined(&GEM_MAC_CONTROL_CONFIG);
    eval 'sub GEM_MAC_XIF_CONFIG () {0x603c;}' unless defined(&GEM_MAC_XIF_CONFIG);
    eval 'sub GEM_MAC_IPG0 () {0x6040;}' unless defined(&GEM_MAC_IPG0);
    eval 'sub GEM_MAC_IPG1 () {0x6044;}' unless defined(&GEM_MAC_IPG1);
    eval 'sub GEM_MAC_IPG2 () {0x6048;}' unless defined(&GEM_MAC_IPG2);
    eval 'sub GEM_MAC_SLOT_TIME () {0x604c;}' unless defined(&GEM_MAC_SLOT_TIME);
    eval 'sub GEM_MAC_MAC_MIN_FRAME () {0x6050;}' unless defined(&GEM_MAC_MAC_MIN_FRAME);
    eval 'sub GEM_MAC_MAC_MAX_FRAME () {0x6054;}' unless defined(&GEM_MAC_MAC_MAX_FRAME);
    eval 'sub GEM_MAC_PREAMBLE_LEN () {0x6058;}' unless defined(&GEM_MAC_PREAMBLE_LEN);
    eval 'sub GEM_MAC_JAM_SIZE () {0x605c;}' unless defined(&GEM_MAC_JAM_SIZE);
    eval 'sub GEM_MAC_ATTEMPT_LIMIT () {0x6060;}' unless defined(&GEM_MAC_ATTEMPT_LIMIT);
    eval 'sub GEM_MAC_CONTROL_TYPE () {0x6064;}' unless defined(&GEM_MAC_CONTROL_TYPE);
    eval 'sub GEM_MAC_ADDR0 () {0x6080;}' unless defined(&GEM_MAC_ADDR0);
    eval 'sub GEM_MAC_ADDR1 () {0x6084;}' unless defined(&GEM_MAC_ADDR1);
    eval 'sub GEM_MAC_ADDR2 () {0x6088;}' unless defined(&GEM_MAC_ADDR2);
    eval 'sub GEM_MAC_ADDR3 () {0x608c;}' unless defined(&GEM_MAC_ADDR3);
    eval 'sub GEM_MAC_ADDR4 () {0x6090;}' unless defined(&GEM_MAC_ADDR4);
    eval 'sub GEM_MAC_ADDR5 () {0x6094;}' unless defined(&GEM_MAC_ADDR5);
    eval 'sub GEM_MAC_ADDR6 () {0x6098;}' unless defined(&GEM_MAC_ADDR6);
    eval 'sub GEM_MAC_ADDR7 () {0x609c;}' unless defined(&GEM_MAC_ADDR7);
    eval 'sub GEM_MAC_ADDR8 () {0x60a0;}' unless defined(&GEM_MAC_ADDR8);
    eval 'sub GEM_MAC_ADDR_FILTER0 () {0x60a4;}' unless defined(&GEM_MAC_ADDR_FILTER0);
    eval 'sub GEM_MAC_ADDR_FILTER1 () {0x60a8;}' unless defined(&GEM_MAC_ADDR_FILTER1);
    eval 'sub GEM_MAC_ADDR_FILTER2 () {0x60ac;}' unless defined(&GEM_MAC_ADDR_FILTER2);
    eval 'sub GEM_MAC_ADR_FLT_MASK1_2 () {0x60b0;}' unless defined(&GEM_MAC_ADR_FLT_MASK1_2);
    eval 'sub GEM_MAC_ADR_FLT_MASK0 () {0x60b4;}' unless defined(&GEM_MAC_ADR_FLT_MASK0);
    eval 'sub GEM_MAC_HASH0 () {0x60c0;}' unless defined(&GEM_MAC_HASH0);
    eval 'sub GEM_MAC_HASH1 () {0x60c4;}' unless defined(&GEM_MAC_HASH1);
    eval 'sub GEM_MAC_HASH2 () {0x60c8;}' unless defined(&GEM_MAC_HASH2);
    eval 'sub GEM_MAC_HASH3 () {0x60cc;}' unless defined(&GEM_MAC_HASH3);
    eval 'sub GEM_MAC_HASH4 () {0x60d0;}' unless defined(&GEM_MAC_HASH4);
    eval 'sub GEM_MAC_HASH5 () {0x60d4;}' unless defined(&GEM_MAC_HASH5);
    eval 'sub GEM_MAC_HASH6 () {0x60d8;}' unless defined(&GEM_MAC_HASH6);
    eval 'sub GEM_MAC_HASH7 () {0x60dc;}' unless defined(&GEM_MAC_HASH7);
    eval 'sub GEM_MAC_HASH8 () {0x60e0;}' unless defined(&GEM_MAC_HASH8);
    eval 'sub GEM_MAC_HASH9 () {0x60e4;}' unless defined(&GEM_MAC_HASH9);
    eval 'sub GEM_MAC_HASH10 () {0x60e8;}' unless defined(&GEM_MAC_HASH10);
    eval 'sub GEM_MAC_HASH11 () {0x60ec;}' unless defined(&GEM_MAC_HASH11);
    eval 'sub GEM_MAC_HASH12 () {0x60f0;}' unless defined(&GEM_MAC_HASH12);
    eval 'sub GEM_MAC_HASH13 () {0x60f4;}' unless defined(&GEM_MAC_HASH13);
    eval 'sub GEM_MAC_HASH14 () {0x60f8;}' unless defined(&GEM_MAC_HASH14);
    eval 'sub GEM_MAC_HASH15 () {0x60fc;}' unless defined(&GEM_MAC_HASH15);
    eval 'sub GEM_MAC_NORM_COLL_CNT () {0x6100;}' unless defined(&GEM_MAC_NORM_COLL_CNT);
    eval 'sub GEM_MAC_FIRST_COLL_CNT () {0x6104;}' unless defined(&GEM_MAC_FIRST_COLL_CNT);
    eval 'sub GEM_MAC_EXCESS_COLL_CNT () {0x6108;}' unless defined(&GEM_MAC_EXCESS_COLL_CNT);
    eval 'sub GEM_MAC_LATE_COLL_CNT () {0x610c;}' unless defined(&GEM_MAC_LATE_COLL_CNT);
    eval 'sub GEM_MAC_DEFER_TMR_CNT () {0x6110;}' unless defined(&GEM_MAC_DEFER_TMR_CNT);
    eval 'sub GEM_MAC_PEAK_ATTEMPTS () {0x6114;}' unless defined(&GEM_MAC_PEAK_ATTEMPTS);
    eval 'sub GEM_MAC_RX_FRAME_COUNT () {0x6118;}' unless defined(&GEM_MAC_RX_FRAME_COUNT);
    eval 'sub GEM_MAC_RX_LEN_ERR_CNT () {0x611c;}' unless defined(&GEM_MAC_RX_LEN_ERR_CNT);
    eval 'sub GEM_MAC_RX_ALIGN_ERR () {0x6120;}' unless defined(&GEM_MAC_RX_ALIGN_ERR);
    eval 'sub GEM_MAC_RX_CRC_ERR_CNT () {0x6124;}' unless defined(&GEM_MAC_RX_CRC_ERR_CNT);
    eval 'sub GEM_MAC_RX_CODE_VIOL () {0x6128;}' unless defined(&GEM_MAC_RX_CODE_VIOL);
    eval 'sub GEM_MAC_RANDOM_SEED () {0x6130;}' unless defined(&GEM_MAC_RANDOM_SEED);
    eval 'sub GEM_MAC_MAC_STATE () {0x6134;}' unless defined(&GEM_MAC_MAC_STATE);
    eval 'sub GEM_MAC_PAUSE_CMD_TIME () {0xffff;}' unless defined(&GEM_MAC_PAUSE_CMD_TIME);
    eval 'sub GEM_MAC_PAUSE_CMD_SEND () {0x10000;}' unless defined(&GEM_MAC_PAUSE_CMD_SEND);
    eval 'sub GEM_MAC_TX_XMIT_DONE () {0x1;}' unless defined(&GEM_MAC_TX_XMIT_DONE);
    eval 'sub GEM_MAC_TX_UNDERRUN () {0x2;}' unless defined(&GEM_MAC_TX_UNDERRUN);
    eval 'sub GEM_MAC_TX_PKT_TOO_LONG () {0x4;}' unless defined(&GEM_MAC_TX_PKT_TOO_LONG);
    eval 'sub GEM_MAC_TX_NCC_EXP () {0x8;}' unless defined(&GEM_MAC_TX_NCC_EXP);
    eval 'sub GEM_MAC_TX_ECC_EXP () {0x10;}' unless defined(&GEM_MAC_TX_ECC_EXP);
    eval 'sub GEM_MAC_TX_LCC_EXP () {0x20;}' unless defined(&GEM_MAC_TX_LCC_EXP);
    eval 'sub GEM_MAC_TX_FCC_EXP () {0x40;}' unless defined(&GEM_MAC_TX_FCC_EXP);
    eval 'sub GEM_MAC_TX_DEFER_EXP () {0x80;}' unless defined(&GEM_MAC_TX_DEFER_EXP);
    eval 'sub GEM_MAC_TX_PEAK_EXP () {0x100;}' unless defined(&GEM_MAC_TX_PEAK_EXP);
    eval 'sub GEM_MAC_RX_DONE () {0x1;}' unless defined(&GEM_MAC_RX_DONE);
    eval 'sub GEM_MAC_RX_OVERFLOW () {0x2;}' unless defined(&GEM_MAC_RX_OVERFLOW);
    eval 'sub GEM_MAC_RX_FRAME_CNT () {0x4;}' unless defined(&GEM_MAC_RX_FRAME_CNT);
    eval 'sub GEM_MAC_RX_ALIGN_EXP () {0x8;}' unless defined(&GEM_MAC_RX_ALIGN_EXP);
    eval 'sub GEM_MAC_RX_CRC_EXP () {0x10;}' unless defined(&GEM_MAC_RX_CRC_EXP);
    eval 'sub GEM_MAC_RX_LEN_EXP () {0x20;}' unless defined(&GEM_MAC_RX_LEN_EXP);
    eval 'sub GEM_MAC_RX_CVI_EXP () {0x40;}' unless defined(&GEM_MAC_RX_CVI_EXP);
    eval 'sub GEM_MAC_PAUSED () {0x1;}' unless defined(&GEM_MAC_PAUSED);
    eval 'sub GEM_MAC_PAUSE () {0x2;}' unless defined(&GEM_MAC_PAUSE);
    eval 'sub GEM_MAC_RESUME () {0x4;}' unless defined(&GEM_MAC_RESUME);
    eval 'sub GEM_MAC_PAUSE_TIME () {0xffff0000;}' unless defined(&GEM_MAC_PAUSE_TIME);
    eval 'sub GEM_MAC_XIF_TX_MII_ENA () {0x1;}' unless defined(&GEM_MAC_XIF_TX_MII_ENA);
    eval 'sub GEM_MAC_XIF_MII_LOOPBK () {0x2;}' unless defined(&GEM_MAC_XIF_MII_LOOPBK);
    eval 'sub GEM_MAC_XIF_ECHO_DISABL () {0x4;}' unless defined(&GEM_MAC_XIF_ECHO_DISABL);
    eval 'sub GEM_MAC_XIF_GMII_MODE () {0x8;}' unless defined(&GEM_MAC_XIF_GMII_MODE);
    eval 'sub GEM_MAC_XIF_MII_BUF_ENA () {0x10;}' unless defined(&GEM_MAC_XIF_MII_BUF_ENA);
    eval 'sub GEM_MAC_XIF_LINK_LED () {0x20;}' unless defined(&GEM_MAC_XIF_LINK_LED);
    eval 'sub GEM_MAC_XIF_FDPLX_LED () {0x40;}' unless defined(&GEM_MAC_XIF_FDPLX_LED);
    eval 'sub GEM_MAC_SLOT_INT () {0x40;}' unless defined(&GEM_MAC_SLOT_INT);
    eval 'sub GEM_MAC_SLOT_EXT () {0x200;}' unless defined(&GEM_MAC_SLOT_EXT);
    eval 'sub GEM_MAC_TX_ENABLE () {0x1;}' unless defined(&GEM_MAC_TX_ENABLE);
    eval 'sub GEM_MAC_TX_IGN_CARRIER () {0x2;}' unless defined(&GEM_MAC_TX_IGN_CARRIER);
    eval 'sub GEM_MAC_TX_IGN_COLLIS () {0x4;}' unless defined(&GEM_MAC_TX_IGN_COLLIS);
    eval 'sub GEM_MAC_TX_ENA_IPG0 () {0x8;}' unless defined(&GEM_MAC_TX_ENA_IPG0);
    eval 'sub GEM_MAC_TX_NGU () {0x10;}' unless defined(&GEM_MAC_TX_NGU);
    eval 'sub GEM_MAC_TX_NGU_LIMIT () {0x20;}' unless defined(&GEM_MAC_TX_NGU_LIMIT);
    eval 'sub GEM_MAC_TX_NO_BACKOFF () {0x40;}' unless defined(&GEM_MAC_TX_NO_BACKOFF);
    eval 'sub GEM_MAC_TX_SLOWDOWN () {0x80;}' unless defined(&GEM_MAC_TX_SLOWDOWN);
    eval 'sub GEM_MAC_TX_NO_FCS () {0x100;}' unless defined(&GEM_MAC_TX_NO_FCS);
    eval 'sub GEM_MAC_TX_CARR_EXTEND () {0x200;}' unless defined(&GEM_MAC_TX_CARR_EXTEND);
    eval 'sub GEM_MAC_RX_ENABLE () {0x1;}' unless defined(&GEM_MAC_RX_ENABLE);
    eval 'sub GEM_MAC_RX_STRIP_PAD () {0x2;}' unless defined(&GEM_MAC_RX_STRIP_PAD);
    eval 'sub GEM_MAC_RX_STRIP_CRC () {0x4;}' unless defined(&GEM_MAC_RX_STRIP_CRC);
    eval 'sub GEM_MAC_RX_PROMISCUOUS () {0x8;}' unless defined(&GEM_MAC_RX_PROMISCUOUS);
    eval 'sub GEM_MAC_RX_PROMISC_GRP () {0x10;}' unless defined(&GEM_MAC_RX_PROMISC_GRP);
    eval 'sub GEM_MAC_RX_HASH_FILTER () {0x20;}' unless defined(&GEM_MAC_RX_HASH_FILTER);
    eval 'sub GEM_MAC_RX_ADDR_FILTER () {0x40;}' unless defined(&GEM_MAC_RX_ADDR_FILTER);
    eval 'sub GEM_MAC_RX_ERRCHK_DIS () {0x80;}' unless defined(&GEM_MAC_RX_ERRCHK_DIS);
    eval 'sub GEM_MAC_RX_CARR_EXTEND () {0x100;}' unless defined(&GEM_MAC_RX_CARR_EXTEND);
    eval 'sub GEM_MAC_CC_TX_PAUSE () {0x1;}' unless defined(&GEM_MAC_CC_TX_PAUSE);
    eval 'sub GEM_MAC_CC_RX_PAUSE () {0x2;}' unless defined(&GEM_MAC_CC_RX_PAUSE);
    eval 'sub GEM_MAC_CC_PASS_PAUSE () {0x4;}' unless defined(&GEM_MAC_CC_PASS_PAUSE);
    eval 'sub GEM_MIF_BB_CLOCK () {0x6200;}' unless defined(&GEM_MIF_BB_CLOCK);
    eval 'sub GEM_MIF_BB_DATA () {0x6204;}' unless defined(&GEM_MIF_BB_DATA);
    eval 'sub GEM_MIF_BB_OUTPUT_ENAB () {0x6208;}' unless defined(&GEM_MIF_BB_OUTPUT_ENAB);
    eval 'sub GEM_MIF_FRAME () {0x620c;}' unless defined(&GEM_MIF_FRAME);
    eval 'sub GEM_MIF_CONFIG () {0x6210;}' unless defined(&GEM_MIF_CONFIG);
    eval 'sub GEM_MIF_INTERRUPT_MASK () {0x6214;}' unless defined(&GEM_MIF_INTERRUPT_MASK);
    eval 'sub GEM_MIF_BASIC_STATUS () {0x6218;}' unless defined(&GEM_MIF_BASIC_STATUS);
    eval 'sub GEM_MIF_STATE_MACHINE () {0x621c;}' unless defined(&GEM_MIF_STATE_MACHINE);
    eval 'sub GEM_MIF_FRAME_DATA () {0xffff;}' unless defined(&GEM_MIF_FRAME_DATA);
    eval 'sub GEM_MIF_FRAME_TA0 () {0x10000;}' unless defined(&GEM_MIF_FRAME_TA0);
    eval 'sub GEM_MIF_FRAME_TA1 () {0x20000;}' unless defined(&GEM_MIF_FRAME_TA1);
    eval 'sub GEM_MIF_FRAME_REG_ADDR () {0x7c0000;}' unless defined(&GEM_MIF_FRAME_REG_ADDR);
    eval 'sub GEM_MIF_FRAME_PHY_ADDR () {0xf800000;}' unless defined(&GEM_MIF_FRAME_PHY_ADDR);
    eval 'sub GEM_MIF_FRAME_OP () {0x30000000;}' unless defined(&GEM_MIF_FRAME_OP);
    eval 'sub GEM_MIF_FRAME_START () {0xc0000000;}' unless defined(&GEM_MIF_FRAME_START);
    eval 'sub GEM_MIF_FRAME_READ () {0x60020000;}' unless defined(&GEM_MIF_FRAME_READ);
    eval 'sub GEM_MIF_FRAME_WRITE () {0x50020000;}' unless defined(&GEM_MIF_FRAME_WRITE);
    eval 'sub GEM_MIF_REG_SHIFT () {18;}' unless defined(&GEM_MIF_REG_SHIFT);
    eval 'sub GEM_MIF_PHY_SHIFT () {23;}' unless defined(&GEM_MIF_PHY_SHIFT);
    eval 'sub GEM_MIF_CONFIG_PHY_SEL () {0x1;}' unless defined(&GEM_MIF_CONFIG_PHY_SEL);
    eval 'sub GEM_MIF_CONFIG_POLL_ENA () {0x2;}' unless defined(&GEM_MIF_CONFIG_POLL_ENA);
    eval 'sub GEM_MIF_CONFIG_BB_ENA () {0x4;}' unless defined(&GEM_MIF_CONFIG_BB_ENA);
    eval 'sub GEM_MIF_CONFIG_REG_ADR () {0xf8;}' unless defined(&GEM_MIF_CONFIG_REG_ADR);
    eval 'sub GEM_MIF_CONFIG_MDI0 () {0x100;}' unless defined(&GEM_MIF_CONFIG_MDI0);
    eval 'sub GEM_MIF_CONFIG_MDI1 () {0x200;}' unless defined(&GEM_MIF_CONFIG_MDI1);
    eval 'sub GEM_MIF_CONFIG_PHY_ADR () {0x7c00;}' unless defined(&GEM_MIF_CONFIG_PHY_ADR);
    eval 'sub GEM_MIF_STATUS () {0xffff;}' unless defined(&GEM_MIF_STATUS);
    eval 'sub GEM_MIF_BASIC () {0xffff0000;}' unless defined(&GEM_MIF_BASIC);
    eval 'sub GEM_MII_CONTROL () {0x9000;}' unless defined(&GEM_MII_CONTROL);
    eval 'sub GEM_MII_STATUS () {0x9004;}' unless defined(&GEM_MII_STATUS);
    eval 'sub GEM_MII_ANAR () {0x9008;}' unless defined(&GEM_MII_ANAR);
    eval 'sub GEM_MII_ANLPAR () {0x900c;}' unless defined(&GEM_MII_ANLPAR);
    eval 'sub GEM_MII_CONFIG () {0x9010;}' unless defined(&GEM_MII_CONFIG);
    eval 'sub GEM_MII_STATE_MACHINE () {0x9014;}' unless defined(&GEM_MII_STATE_MACHINE);
    eval 'sub GEM_MII_INTERRUP_STATUS () {0x9018;}' unless defined(&GEM_MII_INTERRUP_STATUS);
    eval 'sub GEM_MII_DATAPATH_MODE () {0x9050;}' unless defined(&GEM_MII_DATAPATH_MODE);
    eval 'sub GEM_MII_SLINK_CONTROL () {0x9054;}' unless defined(&GEM_MII_SLINK_CONTROL);
    eval 'sub GEM_MII_OUTPUT_SELECT () {0x9058;}' unless defined(&GEM_MII_OUTPUT_SELECT);
    eval 'sub GEM_MII_SLINK_STATUS () {0x905c;}' unless defined(&GEM_MII_SLINK_STATUS);
    eval 'sub GEM_MII_CONTROL_RESET () {0x8000;}' unless defined(&GEM_MII_CONTROL_RESET);
    eval 'sub GEM_MII_CONTROL_LOOPBK () {0x4000;}' unless defined(&GEM_MII_CONTROL_LOOPBK);
    eval 'sub GEM_MII_CONTROL_1000M () {0x2000;}' unless defined(&GEM_MII_CONTROL_1000M);
    eval 'sub GEM_MII_CONTROL_AUTONEG () {0x1000;}' unless defined(&GEM_MII_CONTROL_AUTONEG);
    eval 'sub GEM_MII_CONTROL_POWERDN () {0x800;}' unless defined(&GEM_MII_CONTROL_POWERDN);
    eval 'sub GEM_MII_CONTROL_ISOLATE () {0x400;}' unless defined(&GEM_MII_CONTROL_ISOLATE);
    eval 'sub GEM_MII_CONTROL_RAN () {0x200;}' unless defined(&GEM_MII_CONTROL_RAN);
    eval 'sub GEM_MII_CONTROL_FDUPLEX () {0x100;}' unless defined(&GEM_MII_CONTROL_FDUPLEX);
    eval 'sub GEM_MII_CONTROL_COL_TST () {0x80;}' unless defined(&GEM_MII_CONTROL_COL_TST);
    eval 'sub GEM_MII_STATUS_GB_FDX () {0x400;}' unless defined(&GEM_MII_STATUS_GB_FDX);
    eval 'sub GEM_MII_STATUS_GB_HDX () {0x200;}' unless defined(&GEM_MII_STATUS_GB_HDX);
    eval 'sub GEM_MII_STATUS_UNK () {0x100;}' unless defined(&GEM_MII_STATUS_UNK);
    eval 'sub GEM_MII_STATUS_ANEG_CPT () {0x20;}' unless defined(&GEM_MII_STATUS_ANEG_CPT);
    eval 'sub GEM_MII_STATUS_REM_FLT () {0x10;}' unless defined(&GEM_MII_STATUS_REM_FLT);
    eval 'sub GEM_MII_STATUS_ACFG () {0x8;}' unless defined(&GEM_MII_STATUS_ACFG);
    eval 'sub GEM_MII_STATUS_LINK_STS () {0x4;}' unless defined(&GEM_MII_STATUS_LINK_STS);
    eval 'sub GEM_MII_STATUS_JABBER () {0x2;}' unless defined(&GEM_MII_STATUS_JABBER);
    eval 'sub GEM_MII_STATUS_EXTCAP () {0x1;}' unless defined(&GEM_MII_STATUS_EXTCAP);
    eval 'sub GEM_MII_ANEG_NP () {0x8000;}' unless defined(&GEM_MII_ANEG_NP);
    eval 'sub GEM_MII_ANEG_ACK () {0x4000;}' unless defined(&GEM_MII_ANEG_ACK);
    eval 'sub GEM_MII_ANEG_RF () {0x3000;}' unless defined(&GEM_MII_ANEG_RF);
    eval 'sub GEM_MII_ANEG_ASYM_PAUSE () {0x100;}' unless defined(&GEM_MII_ANEG_ASYM_PAUSE);
    eval 'sub GEM_MII_ANEG_SYM_PAUSE () {0x80;}' unless defined(&GEM_MII_ANEG_SYM_PAUSE);
    eval 'sub GEM_MII_ANEG_HLF_DUPLX () {0x40;}' unless defined(&GEM_MII_ANEG_HLF_DUPLX);
    eval 'sub GEM_MII_ANEG_FUL_DUPLX () {0x20;}' unless defined(&GEM_MII_ANEG_FUL_DUPLX);
    eval 'sub GEM_MII_CONFIG_TIMER () {0xe;}' unless defined(&GEM_MII_CONFIG_TIMER);
    eval 'sub GEM_MII_CONFIG_ANTO () {0x20;}' unless defined(&GEM_MII_CONFIG_ANTO);
    eval 'sub GEM_MII_CONFIG_JS () {0x18;}' unless defined(&GEM_MII_CONFIG_JS);
    eval 'sub GEM_MII_CONFIG_SDL () {0x4;}' unless defined(&GEM_MII_CONFIG_SDL);
    eval 'sub GEM_MII_CONFIG_SDO () {0x2;}' unless defined(&GEM_MII_CONFIG_SDO);
    eval 'sub GEM_MII_CONFIG_ENABLE () {0x1;}' unless defined(&GEM_MII_CONFIG_ENABLE);
    eval 'sub GEM_MII_FSM_STOP () {0x;}' unless defined(&GEM_MII_FSM_STOP);
    eval 'sub GEM_MII_FSM_RUN () {0x1;}' unless defined(&GEM_MII_FSM_RUN);
    eval 'sub GEM_MII_FSM_UNKWN () {0x100;}' unless defined(&GEM_MII_FSM_UNKWN);
    eval 'sub GEM_MII_FSM_DONE () {0x101;}' unless defined(&GEM_MII_FSM_DONE);
    eval 'sub GEM_MII_INTERRUP_LINK () {0x2;}' unless defined(&GEM_MII_INTERRUP_LINK);
    eval 'sub GEM_MII_DATAPATH_SERIAL () {0x1;}' unless defined(&GEM_MII_DATAPATH_SERIAL);
    eval 'sub GEM_MII_DATAPATH_SERDES () {0x2;}' unless defined(&GEM_MII_DATAPATH_SERDES);
    eval 'sub GEM_MII_DATAPATH_MII () {0x4;}' unless defined(&GEM_MII_DATAPATH_MII);
    eval 'sub GEM_MII_DATAPATH_MIIOUT () {0x8;}' unless defined(&GEM_MII_DATAPATH_MIIOUT);
    eval 'sub GEM_MII_SLINK_LOOPBACK () {0x1;}' unless defined(&GEM_MII_SLINK_LOOPBACK);
    eval 'sub GEM_MII_SLINK_EN_SYNC_D () {0x2;}' unless defined(&GEM_MII_SLINK_EN_SYNC_D);
    eval 'sub GEM_MII_SLINK_LOCK_REF () {0x4;}' unless defined(&GEM_MII_SLINK_LOCK_REF);
    eval 'sub GEM_MII_SLINK_EMPHASIS () {0x8;}' unless defined(&GEM_MII_SLINK_EMPHASIS);
    eval 'sub GEM_MII_SLINK_SELFTEST () {0x1c0;}' unless defined(&GEM_MII_SLINK_SELFTEST);
    eval 'sub GEM_MII_SLINK_POWER_OFF () {0x200;}' unless defined(&GEM_MII_SLINK_POWER_OFF);
    eval 'sub GEM_MII_SLINK_TEST () {0x;}' unless defined(&GEM_MII_SLINK_TEST);
    eval 'sub GEM_MII_SLINK_LOCKED () {0x1;}' unless defined(&GEM_MII_SLINK_LOCKED);
    eval 'sub GEM_MII_SLINK_COMMA () {0x2;}' unless defined(&GEM_MII_SLINK_COMMA);
    eval 'sub GEM_MII_SLINK_SYNC () {0x3;}' unless defined(&GEM_MII_SLINK_SYNC);
    eval 'sub GEM_PHYAD_INTERNAL () {1;}' unless defined(&GEM_PHYAD_INTERNAL);
    eval 'sub GEM_PHYAD_EXTERNAL () {0;}' unless defined(&GEM_PHYAD_EXTERNAL);
    eval 'sub GEM_TD_BUFSIZE () {0x7fff;}' unless defined(&GEM_TD_BUFSIZE);
    eval 'sub GEM_TD_CXSUM_START () {0x1f8000;}' unless defined(&GEM_TD_CXSUM_START);
    eval 'sub GEM_TD_CXSUM_STARTSHFT () {15;}' unless defined(&GEM_TD_CXSUM_STARTSHFT);
    eval 'sub GEM_TD_CXSUM_STUFF () {0x1fe00000;}' unless defined(&GEM_TD_CXSUM_STUFF);
    eval 'sub GEM_TD_CXSUM_STUFFSHFT () {21;}' unless defined(&GEM_TD_CXSUM_STUFFSHFT);
    eval 'sub GEM_TD_CXSUM_ENABLE () {0x20000000;}' unless defined(&GEM_TD_CXSUM_ENABLE);
    eval 'sub GEM_TD_END_OF_PACKET () {0x40000000;}' unless defined(&GEM_TD_END_OF_PACKET);
    eval 'sub GEM_TD_START_OF_PACKET () {0x80000000;}' unless defined(&GEM_TD_START_OF_PACKET);
    eval 'sub GEM_TD_INTERRUPT_ME () {4294967296;}' unless defined(&GEM_TD_INTERRUPT_ME);
    eval 'sub GEM_TD_NO_CRC () {8589934592;}' unless defined(&GEM_TD_NO_CRC);
    eval 'sub GEM_RD_CHECKSUM () {0xffff;}' unless defined(&GEM_RD_CHECKSUM);
    eval 'sub GEM_RD_BUFSIZE () {0x7fff0000;}' unless defined(&GEM_RD_BUFSIZE);
    eval 'sub GEM_RD_OWN () {0x80000000;}' unless defined(&GEM_RD_OWN);
    eval 'sub GEM_RD_HASHVAL () {1.1529039124208e+18;}' unless defined(&GEM_RD_HASHVAL);
    eval 'sub GEM_RD_HASH_PASS () {1.15292150460685e+18;}' unless defined(&GEM_RD_HASH_PASS);
    eval 'sub GEM_RD_ALTERNATE_MAC () {2.30584300921369e+18;}' unless defined(&GEM_RD_ALTERNATE_MAC);
    eval 'sub GEM_RD_BAD_CRC () {4.61168601842739e+18;}' unless defined(&GEM_RD_BAD_CRC);
    eval 'sub GEM_RD_BUFSHIFT () {16;}' unless defined(&GEM_RD_BUFSHIFT);
    eval 'sub GEM_RD_BUFLEN {
        my($x) = @_;
	    eval q(((($x) &GEM_RD_BUFSIZE)>> &GEM_RD_BUFSHIFT));
    }' unless defined(&GEM_RD_BUFLEN);
}
1;
