[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 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> Reviewed-by: Julien Grall <julien.grall@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 d4505b5..c869b96 100644 --- a/xen/arch/arm/traps.c +++ b/xen/arch/arm/traps.c @@ -1768,7 +1768,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 |