⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xbow.h

📁 linux-2.4.29操作系统的源码
💻 H
📖 第 1 页 / 共 3 页
字号:
                                rcv_err_intr:1,                                 trx_max_retry_intr:1,                                trxov_intr:1,                                 rcvov_intr:1,                                bwalloc_intr:1,                                 rsvd2:7,                                 obuf_intr:1,                                idest_intr:1,                                 llp_credit:5,                                 force_badllp:1,                                send_bm8:1,                                 inbuf_level:3,                                 perf_mode:2,                                rsvd1:1,        		                alive_intr:1;    } xb_linkcontrol;} xbow_linkctrl_t;#elsetypedef union xbow_linkctrl_u {    xbowreg_t		    xbl_ctrlword;    struct {	uint32_t		alive_intr:1, 				rsvd1:1, 				perf_mode:2,				inbuf_level:3, 				send_bm8:1, 				force_badllp:1,				llp_credit:5, 				idest_intr:1, 				obuf_intr:1,				rsvd2:7, 				bwalloc_intr:1, 				rcvov_intr:1,				trxov_intr:1, 				trx_max_retry_intr:1,				rcv_err_intr:1, 				trx_retry_intr:1, 				rsvd3:1,				maxto_intr:1, 				srcto_intr:1;    } xb_linkcontrol;} xbow_linkctrl_t;#endif#define	xbctl_accerr_intr	(xbw0_ctrlfield.accerr_intr)#define	xbctl_xtalkerr_intr	(xbw0_ctrlfield.xtalkerr_intr)#define	xbctl_cnntout_intr	(xbw0_ctrlfield.conntout_intr)#define	XBW0_CTRL_ACCERR_INTR	(1 << 5)#define	XBW0_CTRL_XTERR_INTR	(1 << 2)#define	XBW0_CTRL_CONNTOUT_INTR	(1 << 1)/* * Xbow Link specific Registers structure definitions. */#ifdef LITTLE_ENDIANtypedef union xbow_linkX_status_u {    xbowreg_t               linkstatus;    struct {	uint32_t               pkt_toutsrc:1,                                pkt_toutconn:1, /* max_req_tout in Xbridge */                                pkt_toutdest:1, /* reserved in Xbridge */                                llp_xmitretry:1,                                llp_rcverror:1,                                llp_maxtxretry:1,                                llp_txovflow:1,                                llp_rxovflow:1,                                bw_errport:8,   /* BW allocation error port   */                                ioe:1,          /* Input overallocation error */                                illdest:1,                                merror:1,                                resvd1:12,				alive:1;    } xb_linkstatus;} xbwX_stat_t;#elsetypedef union xbow_linkX_status_u {    xbowreg_t		    linkstatus;    struct {	uint32_t		alive:1,				resvd1:12,				merror:1,				illdest:1,				ioe:1,		/* Input overallocation error */				bw_errport:8,	/* BW allocation error port   */				llp_rxovflow:1,				llp_txovflow:1,				llp_maxtxretry:1,				llp_rcverror:1,				llp_xmitretry:1,				pkt_toutdest:1, /* reserved in Xbridge */				pkt_toutconn:1, /* max_req_tout in Xbridge */				pkt_toutsrc:1;    } xb_linkstatus;} xbwX_stat_t;#endif#define	link_alive		xb_linkstatus.alive#define	link_multierror		xb_linkstatus.merror#define	link_illegal_dest	xb_linkstatus.illdest#define	link_ioe		xb_linkstatus.ioe#define link_max_req_tout	xb_linkstatus.pkt_toutconn  /* Xbridge */#define link_pkt_toutconn	xb_linkstatus.pkt_toutconn  /* Xbow */#define link_pkt_toutdest	xb_linkstatus.pkt_toutdest#define	link_pkt_toutsrc	xb_linkstatus.pkt_toutsrc#ifdef LITTLE_ENDIANtypedef union xbow_aux_linkX_status_u {    xbowreg_t               aux_linkstatus;    struct {	uint32_t 		rsvd2:4,                                bit_mode_8:1,                                wid_present:1,                                fail_mode:1,                                rsvd1:1,                                to_src_loc:8,                                tx_retry_cnt:8,				rx_err_cnt:8;    } xb_aux_linkstatus;} xbow_aux_link_status_t;#elsetypedef union xbow_aux_linkX_status_u {    xbowreg_t		    aux_linkstatus;    struct {	uint32_t		rx_err_cnt:8,				tx_retry_cnt:8,				to_src_loc:8,				rsvd1:1,				fail_mode:1,				wid_present:1,				bit_mode_8:1,				rsvd2:4;    } xb_aux_linkstatus;} xbow_aux_link_status_t;#endif#ifdef LITTLE_ENDIANtypedef union xbow_perf_count_u {    xbowreg_t               xb_counter_val;    struct {        uint32_t 		count:20,                                link_select:3,				rsvd:9;    } xb_perf;} xbow_perfcount_t;#elsetypedef union xbow_perf_count_u {    xbowreg_t               xb_counter_val;    struct {	uint32_t              rsvd:9, 				link_select:3, 				count:20;    } xb_perf;} xbow_perfcount_t;#endif#define XBOW_COUNTER_MASK	0xFFFFFextern int              xbow_widget_present(xbow_t * xbow, int port);extern xwidget_intr_preset_f xbow_intr_preset;extern xswitch_reset_link_f xbow_reset_link;void                    xbow_mlreset(xbow_t *);/* ======================================================================== */#ifdef	MACROFIELD_LINE/* * This table forms a relation between the byte offset macros normally * used for ASM coding and the calculated byte offsets of the fields * in the C structure. * * See xbow_check.c xbow_html.c for further details. */#ifndef MACROFIELD_LINE_BITFIELD#define MACROFIELD_LINE_BITFIELD(m)	/* ignored */#endifstruct macrofield_s     xbow_macrofield[] ={    MACROFIELD_LINE(XBOW_WID_ID, xb_wid_id)    MACROFIELD_LINE(XBOW_WID_STAT, xb_wid_stat)    MACROFIELD_LINE_BITFIELD(XB_WID_STAT_LINK_INTR(0xF))    MACROFIELD_LINE_BITFIELD(XB_WID_STAT_LINK_INTR(0xE))    MACROFIELD_LINE_BITFIELD(XB_WID_STAT_LINK_INTR(0xD))    MACROFIELD_LINE_BITFIELD(XB_WID_STAT_LINK_INTR(0xC))    MACROFIELD_LINE_BITFIELD(XB_WID_STAT_LINK_INTR(0xB))    MACROFIELD_LINE_BITFIELD(XB_WID_STAT_LINK_INTR(0xA))    MACROFIELD_LINE_BITFIELD(XB_WID_STAT_LINK_INTR(0x9))    MACROFIELD_LINE_BITFIELD(XB_WID_STAT_LINK_INTR(0x8))    MACROFIELD_LINE_BITFIELD(XB_WID_STAT_WIDGET0_INTR)    MACROFIELD_LINE_BITFIELD(XB_WID_STAT_REG_ACC_ERR)    MACROFIELD_LINE_BITFIELD(XB_WID_STAT_XTALK_ERR)    MACROFIELD_LINE_BITFIELD(XB_WID_STAT_MULTI_ERR)    MACROFIELD_LINE(XBOW_WID_ERR_UPPER, xb_wid_err_upper)    MACROFIELD_LINE(XBOW_WID_ERR_LOWER, xb_wid_err_lower)    MACROFIELD_LINE(XBOW_WID_CONTROL, xb_wid_control)    MACROFIELD_LINE_BITFIELD(XB_WID_CTRL_REG_ACC_IE)    MACROFIELD_LINE_BITFIELD(XB_WID_CTRL_XTALK_IE)    MACROFIELD_LINE(XBOW_WID_REQ_TO, xb_wid_req_timeout)    MACROFIELD_LINE(XBOW_WID_INT_UPPER, xb_wid_int_upper)    MACROFIELD_LINE(XBOW_WID_INT_LOWER, xb_wid_int_lower)    MACROFIELD_LINE(XBOW_WID_ERR_CMDWORD, xb_wid_err_cmdword)    MACROFIELD_LINE(XBOW_WID_LLP, xb_wid_llp)    MACROFIELD_LINE(XBOW_WID_STAT_CLR, xb_wid_stat_clr)    MACROFIELD_LINE(XBOW_WID_ARB_RELOAD, xb_wid_arb_reload)    MACROFIELD_LINE(XBOW_WID_PERF_CTR_A, xb_perf_ctr_a)    MACROFIELD_LINE(XBOW_WID_PERF_CTR_B, xb_perf_ctr_b)    MACROFIELD_LINE(XBOW_WID_NIC, xb_nic)    MACROFIELD_LINE(XB_LINK_REG_BASE(8), xb_link(8))    MACROFIELD_LINE(XB_LINK_IBUF_FLUSH(8), xb_link(8).link_ibf)    MACROFIELD_LINE(XB_LINK_CTRL(8), xb_link(8).link_control)    MACROFIELD_LINE_BITFIELD(XB_CTRL_LINKALIVE_IE)    MACROFIELD_LINE_BITFIELD(XB_CTRL_PERF_CTR_MODE_MSK)    MACROFIELD_LINE_BITFIELD(XB_CTRL_IBUF_LEVEL_MSK)    MACROFIELD_LINE_BITFIELD(XB_CTRL_8BIT_MODE)    MACROFIELD_LINE_BITFIELD(XB_CTRL_BAD_LLP_PKT)    MACROFIELD_LINE_BITFIELD(XB_CTRL_WIDGET_CR_MSK)    MACROFIELD_LINE_BITFIELD(XB_CTRL_ILLEGAL_DST_IE)    MACROFIELD_LINE_BITFIELD(XB_CTRL_OALLOC_IBUF_IE)    MACROFIELD_LINE_BITFIELD(XB_CTRL_BNDWDTH_ALLOC_IE)    MACROFIELD_LINE_BITFIELD(XB_CTRL_RCV_CNT_OFLOW_IE)    MACROFIELD_LINE_BITFIELD(XB_CTRL_XMT_CNT_OFLOW_IE)    MACROFIELD_LINE_BITFIELD(XB_CTRL_XMT_MAX_RTRY_IE)    MACROFIELD_LINE_BITFIELD(XB_CTRL_RCV_IE)    MACROFIELD_LINE_BITFIELD(XB_CTRL_XMT_RTRY_IE)    MACROFIELD_LINE_BITFIELD(XB_CTRL_MAXREQ_TOUT_IE)    MACROFIELD_LINE_BITFIELD(XB_CTRL_SRC_TOUT_IE)    MACROFIELD_LINE(XB_LINK_STATUS(8), xb_link(8).link_status)    MACROFIELD_LINE_BITFIELD(XB_STAT_LINKALIVE)    MACROFIELD_LINE_BITFIELD(XB_STAT_MULTI_ERR)    MACROFIELD_LINE_BITFIELD(XB_STAT_ILLEGAL_DST_ERR)    MACROFIELD_LINE_BITFIELD(XB_STAT_OALLOC_IBUF_ERR)    MACROFIELD_LINE_BITFIELD(XB_STAT_BNDWDTH_ALLOC_ID_MSK)    MACROFIELD_LINE_BITFIELD(XB_STAT_RCV_CNT_OFLOW_ERR)    MACROFIELD_LINE_BITFIELD(XB_STAT_XMT_CNT_OFLOW_ERR)    MACROFIELD_LINE_BITFIELD(XB_STAT_XMT_MAX_RTRY_ERR)    MACROFIELD_LINE_BITFIELD(XB_STAT_RCV_ERR)    MACROFIELD_LINE_BITFIELD(XB_STAT_XMT_RTRY_ERR)    MACROFIELD_LINE_BITFIELD(XB_STAT_MAXREQ_TOUT_ERR)    MACROFIELD_LINE_BITFIELD(XB_STAT_SRC_TOUT_ERR)    MACROFIELD_LINE(XB_LINK_ARB_UPPER(8), xb_link(8).link_arb_upper)    MACROFIELD_LINE_BITFIELD(XB_ARB_RR_MSK << XB_ARB_RR_SHFT(0xb))    MACROFIELD_LINE_BITFIELD(XB_ARB_GBR_MSK << XB_ARB_GBR_SHFT(0xb))    MACROFIELD_LINE_BITFIELD(XB_ARB_RR_MSK << XB_ARB_RR_SHFT(0xa))    MACROFIELD_LINE_BITFIELD(XB_ARB_GBR_MSK << XB_ARB_GBR_SHFT(0xa))    MACROFIELD_LINE_BITFIELD(XB_ARB_RR_MSK << XB_ARB_RR_SHFT(0x9))    MACROFIELD_LINE_BITFIELD(XB_ARB_GBR_MSK << XB_ARB_GBR_SHFT(0x9))    MACROFIELD_LINE_BITFIELD(XB_ARB_RR_MSK << XB_ARB_RR_SHFT(0x8))    MACROFIELD_LINE_BITFIELD(XB_ARB_GBR_MSK << XB_ARB_GBR_SHFT(0x8))    MACROFIELD_LINE(XB_LINK_ARB_LOWER(8), xb_link(8).link_arb_lower)    MACROFIELD_LINE_BITFIELD(XB_ARB_RR_MSK << XB_ARB_RR_SHFT(0xf))    MACROFIELD_LINE_BITFIELD(XB_ARB_GBR_MSK << XB_ARB_GBR_SHFT(0xf))    MACROFIELD_LINE_BITFIELD(XB_ARB_RR_MSK << XB_ARB_RR_SHFT(0xe))    MACROFIELD_LINE_BITFIELD(XB_ARB_GBR_MSK << XB_ARB_GBR_SHFT(0xe))    MACROFIELD_LINE_BITFIELD(XB_ARB_RR_MSK << XB_ARB_RR_SHFT(0xd))    MACROFIELD_LINE_BITFIELD(XB_ARB_GBR_MSK << XB_ARB_GBR_SHFT(0xd))    MACROFIELD_LINE_BITFIELD(XB_ARB_RR_MSK << XB_ARB_RR_SHFT(0xc))    MACROFIELD_LINE_BITFIELD(XB_ARB_GBR_MSK << XB_ARB_GBR_SHFT(0xc))    MACROFIELD_LINE(XB_LINK_STATUS_CLR(8), xb_link(8).link_status_clr)    MACROFIELD_LINE(XB_LINK_RESET(8), xb_link(8).link_reset)    MACROFIELD_LINE(XB_LINK_AUX_STATUS(8), xb_link(8).link_aux_status)    MACROFIELD_LINE_BITFIELD(XB_AUX_STAT_RCV_CNT)    MACROFIELD_LINE_BITFIELD(XB_AUX_STAT_XMT_CNT)    MACROFIELD_LINE_BITFIELD(XB_AUX_LINKFAIL_RST_BAD)    MACROFIELD_LINE_BITFIELD(XB_AUX_STAT_PRESENT)    MACROFIELD_LINE_BITFIELD(XB_AUX_STAT_PORT_WIDTH)    MACROFIELD_LINE_BITFIELD(XB_AUX_STAT_TOUT_DST)    MACROFIELD_LINE(XB_LINK_REG_BASE(0x8), xb_link(0x8))    MACROFIELD_LINE(XB_LINK_REG_BASE(0x9), xb_link(0x9))    MACROFIELD_LINE(XB_LINK_REG_BASE(0xA), xb_link(0xA))    MACROFIELD_LINE(XB_LINK_REG_BASE(0xB), xb_link(0xB))    MACROFIELD_LINE(XB_LINK_REG_BASE(0xC), xb_link(0xC))    MACROFIELD_LINE(XB_LINK_REG_BASE(0xD), xb_link(0xD))    MACROFIELD_LINE(XB_LINK_REG_BASE(0xE), xb_link(0xE))    MACROFIELD_LINE(XB_LINK_REG_BASE(0xF), xb_link(0xF))};				/* xbow_macrofield[] */#endif				/* MACROFIELD_LINE */#endif				/* __ASSEMBLY__ */#endif                          /* _ASM_SN_SN_XTALK_XBOW_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -