From b6dfb2b18ffafdbcffc3c8f64ed21d0abfed1aab Mon Sep 17 00:00:00 2001 From: Dietmar Eggemann Date: Fri, 17 Feb 2012 14:03:28 +0000 Subject: Bugfix: Fix race condition during enabling CCI coherency. Signed-off-by: Dietmar Eggemann --- big-little/secure_world/monmode_vectors.s | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) mode change 100644 => 100755 big-little/secure_world/monmode_vectors.s diff --git a/big-little/secure_world/monmode_vectors.s b/big-little/secure_world/monmode_vectors.s old mode 100644 new mode 100755 index 4fe2ed1..b070e81 --- a/big-little/secure_world/monmode_vectors.s +++ b/big-little/secure_world/monmode_vectors.s @@ -331,18 +331,23 @@ warm_reset FUNCTION MRC p15, 0, r0, c0, c0, 5 UBFX r1, r0, #0, #8 UBFX r2, r0, #8, #8 - CMP r1, #0 - BNE cci_snoop_status MOV r3, #3 CMP r2, #0 BEQ a15_snoops MOV r5, #0x5000 + CMP r1, #0 + BNE cci_snoop_status STR r3, [r4, r5] B cci_snoop_status a15_snoops - MOV r5, #0x4000 + MOV r5, #0x4000 + CMP r1, #0 + BNE cci_snoop_status STR r3, [r4, r5] cci_snoop_status + LDR r0, [r4, r5] + TST r0, #3 + BEQ cci_snoop_status LDR r0, [r4, #0xc] TST r0, #1 BNE cci_snoop_status -- cgit v1.2.3