Am 22.09.2012 15:05, schrieb Peter Maydell: > On 22 September 2012 12:45, Andreas Färber <andreas.faer...@web.de> wrote: >> +static void cortex_r4_initfn(Object *obj) >> +{ >> + ARMCPU *cpu = ARM_CPU(obj); >> + set_feature(&cpu->env, ARM_FEATURE_V7); >> + set_feature(&cpu->env, ARM_FEATURE_THUMB_DIV); >> + set_feature(&cpu->env, ARM_FEATURE_MPU); > > This will trip the assert in register_cp_regs_for_features():
Thanks for the pointer. This rebased version is only compile-tested and is provided mainly for the ST guys to build upon, during my absence. > if (arm_feature(env, ARM_FEATURE_MPU)) { > /* These are the MPU registers prior to PMSAv6. Any new > * PMSA core later than the ARM946 will require that we > * implement the PMSAv6 or PMSAv7 registers, which are > * completely different. > */ > assert(!arm_feature(env, ARM_FEATURE_V6)); > > ...indicating that R4 support is more work than is contained > in this patch :-) ...which confirms what I stated in the message this is threaded to, and is reflected by "prepare". :) Same for VFPv3-D16 in the second RFC patch (which used to "add" to cortex-r4, now should've been updated to "prepare" as well). And of course the Cortex-R4's lock-step mode that seems to make it so interesting for automotive customers. /-F