@@ -50,6 +50,88 @@ if(CONFIG_ARMV9_A)
5050 set (ARMFVP_MIN_VERSION 11.29.27)
5151endif ()
5252
53+ # Add Cortex-A320 specific configuration flags
54+ if (CONFIG_BOARD_FVP_BASE_REVC_2XAEM_A320)
55+ set (ARMFVP_FLAGS ${ARMFVP_FLAGS}
56+ # Cortex-A320 specific CPU identification
57+ -C cluster0.MIDR=0x410FD8F0
58+ -C cluster0.AMIIDR=0xD8F0043B
59+ -C cluster0.AMPIDR=0x4000BBD8F
60+ -C cluster0.ERRIIDR=0xD8F0043B
61+ -C cluster0.ERRPIDR=0x4000BBD8F
62+ -C cluster0.PMUPIDR=0x4000BBD80
63+ -C cluster0.CTIPIDR=0x4003BBD8F
64+ -C cluster0.DBGPIDR=0x4003BBD8F
65+
66+ # ARMv9.2-A support level
67+ -C cluster0.has_arm_v9-2=1
68+
69+ # Advanced SIMD and crypto support
70+ -C cluster0.advsimd_bf16_support_level=1
71+ -C cluster0.advsimd_i8mm_support_level=1
72+ -C cluster0.cpu0.crypto_sha3=1
73+ -C cluster0.cpu0.crypto_sha512=1
74+ -C cluster0.cpu0.crypto_sm3=1
75+ -C cluster0.cpu0.crypto_sm4=1
76+ -C cluster0.cpu0.enable_crc32=1
77+
78+ # Memory tagging support
79+ -C cluster0.memory_tagging_support_level=3
80+
81+ # Enhanced security features
82+ -C cluster0.has_qarma3_pac=1
83+ -C cluster0.has_const_pac=2
84+
85+ # SVE configuration for Cortex-A320
86+ -C cluster0.sve.veclen=2
87+
88+ # Performance monitoring
89+ -C cluster0.pmu-num_counters=6
90+ -C cluster0.configure_pmu_events_with_json='{"pmu_events" :["SVE_INST_RETIRED" ,"BR_INDNR_TAKEN_RETIRED" ,"BR_IND_RETIRED" ,"EXC_IRQ" ,"EXC_FIQ" ,"EXC_RETURN" ,"EXC_TAKEN" ,"L1D_CACHE_RD" ,"L2D_CACHE_RD" ,"BUS_ACCESS_RD" ,"BUS_ACCESS_WR" ,"MEM_ACCESS_RD" ,"MEM_ACCESS_WR" ,"BR_PRED_RETIRED" ,"BR_IMMED_MIS_PRED_RETIRED" ,"BR_IND_MIS_PRED_RETIRED" ,"BR_RETURN_PRED_RETIRED" ,"BR_RETURN_MIS_PRED_RETIRED" ,"BR_INDNR_PRED_RETIRED" ,"BR_INDNR_MIS_PRED_RETIRED" ,"BR_IMMED_PRED_RETIRED" ]}'
91+
92+ # Cache configuration
93+ -C cluster0.dcache-ways=4
94+ -C cluster0.icache-ways=4
95+ -C cluster0.l2cache-ways=8
96+ -C cluster0.icache-log2linelen=6
97+ -C cluster0.l2cache-read_bus_width_in_bytes=16
98+ -C cluster0.l2cache-write_bus_width_in_bytes=32
99+
100+ # Debug and trace configuration
101+ -C cluster0.has_ets=1
102+ -C cluster0.has_trbe=1
103+ -C cluster0.has_self_hosted_trace_extension=2
104+
105+ # Advanced architectural features
106+ -C cluster0.has_ccidx=1
107+ -C cluster0.has_16k_granule=1
108+ -C cluster0.ecv_support_level=2
109+ -C cluster0.has_cvadp_support=1
110+ -C cluster0.has_lrcpc=1
111+ -C cluster0.has_dot_product=2
112+ -C cluster0.has_wfet_and_wfit=2
113+ -C cluster0.has_xs=2
114+ -C cluster0.has_v8_5_debug_over_power_down=2
115+ -C cluster0.has_no_os_double_lock=1
116+ -C cluster0.has_v8_7_fp_enhancements=2
117+ -C cluster0.has_amu=1
118+ -C cluster0.has_mpmm=1
119+ -C cluster0.has_mpam=2
120+ -C cluster0.has_ras=2
121+
122+ # Memory system configuration
123+ -C cluster0.stage12_tlb_size=1024
124+ -C cluster0.restriction_on_speculative_execution=2
125+ -C cluster0.restriction_on_speculative_execution_aarch32=2
126+
127+ # Error handling
128+ -C cluster0.number_of_error_records=3
129+ -C cluster0.ERXMISC0_mask=0xC003FFC3
130+ )
131+ # Set minimum FVP version for Cortex-A320 features
132+ set (ARMFVP_MIN_VERSION 11.29.27)
133+ endif ()
134+
53135if (CONFIG_BUILD_WITH_TFA)
54136 set (TFA_PLAT "fvp" )
55137
0 commit comments