diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/arm/ccn/ccn.c | 6 | ||||
-rw-r--r-- | drivers/arm/gic/v3/gicv3_main.c | 8 | ||||
-rw-r--r-- | drivers/arm/gic/v3/gicv3_private.h | 8 |
3 files changed, 11 insertions, 11 deletions
diff --git a/drivers/arm/ccn/ccn.c b/drivers/arm/ccn/ccn.c index d184054ee..d0c5abc7c 100644 --- a/drivers/arm/ccn/ccn.c +++ b/drivers/arm/ccn/ccn.c @@ -17,7 +17,7 @@ #include "ccn_private.h" static const ccn_desc_t *ccn_plat_desc; -#if defined(IMAGE_BL31) || (defined(AARCH32) && defined(IMAGE_BL32)) +#if defined(IMAGE_BL31) || (!defined(__aarch64__) && defined(IMAGE_BL32)) DEFINE_BAKERY_LOCK(ccn_lock); #endif @@ -264,7 +264,7 @@ static void ccn_snoop_dvm_do_op(unsigned long long rn_id_map, assert(ccn_plat_desc); assert(ccn_plat_desc->periphbase); -#if defined(IMAGE_BL31) || (defined(AARCH32) && defined(IMAGE_BL32)) +#if defined(IMAGE_BL31) || (!defined(__aarch64__) && defined(IMAGE_BL32)) bakery_lock_get(&ccn_lock); #endif start_region_id = region_id; @@ -284,7 +284,7 @@ static void ccn_snoop_dvm_do_op(unsigned long long rn_id_map, rn_id_map); } -#if defined(IMAGE_BL31) || (defined(AARCH32) && defined(IMAGE_BL32)) +#if defined(IMAGE_BL31) || (!defined(__aarch64__) && defined(IMAGE_BL32)) bakery_lock_release(&ccn_lock); #endif } diff --git a/drivers/arm/gic/v3/gicv3_main.c b/drivers/arm/gic/v3/gicv3_main.c index a94dbf679..94a20ba07 100644 --- a/drivers/arm/gic/v3/gicv3_main.c +++ b/drivers/arm/gic/v3/gicv3_main.c @@ -73,12 +73,12 @@ void __init gicv3_driver_init(const gicv3_driver_data_t *plat_driver_data) plat_driver_data->interrupt_props != NULL : 1); /* Check for system register support */ -#ifdef AARCH32 - assert((read_id_pfr1() & (ID_PFR1_GIC_MASK << ID_PFR1_GIC_SHIFT)) != 0U); -#else +#ifdef __aarch64__ assert((read_id_aa64pfr0_el1() & (ID_AA64PFR0_GIC_MASK << ID_AA64PFR0_GIC_SHIFT)) != 0U); -#endif /* AARCH32 */ +#else + assert((read_id_pfr1() & (ID_PFR1_GIC_MASK << ID_PFR1_GIC_SHIFT)) != 0U); +#endif /* __aarch64__ */ /* The GIC version should be 3.0 */ gic_version = gicd_read_pidr2(plat_driver_data->gicd_base); diff --git a/drivers/arm/gic/v3/gicv3_private.h b/drivers/arm/gic/v3/gicv3_private.h index 92066e1f2..327a9a149 100644 --- a/drivers/arm/gic/v3/gicv3_private.h +++ b/drivers/arm/gic/v3/gicv3_private.h @@ -40,16 +40,16 @@ static inline u_register_t gicd_irouter_val_from_mpidr(u_register_t mpidr, * Macro to convert a GICR_TYPER affinity value into a MPIDR value. Bits[31:24] * are zeroes. */ -#ifdef AARCH32 +#ifdef __aarch64__ static inline u_register_t mpidr_from_gicr_typer(uint64_t typer_val) { - return (((typer_val) >> 32) & U(0xffffff)); + return (((typer_val >> 56) & MPIDR_AFFLVL_MASK) << MPIDR_AFF3_SHIFT) | + ((typer_val >> 32) & U(0xffffff)); } #else static inline u_register_t mpidr_from_gicr_typer(uint64_t typer_val) { - return (((typer_val >> 56) & MPIDR_AFFLVL_MASK) << MPIDR_AFF3_SHIFT) | - ((typer_val >> 32) & U(0xffffff)); + return (((typer_val) >> 32) & U(0xffffff)); } #endif |