From 13d4f1464d8ad8e9238166d845f5564e37750488 Mon Sep 17 00:00:00 2001 From: Russell King Date: Sat, 9 Jul 2011 14:24:36 +0100 Subject: [PATCH] --- yaml --- r: 258260 b: refs/heads/master c: 08409c33d6fdb43fa19d7dbdafd4f280b7835592 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/vfp/vfphw.S | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 2d7c720558ea..87f3c1d34b67 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: af61bdf035e2e4dd646b37b270bd558188a127c0 +refs/heads/master: 08409c33d6fdb43fa19d7dbdafd4f280b7835592 diff --git a/trunk/arch/arm/vfp/vfphw.S b/trunk/arch/arm/vfp/vfphw.S index c75443e204b2..404538ae591d 100644 --- a/trunk/arch/arm/vfp/vfphw.S +++ b/trunk/arch/arm/vfp/vfphw.S @@ -81,11 +81,8 @@ ENTRY(vfp_support_entry) orr r1, r1, #FPEXC_EN @ user FPEXC has the enable bit set ldr r4, [r3, r11, lsl #2] @ vfp_current_hw_state pointer bic r5, r1, #FPEXC_EX @ make sure exceptions are disabled - cmp r4, r10 - beq check_for_exception @ we are returning to the same - @ process, so the registers are - @ still there. In this case, we do - @ not want to drop a pending exception. + cmp r4, r10 @ this thread owns the hw context? + beq vfp_hw_state_valid VFPFMXR FPEXC, r5 @ enable VFP, disable any pending @ exceptions, so we can get at the @@ -132,7 +129,8 @@ no_old_VFP_process: #endif VFPFMXR FPSCR, r5 @ restore status -check_for_exception: +@ The context stored in the VFP hardware is up to date with this thread +vfp_hw_state_valid: tst r1, #FPEXC_EX bne process_exception @ might as well handle the pending @ exception before retrying branch