On 27 August 2012 21:37, Meador Inge <mead...@codesourcery.com> wrote: > The minimal amount of arm_boot_info has been setup to allow > for machines based off of ARMv7-M processors to be loaded via the > -kernel option. > > Signed-off-by: Meador Inge <mead...@codesourcery.com> > --- > hw/armv7m.c | 13 +++++++++++++ > 1 files changed, 13 insertions(+), 0 deletions(-) > > diff --git a/hw/armv7m.c b/hw/armv7m.c > index 9f66667..d11be09 100644 > --- a/hw/armv7m.c > +++ b/hw/armv7m.c > @@ -150,10 +150,16 @@ static void armv7m_bitband_init(void) > static void armv7m_reset(void *opaque) > { > ARMCPU *cpu = opaque; > + CPUARMState *env = &cpu->env; > + const struct arm_boot_info *info = env->boot_info; > > cpu_reset(CPU(cpu)); > + env->regs[15] = info->entry & 0xfffffffe; > + env->thumb = info->entry & 1;
Isn't this going to break reset in the case where your loaded image is a complete system image? It unconditionally overrides the PC/Thumb setting we do in arm_cpu_reset(). -- PMM