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.
This commit is contained in:
Andrew Turner 2013-08-17 18:51:38 +00:00
parent 84dde578a9
commit c5de72378c
11 changed files with 21 additions and 19 deletions

View file

@ -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));

View file

@ -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
}

View file

@ -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();

View file

@ -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)

View file

@ -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) {
/*

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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; \

View file

@ -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" \

View file

@ -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