On 01/04/2012 08:32 AM, Peter Maydell wrote: > On 29 December 2011 16:19, Mark Langsdorf <mark.langsd...@calxeda.com> wrote: >> Add a cp15 config_base_register that currently defaults to 0. >> After the QOM CPU support is added, the value will be properly >> set to the periphal base value. >> >> Signed-off-by: Mark Langsdorf <mark.langsd...@calxeda.com> >> Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> > > I need to revoke this Reviewed-by: because... > >> @@ -2111,6 +2111,20 @@ uint32_t HELPER(get_cp15)(CPUState *env, uint32_t >> insn) >> * 0x200 << ($rn & 0xfff), when MMU is off. */ >> goto bad_reg; >> } >> + if (ARM_CPUID(env) == ARM_CPUID_CORTEXA9) { >> + switch (crm) { >> + case 0: >> + /* The config_base_address should hold the value of >> + * the peripheral base. ARM should get this from a CPU >> + * object property, but that support isn't available in >> + * December 2011. Default to 0 for now and board models >> + * that care can set it by a private hook */ >> + if ((op1 == 4) && (op2 == 0)) { >> + return env->cp15.c15_config_base_address; >> + } >> + } >> + goto bad_reg; >> + } >> return 0; > > this breaks booting on vexpress, which complains > qemu: fatal: Unimplemented cp15 register read (c15, c0, {0, 1}) > because we're now barfing on all the other c15 registers which we > used to read as zero.
Fair enough. Can I just resubmit this one patch or do you want the entire series? --Mark Langsdorf Calxeda, Inc.