[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/2] hw/arm/armv7m: Downgrade CPU reset handler priority
From: |
Peter Maydell |
Subject: |
Re: [PATCH 2/2] hw/arm/armv7m: Downgrade CPU reset handler priority |
Date: |
Thu, 27 Feb 2020 15:14:12 +0000 |
On Thu, 27 Feb 2020 at 15:08, Stephanos Ioannidis <address@hidden> wrote:
> On 2/27/20 10:31 PM, Philippe Mathieu-Daudé wrote:
> > I think Alistair and myself use the 'loader' device with Cortex-M boards
> > and never hit this problem.
>
> I tried both `-kernel [ELF IMAGE]` and `-device loader,file=[ELF IMAGE]`
> without any success; in both cases, without this patch, QEMU hard-faults
> during start-up due to the unavailability of the vector table content at the
> time of CPU reset.
You only run into this bug if:
* you're using a Cortex-M CPU
* and the board model has aliased memory regions so that the
flash or memory you're loading the ELF file into appears at
multiple addresses in the memory map
* and the ELF file loads the data into the aliased address
rather than the CPU's VTOR register reset value (which is
0 for CPUs without the Security Extension)
* but it doesn't matter whether you use -kernel or -device loader
So you can work around it by linking your images to be loaded
at 0 rather than the higher address. It is definitely a bug
that we don't correctly handle these ELF images.
thanks
-- PMM