AArch32: Fix conditional inclusion of bakery_locks
authorSoby Mathew <soby.mathew@arm.com>
Tue, 28 Feb 2017 22:58:29 +0000 (22:58 +0000)
committerSoby Mathew <soby.mathew@arm.com>
Thu, 2 Mar 2017 15:43:17 +0000 (15:43 +0000)
Due to incorrect conditional compilation checks, bakery locks were
excluded from the CCN driver and the power controller driver for FVP
when BL32 was built as the EL3 Runtime Software in AArch32 mode.
This patch corrects the same.

Change-Id: Ib1f163d9167a5c38e4d622232c4835cad9c235aa
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
drivers/arm/ccn/ccn.c
include/plat/arm/common/plat_arm.h

index d739c6bf39619bccd9cb4a3359789960dc73195b..ca0618274d616e12c20fe27ef567987db17280ab 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -38,7 +38,7 @@
 #include "ccn_private.h"
 
 static const ccn_desc_t *ccn_plat_desc;
-#ifdef IMAGE_BL31
+#if defined(IMAGE_BL31) || (defined(AARCH32) && defined(IMAGE_BL32))
 DEFINE_BAKERY_LOCK(ccn_lock);
 #endif
 
@@ -285,7 +285,7 @@ static void ccn_snoop_dvm_do_op(unsigned long long rn_id_map,
        assert(ccn_plat_desc);
        assert(ccn_plat_desc->periphbase);
 
-#ifdef IMAGE_BL31
+#if defined(IMAGE_BL31) || (defined(AARCH32) && defined(IMAGE_BL32))
        bakery_lock_get(&ccn_lock);
 #endif
        start_region_id = region_id;
@@ -305,7 +305,7 @@ static void ccn_snoop_dvm_do_op(unsigned long long rn_id_map,
                                                   rn_id_map);
        }
 
-#ifdef IMAGE_BL31
+#if defined(IMAGE_BL31) || (defined(AARCH32) && defined(IMAGE_BL32))
        bakery_lock_release(&ccn_lock);
 #endif
 }
index e878f9ebf7ea789450a86e646e8a2192076c64d3..b199d060b063d272502ab42ea1de0c815627029b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -64,7 +64,7 @@ void arm_setup_page_tables(uintptr_t total_base,
 #endif
 );
 
-#ifdef IMAGE_BL31
+#if defined(IMAGE_BL31) || (defined(AARCH32) && defined(IMAGE_BL32))
 /*
  * Use this macro to instantiate lock before it is used in below
  * arm_lock_xxx() macros
@@ -88,7 +88,7 @@ void arm_setup_page_tables(uintptr_t total_base,
 #define arm_lock_get()
 #define arm_lock_release()
 
-#endif /* IMAGE_BL31 */
+#endif /* defined(IMAGE_BL31) || (defined(AARCH32) && defined(IMAGE_BL32)) */
 
 #if ARM_RECOM_STATE_ID_ENC
 /*