Hi,
On 2022/1/9 下午5:25, WANG Xuerui wrote:
+ data = FIELD_DP32(data, CPUCFG16, L1_DPRE, 1);
+ data = FIELD_DP32(data, CPUCFG16, L2_IUPRE, 1);
+ data = FIELD_DP32(data, CPUCFG16, L2_IUUNIFY, 1);
+ data = FIELD_DP32(data, CPUCFG16, L2_IUPRIV, 1);
+ data = FIELD_DP32(data, CPUCFG16, L3_IUPRE, 1);
+ data = FIELD_DP32(data, CPUCFG16, L3_IUUNIFY, 1);
+ data = FIELD_DP32(data, CPUCFG16, L3_IUINCL, 1);
+ env->cpucfg[16] = data;
+
+ data = 0;
+ data = FIELD_DP32(data, CPUCFG17, L1IU_WAYS, 0x8003);
This seems out-of-place, according to the manual this field is Way-1
for the L1I cache, so you have 0x8004=32772 ways in this cache?
Same for all similar constructions below.
I have time to reply to your comment now.
As in the previous comments, I don't remember which one,these values should be
the same as the values of the physical environment. I dumped 'CPUCFG17' value
again,
the value is no problem. Maybe you didn't think about dumping these values when
you commented. The value of 'L11U_SIZE' is dumped to be 0. and cpucfg[i] has
been
initialized to 0 before. There is no need to set it again.
Thanks
Song