Author: ray Date: Sun Jun 30 19:52:41 2013 New Revision: 252425 URL: http://svnweb.freebsd.org/changeset/base/252425
Log: Decrypt magic numbers - define names for fields of Generic Timer's CNTKCTL reg. Submitted by: Ruslan Bukin <b...@bsdpad.com> Modified: head/sys/arm/arm/generic_timer.c Modified: head/sys/arm/arm/generic_timer.c ============================================================================== --- head/sys/arm/arm/generic_timer.c Sun Jun 30 19:36:17 2013 (r252424) +++ head/sys/arm/arm/generic_timer.c Sun Jun 30 19:52:41 2013 (r252425) @@ -66,7 +66,22 @@ __FBSDID("$FreeBSD$"); #define GENERIC_TIMER_REG_CTRL 0 #define GENERIC_TIMER_REG_TVAL 1 -#define CNTPSIRQ 29 +#define GENERIC_TIMER_CNTKCTL_PL0PTEN (1 << 9) /* Physical timer registers + access from PL0 */ +#define GENERIC_TIMER_CNTKCTL_PL0VTEN (1 << 8) /* Virtual timer registers + access from PL0 */ +#define GENERIC_TIMER_CNTKCTL_EVNTI (1 << 4) /* Virtual counter + event bits */ +#define GENERIC_TIMER_CNTKCTL_EVNTDIR (1 << 3) /* Virtual counter + event transition */ +#define GENERIC_TIMER_CNTKCTL_EVNTEN (1 << 2) /* Enables events from + the virtual counter */ +#define GENERIC_TIMER_CNTKCTL_PL0VCTEN (1 << 1) /* CNTVCT and CNTFRQ + access from PL0 */ +#define GENERIC_TIMER_CNTKCTL_PL0PCTEN (1 << 0) /* CNTPCT and CNTFRQ + access from PL0 */ + +#define GENERIC_TIMER_CNTPSIRQ 29 struct arm_tmr_softc { struct resource *irq_res; @@ -167,7 +182,11 @@ disable_user_access(void) uint32_t cntkctl; __asm volatile("mrc p15, 0, %0, c14, c1, 0" : "=r" (cntkctl)); - cntkctl &= ~((3 << 8) | (7 << 0)); + cntkctl &= ~(GENERIC_TIMER_CNTKCTL_PL0PTEN | + GENERIC_TIMER_CNTKCTL_PL0VTEN | + GENERIC_TIMER_CNTKCTL_EVNTEN | + GENERIC_TIMER_CNTKCTL_PL0VCTEN | + GENERIC_TIMER_CNTKCTL_PL0PCTEN); __asm volatile("mcr p15, 0, %0, c14, c1, 0" : : "r" (cntkctl)); isb(); } @@ -270,7 +289,8 @@ arm_tmr_attach(device_t dev) rid = 0; sc->irq_res = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, - CNTPSIRQ, CNTPSIRQ, 1, RF_SHAREABLE | RF_ACTIVE); + GENERIC_TIMER_CNTPSIRQ, GENERIC_TIMER_CNTPSIRQ, + 1, RF_SHAREABLE | RF_ACTIVE); arm_tmr_sc = sc; _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"