@@ -50,6 +50,87 @@ if(CONFIG_ARMV9_A)
50
50
set (ARMFVP_MIN_VERSION 11.29.27)
51
51
endif ()
52
52
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_v8_7_fp_enhancements=2
116
+ -C cluster0.has_amu=1
117
+ -C cluster0.has_mpmm=1
118
+ -C cluster0.has_mpam=2
119
+ -C cluster0.has_ras=2
120
+
121
+ # Memory system configuration
122
+ -C cluster0.stage12_tlb_size=1024
123
+ -C cluster0.restriction_on_speculative_execution=2
124
+ -C cluster0.restriction_on_speculative_execution_aarch32=2
125
+
126
+ # Error handling
127
+ -C cluster0.number_of_error_records=3
128
+ -C cluster0.ERXMISC0_mask=0xC003FFC3
129
+ )
130
+ # Set minimum FVP version for Cortex-A320 features
131
+ set (ARMFVP_MIN_VERSION 11.29.27)
132
+ endif ()
133
+
53
134
if (CONFIG_BUILD_WITH_TFA)
54
135
set (TFA_PLAT "fvp" )
55
136
0 commit comments