mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
xen: arm: Annotate registers trapped by MDCR_EL2.TDRA
DBGDRAR and DBGDSAR are actually two cp or sys registers each, one 32-bit and one 64-bit. The cpregs #define is suffixed "64" and annotations are added to both handlers. MDRAR_EL1 (arm64 version of DBGDRAR) wasn't handled, so add that here. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Julien Grall <julien.grall@citrix.com>
This commit is contained in:
1 parent
d256ee00ad
commit
3bc9ed8be2
3 files changed
+31
No files matched your search
@@ -1870,6 +1870,15 @@ static void do_cp14_32(struct cpu_user_regs *regs, const union hsr hsr)
|
||||
*
|
||||
* - All implemented trace registers.
|
||||
*
|
||||
* MDCR_EL2.TDRA
|
||||
*
|
||||
* ARMv7 (DDI 0406C.b): B1.14.15
|
||||
* ARMv8 (DDI 0487A.d): D1-1508 Table D1-57
|
||||
*
|
||||
* Unhandled:
|
||||
* DBGDRAR (32-bit accesses)
|
||||
* DBGDSAR (32-bit accesses)
|
||||
*
|
||||
* And all other unknown registers.
|
||||
*/
|
||||
default:
|
||||
@@ -1904,6 +1913,15 @@ static void do_cp14_64(struct cpu_user_regs *regs, const union hsr hsr)
|
||||
*
|
||||
* - All implemented trace registers.
|
||||
*
|
||||
* MDCR_EL2.TDRA
|
||||
*
|
||||
* ARMv7 (DDI 0406C.b): B1.14.15
|
||||
* ARMv8 (DDI 0487A.d): D1-1508 Table D1-57
|
||||
*
|
||||
* Unhandled:
|
||||
* DBGDRAR (64-bit accesses)
|
||||
* DBGDSAR (64-bit accesses)
|
||||
*
|
||||
* And all other unknown registers.
|
||||
*/
|
||||
gdprintk(XENLOG_ERR,
|
||||
@@ -1971,6 +1989,14 @@ static void do_sysreg(struct cpu_user_regs *regs,
|
||||
*x = v->arch.actlr;
|
||||
break;
|
||||
|
||||
/*
|
||||
* MDCR_EL2.TDRA
|
||||
*
|
||||
* ARMv8 (DDI 0487A.d): D1-1508 Table D1-57
|
||||
*/
|
||||
case HSR_SYSREG_MDRAR_EL1:
|
||||
return handle_ro_raz(regs, x, hsr.sysreg.read, hsr, 1);
|
||||
|
||||
/* RAZ/WI registers: */
|
||||
/* - Debug */
|
||||
case HSR_SYSREG_MDSCR_EL1:
|
||||
|
||||
@@ -89,10 +89,14 @@
|
||||
#define TEECR p14,6,c0,c0,0 /* ThumbEE Configuration Register */
|
||||
|
||||
/* CP14 CR1: */
|
||||
#define DBGDRAR64 p14,0,c1 /* Debug ROM Address Register (64-bit access) */
|
||||
#define DBGDRAR p14,0,c1,c0,0 /* Debug ROM Address Register (32-bit access) */
|
||||
#define TEEHBR p14,6,c1,c0,0 /* ThumbEE Handler Base Register */
|
||||
#define JOSCR p14,7,c1,c0,0 /* Jazelle OS Control Register */
|
||||
|
||||
/* CP14 CR2: */
|
||||
#define DBGDSAR64 p14,0,c2 /* Debug Self Address Offset Register (64-bit access) */
|
||||
#define DBGDSAR p14,0,c2,c0,0 /* Debug Self Address Offset Register (32-bit access) */
|
||||
#define JMCR p14,7,c2,c0,0 /* Jazelle Main Configuration Register */
|
||||
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define HSR_SYSREG_DCCISW HSR_SYSREG(1,0,c7,c14,2)
|
||||
|
||||
#define HSR_SYSREG_MDSCR_EL1 HSR_SYSREG(2,0,c0,c2,2)
|
||||
#define HSR_SYSREG_MDRAR_EL1 HSR_SYSREG(2,0,c1,c0,0)
|
||||
#define HSR_SYSREG_OSLAR_EL1 HSR_SYSREG(2,0,c1,c0,4)
|
||||
#define HSR_SYSREG_OSDLR_EL1 HSR_SYSREG(2,0,c1,c3,4)
|
||||
#define HSR_SYSREG_MDCCSR_EL0 HSR_SYSREG(2,3,c0,c1,0)
|
||||
|
||||