From nobody Fri Mar 11 11:31:32 2022 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4D65C19FAC9E; Fri, 11 Mar 2022 11:31:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KFP043gfPz4vYq; Fri, 11 Mar 2022 11:31:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1646998292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kt86RM5bXJ6gMEip+qAYO2taMKfuoBSKeV6Ey0VFd1I=; b=mcKB8mXdGc+GOXoNN13bF5t16+sAqariLWicRN1u1T8yn5gHogc+JZdaxveeFcRgk2JduJ pHOFjO6MPvryjxBjvcg/zKeCcXXZpjYMDE8D7pp6eftrXaX1Dw/ND65AsE6FDaU/1xn828 IDJvRLHM6SpXmZ/NbuUI75shltfX8Irx+j3Yg+Jg1hlvYuUWZzviCwwsnBBJfwgDdyz9UC /IkM0Z/HP1ViRPun3B+ZXuyysrNavLQHvr6F2W0e9JvyOSRkYA5FslZbkT4ZpK6o6H5djC gUE5nqe2wqB+dqzLzBlNILkPluUs8qVnDYgQmh7XNXfOsAnaZjQmwdgT8E7fxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2F15218A09; Fri, 11 Mar 2022 11:31:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 22BBVWlZ076713; Fri, 11 Mar 2022 11:31:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 22BBVWdd076712; Fri, 11 Mar 2022 11:31:32 GMT (envelope-from git) Date: Fri, 11 Mar 2022 11:31:32 GMT Message-Id: <202203111131.22BBVWdd076712@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 4dc815608e1f - main - Add more arm64 register op* and CR* values List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4dc815608e1f3fbb6e1061eca86d7c7bc103a359 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1646998292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kt86RM5bXJ6gMEip+qAYO2taMKfuoBSKeV6Ey0VFd1I=; b=IaWayOUNIqQcqkmJfTBN2Cm2DQ2zsJfp2ab4WNnrFnVu55Uro6pRpaidwodqzC54TDzqlD YPz8dj52Xmo1u5uf5UEwsH/yEZNDnEGzjQS8IjwKYImd1YZmMH4NeKaRU26Oih3X0lV3qP kOCSl3HyWxv7WBREk4aWVP3B+rLDct0ALCC05JurU0Wgck5q60o1pHH5y8OAWJcVFMsDnf 1ZsF8iRzwYGQy26wCeMLDEZbRmLCl8ZW8CgI7+ZjTspUNRt+YMjoNew2r0aeMkwV4/d1zI cjWj2qqqUJJPNK3PfOxI3y/VVJTPQuYirG/drwd3Z0OXdL+gaj82p/dJlX47fg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1646998292; a=rsa-sha256; cv=none; b=CUJVjeDfZ4d8X8shb/TCJ0YuGUwXdTFtn9AcRl2g2nlRgh9xwF6xgHDo7r3RdYE+ZJidey DfHN/jv02zmqJGXSmpke0KAzAufgE6kCUqwI3ZIUAHgsk6wv1KBICDSLfNWdy25b4F/EIx fUpur3dHF8cF7LIXe5FblVud+A1TZ+3PIBn2eMD2uy0CN6jX5p8lTLLP7AUPRv1k91WErE buvfm0Lg1AneW5Iy5RbmkO4OSfayvEdaHHi93q6s23Tk/iBfuULmhWqtlnCcJkvOBIYCRD jtNOOPYPzSAIh2CJZQjEK1mHA20pu8tZdGOUixUgIBVBz7SyQTfDTkgj1zni7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=4dc815608e1f3fbb6e1061eca86d7c7bc103a359 commit 4dc815608e1f3fbb6e1061eca86d7c7bc103a359 Author: Andrew Turner AuthorDate: 2022-03-11 11:19:05 +0000 Commit: Andrew Turner CommitDate: 2022-03-11 11:21:09 +0000 Add more arm64 register op* and CR* values These will be used by bhyve/arm64. Sponsored by: Innovate UK --- sys/arm64/include/armreg.h | 293 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 293 insertions(+) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index d328cdb71043..2e34d037a524 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -77,10 +77,40 @@ #define CNTHCTL_EL1PCTEN (1 << 0) /*Allow EL0/1 physical counter access*/ /* CNTP_CTL_EL0 - Counter-timer Physical Timer Control register */ +#define CNTP_CTL_EL0 MRS_REG(CNTP_CTL_EL0) +#define CNTP_CTL_EL0_op0 3 +#define CNTP_CTL_EL0_op1 3 +#define CNTP_CTL_EL0_CRn 14 +#define CNTP_CTL_EL0_CRm 2 +#define CNTP_CTL_EL0_op2 1 #define CNTP_CTL_ENABLE (1 << 0) #define CNTP_CTL_IMASK (1 << 1) #define CNTP_CTL_ISTATUS (1 << 2) +/* CNTP_CVAL_EL0 - Counter-timer Physical Timer CompareValue register */ +#define CNTP_CVAL_EL0 MRS_REG(CNTP_CVAL_EL0) +#define CNTP_CVAL_EL0_op0 3 +#define CNTP_CVAL_EL0_op1 3 +#define CNTP_CVAL_EL0_CRn 14 +#define CNTP_CVAL_EL0_CRm 2 +#define CNTP_CVAL_EL0_op2 2 + +/* CNTP_TVAL_EL0 - Counter-timer Physical Timer TimerValue register */ +#define CNTP_TVAL_EL0 MRS_REG(CNTP_TVAL_EL0) +#define CNTP_TVAL_EL0_op0 3 +#define CNTP_TVAL_EL0_op1 3 +#define CNTP_TVAL_EL0_CRn 14 +#define CNTP_TVAL_EL0_CRm 2 +#define CNTP_TVAL_EL0_op2 0 + +/* CNTPCT_EL0 - Counter-timer Physical Count register */ +#define CNTPCT_EL0 MRS_REG(CNTPCT_EL0) +#define CNTPCT_EL0_op0 3 +#define CNTPCT_EL0_op1 3 +#define CNTPCT_EL0_CRn 14 +#define CNTPCT_EL0_CRm 0 +#define CNTPCT_EL0_op2 1 + /* CPACR_EL1 */ #define CPACR_FPEN_MASK (0x3 << 20) #define CPACR_FPEN_TRAP_ALL1 (0x0 << 20) /* Traps from EL0 and EL1 */ @@ -134,6 +164,11 @@ /* through the intr framework */ /* DBGBCR_EL1 - Debug Breakpoint Control Registers */ +#define DBGBCR_EL1_op0 2 +#define DBGBCR_EL1_op1 0 +#define DBGBCR_EL1_CRn 0 +/* DBGBCR_EL1_CRm indicates which watchpoint this register is for */ +#define DBGBCR_EL1_op2 5 #define DBGBCR_EN 0x1 #define DBGBCR_PMC_SHIFT 1 #define DBGBCR_PMC (0x3 << DBGBCR_PMC_SHIFT) @@ -150,7 +185,19 @@ #define DBGBCR_BT_SHIFT 20 #define DBGBCR_BT (0xf << DBGBCR_BT_SHIFT) +/* DBGBVR_EL1 - Debug Breakpoint Value Registers */ +#define DBGBVR_EL1_op0 2 +#define DBGBVR_EL1_op1 0 +#define DBGBVR_EL1_CRn 0 +/* DBGBVR_EL1_CRm indicates which watchpoint this register is for */ +#define DBGBVR_EL1_op2 4 + /* DBGWCR_EL1 - Debug Watchpoint Control Registers */ +#define DBGWCR_EL1_op0 2 +#define DBGWCR_EL1_op1 0 +#define DBGWCR_EL1_CRn 0 +/* DBGWCR_EL1_CRm indicates which watchpoint this register is for */ +#define DBGWCR_EL1_op2 7 #define DBGWCR_EN 0x1 #define DBGWCR_PAC_SHIFT 1 #define DBGWCR_PAC (0x3 << DBGWCR_PAC_SHIFT) @@ -171,12 +218,51 @@ #define DBGWCR_MASK_SHIFT 24 #define DBGWCR_MASK (0x1f << DBGWCR_MASK_SHIFT) +/* DBGWVR_EL1 - Debug Watchpoint Value Registers */ +#define DBGWVR_EL1_op0 2 +#define DBGWVR_EL1_op1 0 +#define DBGWVR_EL1_CRn 0 +/* DBGWVR_EL1_CRm indicates which watchpoint this register is for */ +#define DBGWVR_EL1_op2 6 + /* DCZID_EL0 - Data Cache Zero ID register */ #define DCZID_DZP (1 << 4) /* DC ZVA prohibited if non-0 */ #define DCZID_BS_SHIFT 0 #define DCZID_BS_MASK (0xf << DCZID_BS_SHIFT) #define DCZID_BS_SIZE(reg) (((reg) & DCZID_BS_MASK) >> DCZID_BS_SHIFT) +/* DBGAUTHSTATUS_EL1 */ +#define DBGAUTHSTATUS_EL1 MRS_REG(DBGAUTHSTATUS_EL1) +#define DBGAUTHSTATUS_EL1_op0 2 +#define DBGAUTHSTATUS_EL1_op1 0 +#define DBGAUTHSTATUS_EL1_CRn 7 +#define DBGAUTHSTATUS_EL1_CRm 14 +#define DBGAUTHSTATUS_EL1_op2 6 + +/* DBGCLAIMCLR_EL1 */ +#define DBGCLAIMCLR_EL1 MRS_REG(DBGCLAIMCLR_EL1) +#define DBGCLAIMCLR_EL1_op0 2 +#define DBGCLAIMCLR_EL1_op1 0 +#define DBGCLAIMCLR_EL1_CRn 7 +#define DBGCLAIMCLR_EL1_CRm 9 +#define DBGCLAIMCLR_EL1_op2 6 + +/* DBGCLAIMSET_EL1 */ +#define DBGCLAIMSET_EL1 MRS_REG(DBGCLAIMSET_EL1) +#define DBGCLAIMSET_EL1_op0 2 +#define DBGCLAIMSET_EL1_op1 0 +#define DBGCLAIMSET_EL1_CRn 7 +#define DBGCLAIMSET_EL1_CRm 8 +#define DBGCLAIMSET_EL1_op2 6 + +/* DBGPRCR_EL1 */ +#define DBGPRCR_EL1 MRS_REG(DBGPRCR_EL1) +#define DBGPRCR_EL1_op0 2 +#define DBGPRCR_EL1_op1 0 +#define DBGPRCR_EL1_CRn 1 +#define DBGPRCR_EL1_CRm 4 +#define DBGPRCR_EL1_op2 4 + /* ESR_ELx */ #define ESR_ELx_ISS_MASK 0x01ffffff #define ISS_INSN_FnV (0x01 << 10) @@ -293,6 +379,12 @@ #define ICC_PMR_EL1_PRIO_MASK (0xFFUL) /* ICC_SGI1R_EL1 */ +#define ICC_SGI1R_EL1 MRS_REG(ICC_SGI1R_EL1) +#define ICC_SGI1R_EL1_op0 3 +#define ICC_SGI1R_EL1_op1 0 +#define ICC_SGI1R_EL1_CRn 12 +#define ICC_SGI1R_EL1_CRm 11 +#define ICC_SGI1R_EL1_op2 5 #define ICC_SGI1R_EL1_TL_MASK 0xffffUL #define ICC_SGI1R_EL1_AFF1_SHIFT 16 #define ICC_SGI1R_EL1_SGIID_SHIFT 24 @@ -917,7 +1009,29 @@ #define MAIR_NORMAL_WT 0xbb #define MAIR_NORMAL_WB 0xff +/* MDCCINT_EL1 */ +#define MDCCINT_EL1 MRS_REG(MDCCINT_EL1) +#define MDCCINT_EL1_op0 2 +#define MDCCINT_EL1_op1 0 +#define MDCCINT_EL1_CRn 0 +#define MDCCINT_EL1_CRm 2 +#define MDCCINT_EL1_op2 0 + +/* MDCCSR_EL0 */ +#define MDCCSR_EL0 MRS_REG(MDCCSR_EL0) +#define MDCCSR_EL0_op0 2 +#define MDCCSR_EL0_op1 3 +#define MDCCSR_EL0_CRn 0 +#define MDCCSR_EL0_CRm 1 +#define MDCCSR_EL0_op2 0 + /* MDSCR_EL1 - Monitor Debug System Control Register */ +#define MDSCR_EL1 MRS_REG(MDSCR_EL1) +#define MDSCR_EL1_op0 2 +#define MDSCR_EL1_op1 0 +#define MDSCR_EL1_CRn 0 +#define MDSCR_EL1_CRm 2 +#define MDSCR_EL1_op2 2 #define MDSCR_SS_SHIFT 0 #define MDSCR_SS (UL(0x1) << MDSCR_SS_SHIFT) #define MDSCR_KDE_SHIFT 13 @@ -1027,6 +1141,30 @@ #define MVFR1_SIMDFMAC_NONE (UL(0x0) << MVFR1_SIMDFMAC_SHIFT) #define MVFR1_SIMDFMAC_IMPL (UL(0x1) << MVFR1_SIMDFMAC_SHIFT) +/* OSDLR_EL1 */ +#define OSDLR_EL1 MRS_REG(OSDLR_EL1) +#define OSDLR_EL1_op0 2 +#define OSDLR_EL1_op1 0 +#define OSDLR_EL1_CRn 1 +#define OSDLR_EL1_CRm 3 +#define OSDLR_EL1_op2 4 + +/* OSLAR_EL1 */ +#define OSLAR_EL1 MRS_REG(OSLAR_EL1) +#define OSLAR_EL1_op0 2 +#define OSLAR_EL1_op1 0 +#define OSLAR_EL1_CRn 1 +#define OSLAR_EL1_CRm 0 +#define OSLAR_EL1_op2 4 + +/* OSLSR_EL1 */ +#define OSLSR_EL1 MRS_REG(OSLSR_EL1) +#define OSLSR_EL1_op0 2 +#define OSLSR_EL1_op1 0 +#define OSLSR_EL1_CRn 1 +#define OSLSR_EL1_CRm 1 +#define OSLSR_EL1_op2 4 + /* PAR_EL1 - Physical Address Register */ #define PAR_F_SHIFT 0 #define PAR_F (0x1 << PAR_F_SHIFT) @@ -1111,7 +1249,61 @@ #define PMBSR_EC_SHIFT 26 #define PMBSR_EC_MASK (UL(0x3f) << PMBSR_EC_SHIFT) +/* PMCCFILTR_EL0 */ +#define PMCCFILTR_EL0 MRS_REG(PMCCFILTR_EL0) +#define PMCCFILTR_EL0_op0 3 +#define PMCCFILTR_EL0_op1 3 +#define PMCCFILTR_EL0_CRn 14 +#define PMCCFILTR_EL0_CRm 15 +#define PMCCFILTR_EL0_op2 7 + +/* PMCCNTR_EL0 */ +#define PMCCNTR_EL0 MRS_REG(PMCCNTR_EL0) +#define PMCCNTR_EL0_op0 3 +#define PMCCNTR_EL0_op1 3 +#define PMCCNTR_EL0_CRn 9 +#define PMCCNTR_EL0_CRm 13 +#define PMCCNTR_EL0_op2 0 + +/* PMCEID0_EL0 */ +#define PMCEID0_EL0 MRS_REG(PMCEID0_EL0) +#define PMCEID0_EL0_op0 3 +#define PMCEID0_EL0_op1 3 +#define PMCEID0_EL0_CRn 9 +#define PMCEID0_EL0_CRm 12 +#define PMCEID0_EL0_op2 6 + +/* PMCEID1_EL0 */ +#define PMCEID1_EL0 MRS_REG(PMCEID1_EL0) +#define PMCEID1_EL0_op0 3 +#define PMCEID1_EL0_op1 3 +#define PMCEID1_EL0_CRn 9 +#define PMCEID1_EL0_CRm 12 +#define PMCEID1_EL0_op2 7 + +/* PMCNTENCLR_EL0 */ +#define PMCNTENCLR_EL0 MRS_REG(PMCNTENCLR_EL0) +#define PMCNTENCLR_EL0_op0 3 +#define PMCNTENCLR_EL0_op1 3 +#define PMCNTENCLR_EL0_CRn 9 +#define PMCNTENCLR_EL0_CRm 12 +#define PMCNTENCLR_EL0_op2 2 + +/* PMCNTENSET_EL0 */ +#define PMCNTENSET_EL0 MRS_REG(PMCNTENSET_EL0) +#define PMCNTENSET_EL0_op0 3 +#define PMCNTENSET_EL0_op1 3 +#define PMCNTENSET_EL0_CRn 9 +#define PMCNTENSET_EL0_CRm 12 +#define PMCNTENSET_EL0_op2 1 + /* PMCR_EL0 - Perfomance Monitoring Counters */ +#define PMCR_EL0 MRS_REG(PMCR_EL0) +#define PMCR_EL0_op0 3 +#define PMCR_EL0_op1 3 +#define PMCR_EL0_CRn 9 +#define PMCR_EL0_CRm 12 +#define PMCR_EL0_op2 0 #define PMCR_E (1 << 0) /* Enable all counters */ #define PMCR_P (1 << 1) /* Reset all counters */ #define PMCR_C (1 << 2) /* Clock counter reset */ @@ -1140,6 +1332,66 @@ #define PMCR_N_SHIFT 11 /* Number of counters implemented */ #define PMCR_N_MASK (0x1f << PMCR_N_SHIFT) +/* PMEVCNTR_EL0 */ +#define PMEVCNTR_EL0_op0 3 +#define PMEVCNTR_EL0_op1 3 +#define PMEVCNTR_EL0_CRn 14 +#define PMEVCNTR_EL0_CRm 8 +/* + * PMEVCNTRn_EL0_CRm[1:0] holds the upper 2 bits of 'n' + * PMEVCNTRn_EL0_op2 holds the lower 3 bits of 'n' + */ + +/* PMEVTYPER_EL0 */ +#define PMEVTYPER_EL0_op0 3 +#define PMEVTYPER_EL0_op1 3 +#define PMEVTYPER_EL0_CRn 14 +#define PMEVTYPER_EL0_CRm 12 +/* + * PMEVTYPERn_EL0_CRm[1:0] holds the upper 2 bits of 'n' + * PMEVTYPERn_EL0_op2 holds the lower 3 bits of 'n' + */ + +/* PMINTENCLR_EL1 */ +#define PMINTENCLR_EL1 MRS_REG(PMINTENCLR_EL1) +#define PMINTENCLR_EL1_op0 3 +#define PMINTENCLR_EL1_op1 0 +#define PMINTENCLR_EL1_CRn 9 +#define PMINTENCLR_EL1_CRm 14 +#define PMINTENCLR_EL1_op2 2 + +/* PMINTENSET_EL1 */ +#define PMINTENSET_EL1 MRS_REG(PMINTENSET_EL1) +#define PMINTENSET_EL1_op0 3 +#define PMINTENSET_EL1_op1 0 +#define PMINTENSET_EL1_CRn 9 +#define PMINTENSET_EL1_CRm 14 +#define PMINTENSET_EL1_op2 1 + +/* PMMIR_EL1 */ +#define PMMIR_EL1 MRS_REG(PMMIR_EL1) +#define PMMIR_EL1_op0 3 +#define PMMIR_EL1_op1 0 +#define PMMIR_EL1_CRn 9 +#define PMMIR_EL1_CRm 14 +#define PMMIR_EL1_op2 6 + +/* PMOVSCLR_EL0 */ +#define PMOVSCLR_EL0 MRS_REG(PMOVSCLR_EL0) +#define PMOVSCLR_EL0_op0 3 +#define PMOVSCLR_EL0_op1 3 +#define PMOVSCLR_EL0_CRn 9 +#define PMOVSCLR_EL0_CRm 12 +#define PMOVSCLR_EL0_op2 3 + +/* PMOVSSET_EL0 */ +#define PMOVSSET_EL0 MRS_REG(PMOVSSET_EL0) +#define PMOVSSET_EL0_op0 3 +#define PMOVSSET_EL0_op1 3 +#define PMOVSSET_EL0_CRn 9 +#define PMOVSSET_EL0_CRm 14 +#define PMOVSSET_EL0_op2 3 + /* PMSCR_EL1 */ #define PMSCR_EL1 MRS_REG(PMSCR_EL1) #define PMSCR_EL1_op0 0x3 @@ -1160,6 +1412,15 @@ #define PMSCR_PCT_SHIFT 6 #define PMSCR_PCT_MASK (UL(0x3) << PMSCR_PCT_SHIFT) +/* PMSELR_EL0 */ +#define PMSELR_EL0 MRS_REG(PMSELR_EL0) +#define PMSELR_EL0_op0 3 +#define PMSELR_EL0_op1 3 +#define PMSELR_EL0_CRn 9 +#define PMSELR_EL0_CRm 12 +#define PMSELR_EL0_op2 5 +#define PMSELR_SEL_MASK 0x1f + /* PMSEVFR_EL1 */ #define PMSEVFR_EL1 MRS_REG(PMSEVFR_EL1) #define PMSEVFR_EL1_op0 0x3 @@ -1264,6 +1525,38 @@ #define PMSNEVFR_EL1_CRm 0x9 #define PMSNEVFR_EL1_op2 0x1 +/* PMSWINC_EL0 */ +#define PMSWINC_EL0 MRS_REG(PMSWINC_EL0) +#define PMSWINC_EL0_op0 3 +#define PMSWINC_EL0_op1 3 +#define PMSWINC_EL0_CRn 9 +#define PMSWINC_EL0_CRm 12 +#define PMSWINC_EL0_op2 4 + +/* PMUSERENR_EL0 */ +#define PMUSERENR_EL0 MRS_REG(PMUSERENR_EL0) +#define PMUSERENR_EL0_op0 3 +#define PMUSERENR_EL0_op1 3 +#define PMUSERENR_EL0_CRn 9 +#define PMUSERENR_EL0_CRm 14 +#define PMUSERENR_EL0_op2 0 + +/* PMXEVCNTR_EL0 */ +#define PMXEVCNTR_EL0 MRS_REG(PMXEVCNTR_EL0) +#define PMXEVCNTR_EL0_op0 3 +#define PMXEVCNTR_EL0_op1 3 +#define PMXEVCNTR_EL0_CRn 9 +#define PMXEVCNTR_EL0_CRm 13 +#define PMXEVCNTR_EL0_op2 2 + +/* PMXEVTYPER_EL0 */ +#define PMXEVTYPER_EL0 MRS_REG(PMXEVTYPER_EL0) +#define PMXEVTYPER_EL0_op0 3 +#define PMXEVTYPER_EL0_op1 3 +#define PMXEVTYPER_EL0_CRn 9 +#define PMXEVTYPER_EL0_CRm 13 +#define PMXEVTYPER_EL0_op2 1 + /* SCTLR_EL1 - System Control Register */ #define SCTLR_RES1 0x30d00800 /* Reserved ARMv8.0, write 1 */ #define SCTLR_M (UL(0x1) << 0)