|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 17/19] xen: arm: Remove CNTPCT_EL0 trap handling.
We set CNTHCTL_EL2.EL1PCTEN and therefore according to ARMv8 (DDI
0487A.d) D1-1510 Table D1-60 we are not trapping this.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
xen/arch/arm/traps.c | 1 -
xen/arch/arm/vtimer.c | 30 ------------------------------
2 files changed, 31 deletions(-)
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 64d55dc..1c9cf21 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1757,7 +1757,6 @@ static void do_cp15_64(struct cpu_user_regs *regs,
switch ( hsr.bits & HSR_CP64_REGS_MASK )
{
- case HSR_CPREG64(CNTPCT):
case HSR_CPREG64(CNTP_CVAL):
if ( !vtimer_emulate(regs, hsr) )
return inject_undef_exception(regs, hsr);
diff --git a/xen/arch/arm/vtimer.c b/xen/arch/arm/vtimer.c
index be65c9f..685bfea 100644
--- a/xen/arch/arm/vtimer.c
+++ b/xen/arch/arm/vtimer.c
@@ -243,28 +243,6 @@ static int vtimer_cntp_cval(struct cpu_user_regs *regs,
uint64_t *r, int read)
}
return 1;
}
-static int vtimer_cntpct(struct cpu_user_regs *regs, uint64_t *r, int read)
-{
- struct vcpu *v = current;
- uint64_t ticks;
- s_time_t now;
-
- if ( read )
- {
- if ( !ACCESS_ALLOWED(regs, EL0PCTEN) )
- return 0;
- now = NOW() - v->domain->arch.phys_timer_base.offset;
- ticks = ns_to_ticks(now);
- *r = ticks;
- return 1;
- }
- else
- {
- gprintk(XENLOG_DEBUG, "WRITE to R/O CNTPCT\n");
- return 0;
- }
-}
-
static int vtimer_emulate_cp32(struct cpu_user_regs *regs, union hsr hsr)
{
@@ -303,11 +281,6 @@ static int vtimer_emulate_cp64(struct cpu_user_regs *regs,
union hsr hsr)
switch ( hsr.bits & HSR_CP64_REGS_MASK )
{
- case HSR_CPREG64(CNTPCT):
- if ( !vtimer_cntpct(regs, &x, cp64.read) )
- return 0;
- break;
-
case HSR_CPREG64(CNTP_CVAL):
if ( !vtimer_cntp_cval(regs, &x, cp64.read) )
return 0;
@@ -356,9 +329,6 @@ static int vtimer_emulate_sysreg(struct cpu_user_regs
*regs, union hsr hsr)
case HSR_SYSREG_CNTP_CVAL_EL0:
return vtimer_cntp_cval(regs, x, sysreg.read);
- case HSR_SYSREG_CNTPCT_EL0:
- return vtimer_cntpct(regs, x, sysreg.read);
-
default:
return 0;
}
--
1.7.10.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |