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

📄 hubmd.h

📁 上传linux-jx2410的源代码
💻 H
📖 第 1 页 / 共 5 页
字号:
 * the 8 protection values in the word was bad and the AE overrun bit   * * indicates whether multiple AE errors were received.                  * * If the UCE and AE valid bits are clear, but the CE valid bit is      * * set, the address field contains a pointer to the Hspec address of    * * the offending directory entry, the syndrome field contains the bad   * * syndrome, and the CE overrun bit indicates whether multiple          * * single-bit errors were received.                                     * *                                                                      * ************************************************************************/#ifdef LITTLE_ENDIANtypedef union md_dir_error_u {	bdrkreg_t	md_dir_error_regval;	struct  {		bdrkreg_t	de_reserved_3             :	 3;		bdrkreg_t       de_hspec_addr             :     30;		bdrkreg_t       de_reserved_2             :      7;		bdrkreg_t       de_bad_syn                :      7;		bdrkreg_t       de_reserved_1             :      1;                bdrkreg_t       de_bad_protect            :      4;                bdrkreg_t       de_prot_index             :      3;                bdrkreg_t       de_reserved               :      1;                bdrkreg_t       de_ace_overrun            :      1;                bdrkreg_t       de_ce_overrun             :      1;                bdrkreg_t       de_ae_overrun             :      1;                bdrkreg_t       de_uce_overrun            :      1;                bdrkreg_t       de_ace_valid              :      1;                bdrkreg_t       de_ce_valid               :      1;                bdrkreg_t       de_ae_valid               :      1;                bdrkreg_t       de_uce_valid              :      1;	} md_dir_error_fld_s;} md_dir_error_u_t;#elsetypedef union md_dir_error_u {	bdrkreg_t	md_dir_error_regval;	struct	{		bdrkreg_t	de_uce_valid		  :	 1;		bdrkreg_t	de_ae_valid		  :	 1;		bdrkreg_t	de_ce_valid		  :	 1;		bdrkreg_t	de_ace_valid		  :	 1;		bdrkreg_t	de_uce_overrun		  :	 1;		bdrkreg_t	de_ae_overrun		  :	 1;		bdrkreg_t	de_ce_overrun		  :	 1;		bdrkreg_t	de_ace_overrun		  :	 1;		bdrkreg_t	de_reserved		  :	 1;		bdrkreg_t	de_prot_index		  :	 3;		bdrkreg_t	de_bad_protect		  :	 4;		bdrkreg_t	de_reserved_1		  :	 1;		bdrkreg_t	de_bad_syn		  :	 7;		bdrkreg_t	de_reserved_2		  :	 7;		bdrkreg_t	de_hspec_addr		  :	30;		bdrkreg_t	de_reserved_3		  :	 3;	} md_dir_error_fld_s;} md_dir_error_u_t;#endif/************************************************************************ *                                                                      * * Description:  Contains information on uncorrectable and              * * correctable directory ECC errors, along with protection ECC          * * errors. The priority of ECC errors latched is: uncorrectable         * * directory, protection error, correctable directory. Thus the valid   * * bits signal:                                                         * * 1xxx: uncorrectable directory ECC error (UCE)                        * * 01xx: access protection double bit error (AE)                        * * 001x: correctable directory ECC error (CE)                           * * 0001: access protection correctable error (ACE)                      * * If the UCE valid bit is set, the address field contains a pointer    * * to the Hspec address of the offending directory entry, the           * * syndrome field contains the bad syndrome, and the UCE overrun bit    * * indicates whether multiple double-bit errors were received.          * * If the UCE valid bit is clear but the AE valid bit is set, the       * * address field contains a pointer to the Hspec address of the         * * offending protection entry, the Bad Protection field contains the    * * 4-bit bad protection value, the PROT_INDEX field shows which of      * * the 8 protection values in the word was bad and the AE overrun bit   * * indicates whether multiple AE errors were received.                  * * If the UCE and AE valid bits are clear, but the CE valid bit is      * * set, the address field contains a pointer to the Hspec address of    * * the offending directory entry, the syndrome field contains the bad   * * syndrome, and the CE overrun bit indicates whether multiple          * * single-bit errors were received.                                     * *                                                                      * ************************************************************************/#ifdef LITTLE_ENDIANtypedef union md_dir_error_clr_u {	bdrkreg_t	md_dir_error_clr_regval;	struct  {		bdrkreg_t	dec_reserved_3            :	 3;                bdrkreg_t       dec_hspec_addr            :     30;                bdrkreg_t       dec_reserved_2            :      7;                bdrkreg_t       dec_bad_syn               :      7;                bdrkreg_t       dec_reserved_1            :      1;                bdrkreg_t       dec_bad_protect           :      4;                bdrkreg_t       dec_prot_index            :      3;                bdrkreg_t       dec_reserved              :      1;                bdrkreg_t       dec_ace_overrun           :      1;                bdrkreg_t       dec_ce_overrun            :      1;                bdrkreg_t       dec_ae_overrun            :      1;                bdrkreg_t       dec_uce_overrun           :      1;                bdrkreg_t       dec_ace_valid             :      1;                bdrkreg_t       dec_ce_valid              :      1;                bdrkreg_t       dec_ae_valid              :      1;                bdrkreg_t       dec_uce_valid             :      1;	} md_dir_error_clr_fld_s;} md_dir_error_clr_u_t;#elsetypedef union md_dir_error_clr_u {	bdrkreg_t	md_dir_error_clr_regval;	struct	{		bdrkreg_t	dec_uce_valid		  :	 1;		bdrkreg_t	dec_ae_valid		  :	 1;		bdrkreg_t	dec_ce_valid		  :	 1;		bdrkreg_t	dec_ace_valid		  :	 1;		bdrkreg_t	dec_uce_overrun		  :	 1;		bdrkreg_t	dec_ae_overrun		  :	 1;		bdrkreg_t	dec_ce_overrun		  :	 1;		bdrkreg_t	dec_ace_overrun		  :	 1;		bdrkreg_t	dec_reserved		  :	 1;		bdrkreg_t	dec_prot_index		  :	 3;		bdrkreg_t	dec_bad_protect		  :	 4;		bdrkreg_t	dec_reserved_1		  :	 1;		bdrkreg_t	dec_bad_syn		  :	 7;		bdrkreg_t	dec_reserved_2		  :	 7;		bdrkreg_t	dec_hspec_addr		  :	30;		bdrkreg_t	dec_reserved_3		  :	 3;	} md_dir_error_clr_fld_s;} md_dir_error_clr_u_t;#endif/************************************************************************ *                                                                      * *  Contains information on requests that encounter no valid protocol   * * table entry.                                                         * *                                                                      * ************************************************************************/#ifdef LITTLE_ENDIANtypedef union md_protocol_error_u {	bdrkreg_t	md_protocol_error_regval;	struct  {		bdrkreg_t	pe_overrun                :	 1;                bdrkreg_t       pe_pointer_me             :      1;                bdrkreg_t       pe_reserved_1             :      1;                bdrkreg_t       pe_address                :     30;                bdrkreg_t       pe_reserved               :      1;                bdrkreg_t       pe_ptr1_btmbits           :      3;                bdrkreg_t       pe_dir_format             :      2;                bdrkreg_t       pe_dir_state              :      3;                bdrkreg_t       pe_priority               :      1;                bdrkreg_t       pe_access                 :      1;                bdrkreg_t       pe_msg_type               :      8;                bdrkreg_t       pe_initiator              :     11;                bdrkreg_t       pe_valid                  :      1;	} md_protocol_error_fld_s;} md_protocol_error_u_t;#elsetypedef union md_protocol_error_u {	bdrkreg_t	md_protocol_error_regval;	struct	{		bdrkreg_t	pe_valid		  :	 1;		bdrkreg_t	pe_initiator		  :	11;		bdrkreg_t	pe_msg_type		  :	 8;		bdrkreg_t	pe_access		  :	 1;		bdrkreg_t	pe_priority		  :	 1;		bdrkreg_t	pe_dir_state		  :	 3;		bdrkreg_t	pe_dir_format		  :	 2;		bdrkreg_t	pe_ptr1_btmbits		  :	 3;		bdrkreg_t	pe_reserved		  :	 1;		bdrkreg_t	pe_address		  :	30;		bdrkreg_t	pe_reserved_1		  :	 1;		bdrkreg_t	pe_pointer_me		  :	 1;		bdrkreg_t	pe_overrun		  :	 1;	} md_protocol_error_fld_s;} md_protocol_error_u_t;#endif/************************************************************************ *                                                                      * *  Contains information on requests that encounter no valid protocol   * * table entry.                                                         * *                                                                      * ************************************************************************/#ifdef LITTLE_ENDIANtypedef union md_protocol_err_clr_u {	bdrkreg_t	md_protocol_err_clr_regval;	struct  {		bdrkreg_t	pec_overrun               :	 1;                bdrkreg_t       pec_pointer_me            :      1;                bdrkreg_t       pec_reserved_1            :      1;                bdrkreg_t       pec_address               :     30;                bdrkreg_t       pec_reserved              :      1;                bdrkreg_t       pec_ptr1_btmbits          :      3;                bdrkreg_t       pec_dir_format            :      2;                bdrkreg_t       pec_dir_state             :      3;                bdrkreg_t       pec_priority              :      1;                bdrkreg_t       pec_access                :      1;                bdrkreg_t       pec_msg_type              :      8;                bdrkreg_t       pec_initiator             :     11;                bdrkreg_t       pec_valid                 :      1;	} md_protocol_err_clr_fld_s;} md_protocol_err_clr_u_t;#elsetypedef union md_protocol_err_clr_u {	bdrkreg_t	md_protocol_err_clr_regval;	struct	{		bdrkreg_t	pec_valid		  :	 1;		bdrkreg_t	pec_initiator		  :	11;		bdrkreg_t	pec_msg_type		  :	 8;		bdrkreg_t	pec_access		  :	 1;		bdrkreg_t	pec_priority		  :	 1;		bdrkreg_t	pec_dir_state		  :	 3;		bdrkreg_t	pec_dir_format		  :	 2;		bdrkreg_t	pec_ptr1_btmbits	  :	 3;		bdrkreg_t	pec_reserved		  :	 1;		bdrkreg_t	pec_address		  :	30;		bdrkreg_t	pec_reserved_1		  :	 1;		bdrkreg_t	pec_pointer_me		  :	 1;		bdrkreg_t	pec_overrun		  :	 1;	} md_protocol_err_clr_fld_s;} md_protocol_err_clr_u_t;#endif/************************************************************************ *                                                                      * *  Contains the address of the page and the requestor which caused a   * * migration threshold to be exceeded. Also contains the type of        * * threshold exceeded and an overrun bit. For Value mode type           * * interrupts, it indicates whether the local or the remote counter     * * triggered the interrupt. Unlike most registers, when the overrun     * * bit is set the register contains information on the most recent      * * (the last) migration candidate.                                      * *                                                                      * ************************************************************************/#ifdef LITTLE_ENDIANtypedef union md_mig_candidate_u {	bdrkreg_t	md_mig_candidate_regval;	struct  {		bdrkreg_t	mc_address                :	21;                bdrkreg_t       mc_initiator              :     11;                bdrkreg_t       mc_overrun                :      1;                bdrkreg_t       mc_type                   :      1;                bdrkreg_t       mc_local                  :      1;                bdrkreg_t       mc_reserved               :     28;                bdrkreg_t       mc_valid                  :      1;	} md_mig_candidate_fld_s;} md_mig_candidate_u_t;#elsetypedef union md_mig_candidate_u {	bdrkreg_t	md_mig_candidate_regval;	struct	{		bdrkreg_t	mc_valid		  :	 1;		bdrkreg_t	mc_reserved		  :	28;		bdrkreg_t	mc_local		  :	 1;		bdrkreg_t	mc_type			  :	 1;		bdrkreg_t	mc_overrun		  :	 1;		bdrkreg_t	mc_initiator		  :	11;		bdrkreg_t	mc_address		  :	21;	} md_mig_candidate_fld_s;} md_mig_candidate_u_t;#endif/************************************************************************ *                                                                      * *  Contains the address of the page and the requestor which caused a   * * migration threshold to be exceeded. Also contains the type of        * * threshold exceeded and an overrun bit. For Value mode type           * * interrupts, it indicates whether the local or the remote counter     * * triggered the interrupt. Unlike most registers, when the overrun     * * bit is set the register contains information on the most recent      * * (the last) migration candidate.                                      * *                                                                      * ************************************************************************/#ifdef LITTLE_ENDIANtypedef union md_mig_candidate_clr_u {	bdrkreg_t	md_mig_candidate_clr_regval;	struct  {		bdrkreg_t	mcc_address               :	21;                bdrkreg_t       mcc_initiator             :     11;                bdrkreg_t       mcc_overrun               :      1;                bdrkreg_t       mcc_type                  :      1;                bdrkreg_t       mcc_local                 :      1;                bdrkreg_t       mcc_reserved              :     28;                bdrkreg_t       mcc_valid                 :      1;	} md_mig_candidate_clr_fld_s;} md_mig_candidate_clr_u_t;#elsetypedef union md_mig_candidate_clr_u {	bdrkreg_t	md_mig_candidate_clr_regval;	struct	{		bdrkreg_t	mcc_valid		  :	 1;		bdrkreg_t	mcc_reserved		  :	28;		bdrkreg_t	mcc_local		  :	 1;		bdrkreg_t	mcc_type		  :	 1;		bdrkreg_t	mcc_overrun		  :	 1;		bdrkreg_t	mcc_initiator		  :	11;		bdrkreg_t	mcc_address		  :	21;	} md_mig_candidate_clr_fld_s;} md_mig_candidate_clr_u_t;#endif/************************************************************************ *                                                                      * *  Controls the generation of page-migration interrupts and loading    * * of the MIGRATION_CANDIDATE register for pages which are using the    * * difference between the requestor and home counts. If the             * * difference is greater-than or equal to than the threshold            * * contained in the register, and the valid bit is set, the migration   * * candidate is loaded (and an interrupt generated if enabled by the    * * page migration mode).                                                * *                                                                      * *************************************************

⌨️ 快捷键说明

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