diff options
author | cognet <cognet@FreeBSD.org> | 2013-02-26 19:59:52 +0000 |
---|---|---|
committer | cognet <cognet@FreeBSD.org> | 2013-02-26 19:59:52 +0000 |
commit | f7d7c01cb9a18a84ff7f6e93f91b46f08d8e5982 (patch) | |
tree | 464d4af0bbfb0d3fbcc581c0bc4724fb9725b9c3 /sys/arm | |
parent | 6376afdd72905ec01bc3af03881d18f0940137bc (diff) | |
download | FreeBSD-src-f7d7c01cb9a18a84ff7f6e93f91b46f08d8e5982.zip FreeBSD-src-f7d7c01cb9a18a84ff7f6e93f91b46f08d8e5982.tar.gz |
Fix SMP build.
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/arm/vfp.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/arm/arm/vfp.c b/sys/arm/arm/vfp.c index bde566c..c163af0 100644 --- a/sys/arm/arm/vfp.c +++ b/sys/arm/arm/vfp.c @@ -43,7 +43,6 @@ unsigned int get_coprocessorACR(void); int vfp_bounce(u_int, u_int, struct trapframe *, int); void vfp_discard(void); void vfp_enable(void); -void vfp_init(void); void vfp_restore(struct vfp_state *); void vfp_store(struct vfp_state *); void set_coprocessorACR(u_int); @@ -74,8 +73,8 @@ void set_coprocessorACR(u_int val) { __asm __volatile("mcr p15, 0, %0, c1, c0, 2\n\t" - "isb\n\t" : : "r" (val) : "cc"); + isb(); } @@ -140,7 +139,7 @@ vfp_bounce(u_int addr, u_int insn, struct trapframe *frame, int code) #ifdef SMP /* don't save if newer registers are on another processor */ if (vfptd /* && (vfptd == curthread) */ && - (vfptd->td_pcb->pcb_vfpcpu == PCPU_GET(vfpcpu)) + (vfptd->td_pcb->pcb_vfpcpu == PCPU_GET(cpu))) #else /* someone did not save their registers, */ if (vfptd /* && (vfptd == curthread) */) @@ -168,7 +167,7 @@ vfp_bounce(u_int addr, u_int insn, struct trapframe *frame, int code) */ vfp_restore(&curpcb->pcb_vfpstate); #ifdef SMP - curpcb->pcb_cpu = PCPU_GET(cpu); + curpcb->pcb_vfpcpu = PCPU_GET(cpu); #endif PCPU_SET(vfpcthread, PCPU_GET(curthread)); return 0; |