diff options
author | andrew <andrew@FreeBSD.org> | 2013-08-17 18:51:38 +0000 |
---|---|---|
committer | andrew <andrew@FreeBSD.org> | 2013-08-17 18:51:38 +0000 |
commit | 06c57264bc4627b043244c3f34745e71aa626651 (patch) | |
tree | 12aad6f3eedaa4d846950fe7432161ad4732f7a4 | |
parent | 17f8b7cb0b8421fd2269fa021669c9b6b07c7e0a (diff) | |
download | FreeBSD-src-06c57264bc4627b043244c3f34745e71aa626651.zip FreeBSD-src-06c57264bc4627b043244c3f34745e71aa626651.tar.gz |
Rename device vfp to option VFP and retire the ARM_VFP_SUPPORT option. This
simplifies enabling as previously both options were required to be enabled,
now we only need a single option.
While here enable VFP on the PandaBoard.
-rw-r--r-- | sys/arm/arm/genassym.c | 2 | ||||
-rw-r--r-- | sys/arm/arm/machdep.c | 2 | ||||
-rw-r--r-- | sys/arm/arm/mp_machdep.c | 4 | ||||
-rw-r--r-- | sys/arm/arm/swtch.S | 12 | ||||
-rw-r--r-- | sys/arm/arm/undefined.c | 4 | ||||
-rw-r--r-- | sys/arm/arm/vfp.c | 5 | ||||
-rw-r--r-- | sys/arm/conf/PANDABOARD | 3 | ||||
-rw-r--r-- | sys/arm/conf/RPI-B | 3 | ||||
-rw-r--r-- | sys/arm/include/pcpu.h | 2 | ||||
-rw-r--r-- | sys/conf/files.arm | 2 | ||||
-rw-r--r-- | sys/conf/options.arm | 1 |
11 files changed, 21 insertions, 19 deletions
diff --git a/sys/arm/arm/genassym.c b/sys/arm/arm/genassym.c index 4b8f4cc..0a7399d 100644 --- a/sys/arm/arm/genassym.c +++ b/sys/arm/arm/genassym.c @@ -113,7 +113,7 @@ ASSYM(ARM_RAS_START, ARM_RAS_START); ASSYM(ARM_RAS_END, ARM_RAS_END); #endif -#ifdef ARM_VFP_SUPPORT +#ifdef VFP ASSYM(PCB_VFPSTATE, offsetof(struct pcb, pcb_vfpstate)); ASSYM(PCB_VFPCPU, offsetof(struct pcb, pcb_vfpcpu)); diff --git a/sys/arm/arm/machdep.c b/sys/arm/arm/machdep.c index ddedd9b..12e7fd1 100644 --- a/sys/arm/arm/machdep.c +++ b/sys/arm/arm/machdep.c @@ -875,7 +875,7 @@ pcpu0_init(void) #endif pcpu_init(pcpup, 0, sizeof(struct pcpu)); PCPU_SET(curthread, &thread0); -#ifdef ARM_VFP_SUPPORT +#ifdef VFP PCPU_SET(cpu, 0); #endif } diff --git a/sys/arm/arm/mp_machdep.c b/sys/arm/arm/mp_machdep.c index 4db6da4..2e5e1d3 100644 --- a/sys/arm/arm/mp_machdep.c +++ b/sys/arm/arm/mp_machdep.c @@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$"); #include <machine/pte.h> #include <machine/intr.h> #include <machine/vmparam.h> -#ifdef ARM_VFP_SUPPORT +#ifdef VFP #include <machine/vfp.h> #endif @@ -199,7 +199,7 @@ init_secondary(int cpu) KASSERT(PCPU_GET(idlethread) != NULL, ("no idle thread")); pc->pc_curthread = pc->pc_idlethread; pc->pc_curpcb = pc->pc_idlethread->td_pcb; -#ifdef ARM_VFP_SUPPORT +#ifdef VFP pc->pc_cpu = cpu; vfp_init(); diff --git a/sys/arm/arm/swtch.S b/sys/arm/arm/swtch.S index 8439a51..92c420b 100644 --- a/sys/arm/arm/swtch.S +++ b/sys/arm/arm/swtch.S @@ -114,7 +114,7 @@ ENTRY(cpu_throw) GET_PCPU(r7) -#ifdef ARM_VFP_SUPPORT +#ifdef VFP /* * vfp_discard will clear pcpu->pc_vfpcthread, and modify * and modify the control as needed. @@ -124,7 +124,7 @@ ENTRY(cpu_throw) bne 3f bl _C_LABEL(vfp_discard) /* yes, shut down vfp */ 3: -#endif /* ARM_VFP_SUPPORT */ +#endif /* VFP */ ldr r7, [r5, #(TD_PCB)] /* r7 = new thread's PCB */ @@ -303,7 +303,7 @@ ENTRY(cpu_switch) /* rem: r9 = new PCB */ /* rem: interrupts are enabled */ -#ifdef ARM_VFP_SUPPORT +#ifdef VFP /* * vfp_store will clear pcpu->pc_vfpcthread, save * registers and state, and modify the control as needed. @@ -325,7 +325,7 @@ ENTRY(cpu_switch) add r0, r2, #(PCB_VFPSTATE) bl _C_LABEL(vfp_store) 1: -#endif /* ARM_VFP_SUPPORT */ +#endif /* VFP */ /* r1 now free! */ @@ -505,7 +505,7 @@ ENTRY(savectx) /* Store all the registers in the process's pcb */ add r2, r0, #(PCB_R8) stmia r2, {r8-r13} -#ifdef ARM_VFP_SUPPORT +#ifdef VFP /* * vfp_store will clear pcpu->pc_vfpcthread, save * registers and state, and modify the control as needed. @@ -525,7 +525,7 @@ ENTRY(savectx) add r0, r0, #(PCB_VFPSTATE) bl _C_LABEL(vfp_store) 1: -#endif /* ARM_VFP_SUPPORT */ +#endif /* VFP */ add sp, sp, #4; ldmfd sp!, {r4-r7, pc} END(savectx) diff --git a/sys/arm/arm/undefined.c b/sys/arm/arm/undefined.c index 41f2f64..476dd60 100644 --- a/sys/arm/arm/undefined.c +++ b/sys/arm/arm/undefined.c @@ -234,13 +234,13 @@ undefinedinstruction(trapframe_t *frame) coprocessor = 0; if ((fault_instruction & (1 << 27)) != 0) coprocessor = (fault_instruction >> 8) & 0x0f; -#ifdef ARM_VFP_SUPPORT +#ifdef VFP else { /* check for special instructions */ if (((fault_instruction & 0xfe000000) == 0xf2000000) || ((fault_instruction & 0xff100000) == 0xf4000000)) coprocessor = 10; /* vfp / simd */ } -#endif /* ARM_VFP_SUPPORT */ +#endif /* VFP */ if ((frame->tf_spsr & PSR_MODE) == PSR_USR32_MODE) { /* diff --git a/sys/arm/arm/vfp.c b/sys/arm/arm/vfp.c index b9dce13..8e8dbad 100644 --- a/sys/arm/arm/vfp.c +++ b/sys/arm/arm/vfp.c @@ -24,10 +24,11 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ + #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); - +#ifdef VFP #include <sys/param.h> #include <sys/systm.h> #include <sys/proc.h> @@ -281,3 +282,5 @@ vfp_enable() tmp |= VFPEXC_EN; fmxr(VFPEXC, tmp); } +#endif + diff --git a/sys/arm/conf/PANDABOARD b/sys/arm/conf/PANDABOARD index 788a0ed..0ebcf52 100644 --- a/sys/arm/conf/PANDABOARD +++ b/sys/arm/conf/PANDABOARD @@ -140,5 +140,4 @@ options FDT options FDT_DTB_STATIC makeoptions FDT_DTS_FILE=pandaboard.dts -#device vfp # vfp/neon -#options ARM_VFP_SUPPORT # vfp/neon +options VFP # vfp/neon diff --git a/sys/arm/conf/RPI-B b/sys/arm/conf/RPI-B index 251bf55..20f1198 100644 --- a/sys/arm/conf/RPI-B +++ b/sys/arm/conf/RPI-B @@ -109,5 +109,4 @@ options FDT #options FDT_DTB_STATIC makeoptions FDT_DTS_FILE=rpi.dts -device vfp # vfp/neon -options ARM_VFP_SUPPORT # vfp/neon +options VFP # vfp/neon diff --git a/sys/arm/include/pcpu.h b/sys/arm/include/pcpu.h index cd5006c..1995030 100644 --- a/sys/arm/include/pcpu.h +++ b/sys/arm/include/pcpu.h @@ -41,7 +41,7 @@ struct vmspace; #endif /* _KERNEL */ -#ifdef ARM_VFP_SUPPORT +#ifdef VFP #define PCPU_MD_FIELDS \ unsigned int pc_cpu; \ unsigned int pc_vfpsid; \ diff --git a/sys/conf/files.arm b/sys/conf/files.arm index 0f18b13..dbb9ffc2 100644 --- a/sys/conf/files.arm +++ b/sys/conf/files.arm @@ -50,7 +50,7 @@ arm/arm/uio_machdep.c standard arm/arm/undefined.c standard arm/arm/vectors.S standard arm/arm/vm_machdep.c standard -arm/arm/vfp.c optional vfp +arm/arm/vfp.c standard board_id.h standard \ dependency "$S/arm/conf/genboardid.awk $S/arm/conf/mach-types" \ compile-with "${AWK} -f $S/arm/conf/genboardid.awk $S/arm/conf/mach-types > board_id.h" \ diff --git a/sys/conf/options.arm b/sys/conf/options.arm index b5e6064..1d67645 100644 --- a/sys/conf/options.arm +++ b/sys/conf/options.arm @@ -60,3 +60,4 @@ GFB_DEBUG opt_gfb.h GFB_NO_FONT_LOADING opt_gfb.h GFB_NO_MODE_CHANGE opt_gfb.h AT91C_MAIN_CLOCK opt_at91.h +VFP opt_global.h |