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

Reply via email to