From 89547182fa8099755241d5cb7d1c38cccdfc2d6c Mon Sep 17 00:00:00 2001 From: Catalin Marinas Date: Mon, 1 Feb 2010 18:50:40 +0100 Subject: [PATCH] --- yaml --- r: 180255 b: refs/heads/master c: dbead405801c8d5aa1bc21ab6e2a47f060d47c06 h: refs/heads/master i: 180253: 51e4285b29fe5db02fb8726bf1516c6a51f3afe6 180251: d4e698904826371e40f17ae520e04bbf765ec9f1 180247: d43339d6aab7679448ea9f52ea472d6551a60e6d 180239: 294e04ab1138e216423a9d8d6bd66d76f06dad5b 180223: d6ecfc0a2658379b0710cf00f231f5a199e10333 v: v3 --- [refs] | 2 +- trunk/arch/arm/vfp/vfpmodule.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index eecc6473caba..4b2c844f64d5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c540b9ff0f8679ba924fac072aeb7d63fa473190 +refs/heads/master: dbead405801c8d5aa1bc21ab6e2a47f060d47c06 diff --git a/trunk/arch/arm/vfp/vfpmodule.c b/trunk/arch/arm/vfp/vfpmodule.c index f60a5400a25b..a63c4be99b36 100644 --- a/trunk/arch/arm/vfp/vfpmodule.c +++ b/trunk/arch/arm/vfp/vfpmodule.c @@ -197,10 +197,13 @@ static void vfp_raise_exceptions(u32 exceptions, u32 inst, u32 fpscr, struct pt_ } /* - * Update the FPSCR with the additional exception flags. + * If any of the status flags are set, update the FPSCR. * Comparison instructions always return at least one of * these flags set. */ + if (exceptions & (FPSCR_N|FPSCR_Z|FPSCR_C|FPSCR_V)) + fpscr &= ~(FPSCR_N|FPSCR_Z|FPSCR_C|FPSCR_V); + fpscr |= exceptions; fmxr(FPSCR, fpscr);