Fix arm post init

This commit is contained in:
lazymio
2021-12-25 00:16:51 +01:00
parent 5b3a9e1024
commit cddc9cf2ed
2 changed files with 54 additions and 0 deletions

View File

@ -692,6 +692,19 @@ void arm_cpu_post_init(CPUState *obj)
set_feature(&cpu->env, ARM_FEATURE_PMSA);
}
if (arm_feature(&cpu->env, ARM_FEATURE_CBAR) ||
arm_feature(&cpu->env, ARM_FEATURE_CBAR_RO)) {
cpu->reset_cbar = 0;
}
if (!arm_feature(&cpu->env, ARM_FEATURE_M)) {
cpu->reset_hivecs = false;
}
if (arm_feature(&cpu->env, ARM_FEATURE_AARCH64)) {
cpu->rvbar = 0;
}
if (arm_feature(&cpu->env, ARM_FEATURE_PMU)) {
cpu->has_pmu = true;
}
@ -710,6 +723,21 @@ void arm_cpu_post_init(CPUState *obj)
if (arm_feature(&cpu->env, ARM_FEATURE_NEON)) {
cpu->has_neon = true;
}
if (arm_feature(&cpu->env, ARM_FEATURE_M) &&
arm_feature(&cpu->env, ARM_FEATURE_THUMB_DSP)) {
cpu->has_dsp = true;
}
if (arm_feature(&cpu->env, ARM_FEATURE_PMSA)) {
cpu->has_mpu = true;
}
cpu->cfgend = false;
if (arm_feature(&cpu->env, ARM_FEATURE_GENERIC_TIMER)) {
cpu->gt_cntfrq_hz = NANOSECONDS_PER_SECOND / GTIMER_SCALE;
}
}
static void arm_cpu_finalize_features(ARMCPU *cpu)