svn commit: r354177 - in head/sys: arm64/arm64 dev/hwpmc

Andrew Turner andrew at FreeBSD.org
Wed Oct 30 12:47:01 UTC 2019


Author: andrew
Date: Wed Oct 30 12:47:00 2019
New Revision: 354177
URL: https://svnweb.freebsd.org/changeset/base/354177

Log:
  Use a lowercase name for arm64 special registers so they don't conflict
  with macros of the same name.
  
  Sponsored by:	DARPA, AFRL

Modified:
  head/sys/arm64/arm64/debug_monitor.c
  head/sys/arm64/arm64/freebsd32_machdep.c
  head/sys/arm64/arm64/gic_v3_reg.h
  head/sys/arm64/arm64/machdep.c
  head/sys/arm64/arm64/trap.c
  head/sys/dev/hwpmc/hwpmc_arm64.c

Modified: head/sys/arm64/arm64/debug_monitor.c
==============================================================================
--- head/sys/arm64/arm64/debug_monitor.c	Wed Oct 30 12:33:36 2019	(r354176)
+++ head/sys/arm64/arm64/debug_monitor.c	Wed Oct 30 12:47:00 2019	(r354177)
@@ -468,8 +468,8 @@ dbg_monitor_init(void)
 	u_int i;
 
 	/* Find out many breakpoints and watchpoints we can use */
-	dbg_watchpoint_num = ((READ_SPECIALREG(ID_AA64DFR0_EL1) >> 20) & 0xf) + 1;
-	dbg_breakpoint_num = ((READ_SPECIALREG(ID_AA64DFR0_EL1) >> 12) & 0xf) + 1;
+	dbg_watchpoint_num = ((READ_SPECIALREG(id_aa64dfr0_el1) >> 20) & 0xf) + 1;
+	dbg_breakpoint_num = ((READ_SPECIALREG(id_aa64dfr0_el1) >> 12) & 0xf) + 1;
 
 	if (bootverbose && PCPU_GET(cpuid) == 0) {
 		printf("%d watchpoints and %d breakpoints supported\n",

Modified: head/sys/arm64/arm64/freebsd32_machdep.c
==============================================================================
--- head/sys/arm64/arm64/freebsd32_machdep.c	Wed Oct 30 12:33:36 2019	(r354176)
+++ head/sys/arm64/arm64/freebsd32_machdep.c	Wed Oct 30 12:47:00 2019	(r354177)
@@ -72,8 +72,8 @@ freebsd32_sysarch(struct thread *td, struct freebsd32_
 
 	switch(uap->op) {
 	case ARM_SET_TP:
-		WRITE_SPECIALREG(TPIDR_EL0, uap->parms);
-		WRITE_SPECIALREG(TPIDRRO_EL0, uap->parms);
+		WRITE_SPECIALREG(tpidr_el0, uap->parms);
+		WRITE_SPECIALREG(tpidrro_el0, uap->parms);
 		return 0;
 	case ARM_SYNC_ICACHE:
 		{

Modified: head/sys/arm64/arm64/gic_v3_reg.h
==============================================================================
--- head/sys/arm64/arm64/gic_v3_reg.h	Wed Oct 30 12:33:36 2019	(r354176)
+++ head/sys/arm64/arm64/gic_v3_reg.h	Wed Oct 30 12:47:00 2019	(r354177)
@@ -389,7 +389,7 @@
 
 #define	gic_icc_write(reg, val)					\
 do {								\
-	WRITE_SPECIALREG(ICC_ ##reg ##_EL1, val);		\
+	WRITE_SPECIALREG(icc_ ##reg ##_el1, val);		\
 	isb();							\
 } while (0)
 
@@ -397,7 +397,7 @@ do {								\
 ({								\
 	uint64_t val;						\
 								\
-	val = READ_SPECIALREG(ICC_ ##reg ##_EL1);		\
+	val = READ_SPECIALREG(icc_ ##reg ##_el1);		\
 	(val);							\
 })
 

Modified: head/sys/arm64/arm64/machdep.c
==============================================================================
--- head/sys/arm64/arm64/machdep.c	Wed Oct 30 12:33:36 2019	(r354176)
+++ head/sys/arm64/arm64/machdep.c	Wed Oct 30 12:47:00 2019	(r354177)
@@ -1150,7 +1150,7 @@ dbg_init(void)
 {
 
 	/* Clear OS lock */
-	WRITE_SPECIALREG(OSLAR_EL1, 0);
+	WRITE_SPECIALREG(oslar_el1, 0);
 
 	/* This permits DDB to use debug registers for watchpoints. */
 	dbg_monitor_init();

Modified: head/sys/arm64/arm64/trap.c
==============================================================================
--- head/sys/arm64/arm64/trap.c	Wed Oct 30 12:33:36 2019	(r354176)
+++ head/sys/arm64/arm64/trap.c	Wed Oct 30 12:47:00 2019	(r354177)
@@ -480,8 +480,8 @@ do_el0_sync(struct thread *td, struct trapframe *frame
 	case EXCP_SOFTSTP_EL0:
 		td->td_frame->tf_spsr &= ~PSR_SS;
 		td->td_pcb->pcb_flags &= ~PCB_SINGLE_STEP;
-		WRITE_SPECIALREG(MDSCR_EL1,
-		    READ_SPECIALREG(MDSCR_EL1) & ~DBG_MDSCR_SS);
+		WRITE_SPECIALREG(mdscr_el1,
+		    READ_SPECIALREG(mdscr_el1) & ~DBG_MDSCR_SS);
 		call_trapsignal(td, SIGTRAP, TRAP_TRACE,
 		    (void *)frame->tf_elr);
 		userret(td, frame);

Modified: head/sys/dev/hwpmc/hwpmc_arm64.c
==============================================================================
--- head/sys/dev/hwpmc/hwpmc_arm64.c	Wed Oct 30 12:33:36 2019	(r354176)
+++ head/sys/dev/hwpmc/hwpmc_arm64.c	Wed Oct 30 12:47:00 2019	(r354177)
@@ -63,7 +63,7 @@ arm64_interrupt_enable(uint32_t pmc)
 	uint32_t reg;
 
 	reg = (1 << pmc);
-	WRITE_SPECIALREG(PMINTENSET_EL1, reg);
+	WRITE_SPECIALREG(pmintenset_el1, reg);
 
 	isb();
 }
@@ -77,7 +77,7 @@ arm64_interrupt_disable(uint32_t pmc)
 	uint32_t reg;
 
 	reg = (1 << pmc);
-	WRITE_SPECIALREG(PMINTENCLR_EL1, reg);
+	WRITE_SPECIALREG(pmintenclr_el1, reg);
 
 	isb();
 }
@@ -91,7 +91,7 @@ arm64_counter_enable(unsigned int pmc)
 	uint32_t reg;
 
 	reg = (1 << pmc);
-	WRITE_SPECIALREG(PMCNTENSET_EL0, reg);
+	WRITE_SPECIALREG(pmcntenset_el0, reg);
 
 	isb();
 }
@@ -105,7 +105,7 @@ arm64_counter_disable(unsigned int pmc)
 	uint32_t reg;
 
 	reg = (1 << pmc);
-	WRITE_SPECIALREG(PMCNTENCLR_EL0, reg);
+	WRITE_SPECIALREG(pmcntenclr_el0, reg);
 
 	isb();
 }
@@ -118,7 +118,7 @@ arm64_pmcr_read(void)
 {
 	uint32_t reg;
 
-	reg = READ_SPECIALREG(PMCR_EL0);
+	reg = READ_SPECIALREG(pmcr_el0);
 
 	return (reg);
 }
@@ -127,7 +127,7 @@ static void
 arm64_pmcr_write(uint32_t reg)
 {
 
-	WRITE_SPECIALREG(PMCR_EL0, reg);
+	WRITE_SPECIALREG(pmcr_el0, reg);
 
 	isb();
 }
@@ -141,11 +141,11 @@ arm64_pmcn_read(unsigned int pmc)
 
 	KASSERT(pmc < arm64_npmcs, ("%s: illegal PMC number %d", __func__, pmc));
 
-	WRITE_SPECIALREG(PMSELR_EL0, pmc);
+	WRITE_SPECIALREG(pmselr_el0, pmc);
 
 	isb();
 
-	return (READ_SPECIALREG(PMXEVCNTR_EL0));
+	return (READ_SPECIALREG(pmxevcntr_el0));
 }
 
 static void
@@ -154,8 +154,8 @@ arm64_pmcn_write(unsigned int pmc, uint32_t reg)
 
 	KASSERT(pmc < arm64_npmcs, ("%s: illegal PMC number %d", __func__, pmc));
 
-	WRITE_SPECIALREG(PMSELR_EL0, pmc);
-	WRITE_SPECIALREG(PMXEVCNTR_EL0, reg);
+	WRITE_SPECIALREG(pmselr_el0, pmc);
+	WRITE_SPECIALREG(pmxevcntr_el0, reg);
 
 	isb();
 }
@@ -273,8 +273,8 @@ arm64_start_pmc(int cpu, int ri)
 	/*
 	 * Configure the event selection.
 	 */
-	WRITE_SPECIALREG(PMSELR_EL0, ri);
-	WRITE_SPECIALREG(PMXEVTYPER_EL0, config);
+	WRITE_SPECIALREG(pmselr_el0, ri);
+	WRITE_SPECIALREG(pmxevtyper_el0, config);
 
 	isb();
 
@@ -347,10 +347,10 @@ arm64_intr(struct trapframe *tf)
 
 		/* Check if counter is overflowed */
 		reg = (1 << ri);
-		if ((READ_SPECIALREG(PMOVSCLR_EL0) & reg) == 0)
+		if ((READ_SPECIALREG(pmovsclr_el0) & reg) == 0)
 			continue;
 		/* Clear Overflow Flag */
-		WRITE_SPECIALREG(PMOVSCLR_EL0, reg);
+		WRITE_SPECIALREG(pmovsclr_el0, reg);
 
 		isb();
 


More information about the svn-src-head mailing list