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

📄 shubio.h

📁 linux-2.6.15.6
💻 H
📖 第 1 页 / 共 5 页
字号:
 * PIO read or write request only if the bit for the requestor's        * * region is set; otherwise, the II will not perform the requested      * * operation and will return an error response. When a PIO read or      * * write request targets an external Crosstalk widget, then not only    * * must the bit for the requestor's region be set in the ILAPR, but     * * also the target widget's bit in the IOWA register must be set in     * * order for the II to perform the requested operation; otherwise,      * * the II will return an error response. Hence, the protection          * * provided by the IOWA register supplements the protection provided    * * by the ILAPR for requests that target external Crosstalk widgets.    * * This register itself can be accessed only by the nodes whose         * * region ID bits are enabled in this same register. It can also be     * * accessed through the IAlias space by the local processors.           * * The reset value of this register allows access by all nodes.         * *									* ************************************************************************/typedef union ii_ilapr_u {	uint64_t ii_ilapr_regval;	struct {		uint64_t i_region:64;	} ii_ilapr_fld_s;} ii_ilapr_u_t;/************************************************************************ *									* * Description:  A write to this register of the 64-bit value           * * "SGIrules" in ASCII, will cause the bit in the ILAPR register        * * corresponding to the region of the requestor to be set (allow        * * access). A write of any other value will be ignored. Access          * * protection for this register is "SGIrules".                          * * This register can also be accessed through the IAlias space.         * * However, this access will not change the access permissions in the   * * ILAPR.                                                               * *									* ************************************************************************/typedef union ii_ilapo_u {	uint64_t ii_ilapo_regval;	struct {		uint64_t i_io_ovrride:64;	} ii_ilapo_fld_s;} ii_ilapo_u_t;/************************************************************************ *									* *  This register qualifies all the PIO and Graphics writes launched    * * from the SHUB towards a widget.                                      * *									* ************************************************************************/typedef union ii_iowa_u {	uint64_t ii_iowa_regval;	struct {		uint64_t i_w0_oac:1;		uint64_t i_rsvd_1:7;		uint64_t i_wx_oac:8;		uint64_t i_rsvd:48;	} ii_iowa_fld_s;} ii_iowa_u_t;/************************************************************************ *									* * Description:  This register qualifies all the requests launched      * * from a widget towards the Shub. This register is intended to be      * * used by software in case of misbehaving widgets.                     * *									* *									* ************************************************************************/typedef union ii_iiwa_u {	uint64_t ii_iiwa_regval;	struct {		uint64_t i_w0_iac:1;		uint64_t i_rsvd_1:7;		uint64_t i_wx_iac:8;		uint64_t i_rsvd:48;	} ii_iiwa_fld_s;} ii_iiwa_u_t;/************************************************************************ *									* * Description:  This register qualifies all the operations launched    * * from a widget towards the SHub. It allows individual access          * * control for up to 8 devices per widget. A device refers to           * * individual DMA master hosted by a widget.                            * * The bits in each field of this register are cleared by the Shub      * * upon detection of an error which requires the device to be           * * disabled. These fields assume that 0=TNUM=7 (i.e., Bridge-centric    * * Crosstalk). Whether or not a device has access rights to this        * * Shub is determined by an AND of the device enable bit in the         * * appropriate field of this register and the corresponding bit in      * * the Wx_IAC field (for the widget which this device belongs to).      * * The bits in this field are set by writing a 1 to them. Incoming      * * replies from Crosstalk are not subject to this access control        * * mechanism.                                                           * *									* ************************************************************************/typedef union ii_iidem_u {	uint64_t ii_iidem_regval;	struct {		uint64_t i_w8_dxs:8;		uint64_t i_w9_dxs:8;		uint64_t i_wa_dxs:8;		uint64_t i_wb_dxs:8;		uint64_t i_wc_dxs:8;		uint64_t i_wd_dxs:8;		uint64_t i_we_dxs:8;		uint64_t i_wf_dxs:8;	} ii_iidem_fld_s;} ii_iidem_u_t;/************************************************************************ *									* *  This register contains the various programmable fields necessary    * * for controlling and observing the LLP signals.                       * *									* ************************************************************************/typedef union ii_ilcsr_u {	uint64_t ii_ilcsr_regval;	struct {		uint64_t i_nullto:6;		uint64_t i_rsvd_4:2;		uint64_t i_wrmrst:1;		uint64_t i_rsvd_3:1;		uint64_t i_llp_en:1;		uint64_t i_bm8:1;		uint64_t i_llp_stat:2;		uint64_t i_remote_power:1;		uint64_t i_rsvd_2:1;		uint64_t i_maxrtry:10;		uint64_t i_d_avail_sel:2;		uint64_t i_rsvd_1:4;		uint64_t i_maxbrst:10;		uint64_t i_rsvd:22;	} ii_ilcsr_fld_s;} ii_ilcsr_u_t;/************************************************************************ *									* *  This is simply a status registers that monitors the LLP error       * * rate.								* *									* ************************************************************************/typedef union ii_illr_u {	uint64_t ii_illr_regval;	struct {		uint64_t i_sn_cnt:16;		uint64_t i_cb_cnt:16;		uint64_t i_rsvd:32;	} ii_illr_fld_s;} ii_illr_u_t;/************************************************************************ *									* * Description:  All II-detected non-BTE error interrupts are           * * specified via this register.                                         * * NOTE: The PI interrupt register address is hardcoded in the II. If   * * PI_ID==0, then the II sends an interrupt request (Duplonet PWRI      * * packet) to address offset 0x0180_0090 within the local register      * * address space of PI0 on the node specified by the NODE field. If     * * PI_ID==1, then the II sends the interrupt request to address         * * offset 0x01A0_0090 within the local register address space of PI1    * * on the node specified by the NODE field.                             * *									* ************************************************************************/typedef union ii_iidsr_u {	uint64_t ii_iidsr_regval;	struct {		uint64_t i_level:8;		uint64_t i_pi_id:1;		uint64_t i_node:11;		uint64_t i_rsvd_3:4;		uint64_t i_enable:1;		uint64_t i_rsvd_2:3;		uint64_t i_int_sent:2;		uint64_t i_rsvd_1:2;		uint64_t i_pi0_forward_int:1;		uint64_t i_pi1_forward_int:1;		uint64_t i_rsvd:30;	} ii_iidsr_fld_s;} ii_iidsr_u_t;/************************************************************************ *									* *  There are two instances of this register. This register is used     * * for matching up the incoming responses from the graphics widget to   * * the processor that initiated the graphics operation. The             * * write-responses are converted to graphics credits and returned to    * * the processor so that the processor interface can manage the flow    * * control.                                                             * *									* ************************************************************************/typedef union ii_igfx0_u {	uint64_t ii_igfx0_regval;	struct {		uint64_t i_w_num:4;		uint64_t i_pi_id:1;		uint64_t i_n_num:12;		uint64_t i_p_num:1;		uint64_t i_rsvd:46;	} ii_igfx0_fld_s;} ii_igfx0_u_t;/************************************************************************ *									* *  There are two instances of this register. This register is used     * * for matching up the incoming responses from the graphics widget to   * * the processor that initiated the graphics operation. The             * * write-responses are converted to graphics credits and returned to    * * the processor so that the processor interface can manage the flow    * * control.                                                             * *									* ************************************************************************/typedef union ii_igfx1_u {	uint64_t ii_igfx1_regval;	struct {		uint64_t i_w_num:4;		uint64_t i_pi_id:1;		uint64_t i_n_num:12;		uint64_t i_p_num:1;		uint64_t i_rsvd:46;	} ii_igfx1_fld_s;} ii_igfx1_u_t;/************************************************************************ *									* *  There are two instances of this registers. These registers are      * * used as scratch registers for software use.                          * *									* ************************************************************************/typedef union ii_iscr0_u {	uint64_t ii_iscr0_regval;	struct {		uint64_t i_scratch:64;	} ii_iscr0_fld_s;} ii_iscr0_u_t;/************************************************************************ *									* *  There are two instances of this registers. These registers are      * * used as scratch registers for software use.                          * *									* ************************************************************************/typedef union ii_iscr1_u {	uint64_t ii_iscr1_regval;	struct {		uint64_t i_scratch:64;	} ii_iscr1_fld_s;} ii_iscr1_u_t;/************************************************************************ *									* * Description:  There are seven instances of translation table entry   * * registers. Each register maps a Shub Big Window to a 48-bit          * * address on Crosstalk.                                                * * For M-mode (128 nodes, 8 GBytes/node), SysAD[31:29] (Big Window      * * number) are used to select one of these 7 registers. The Widget      * * number field is then derived from the W_NUM field for synthesizing   * * a Crosstalk packet. The 5 bits of OFFSET are concatenated with       * * SysAD[28:0] to form Crosstalk[33:0]. The upper Crosstalk[47:34]      * * are padded with zeros. Although the maximum Crosstalk space          * * addressable by the SHub is thus the lower 16 GBytes per widget       *  * (M-mode), however only <SUP >7</SUP>/<SUB >32nds</SUB> of this       * * space can be accessed.                                               * * For the N-mode (256 nodes, 4 GBytes/node), SysAD[30:28] (Big         * * Window number) are used to select one of these 7 registers. The      * * Widget number field is then derived from the W_NUM field for         * * synthesizing a Crosstalk packet. The 5 bits of OFFSET are            * * concatenated with SysAD[27:0] to form Crosstalk[33:0]. The IOSP      * * field is used as Crosstalk[47], and remainder of the Crosstalk       * * address bits (Crosstalk[46:34]) are always zero. While the maximum   * * Crosstalk space addressable by the Shub is thus the lower            * * 8-GBytes per widget (N-mode), only <SUP >7</SUP>/<SUB >32nds</SUB>   * * of this space can be accessed.                                       * *									* ************************************************************************/typedef union ii_itte1_u {	uint64_t ii_itte1_regval;	struct {		uint64_t i_offset:5;		uint64_t i_rsvd_1:3;		uint64_t i_w_num:4;		uint64_t i_iosp:1;

⌨️ 快捷键说明

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