[Sound-open-firmware] Double exception when booting qemu with imx8

Daniel Baluta daniel.baluta at gmail.com
Tue Feb 4 14:26:43 CET 2020


On Tue, Feb 4, 2020 at 2:47 PM Liam Girdwood
<liam.r.girdwood at linux.intel.com> wrote:
>
> On Tue, 2020-02-04 at 11:51 +0200, Daniel Baluta wrote:
> > Hi Liam,
> >
> > We are working on integrating support for hifi4 DSP/imx8 with Qemu.
> > I wonder if you had this problem when you did the work for Intel
> > integration.
> >
> > It looks like we get an exception when qemu is trying to execute
> > first
> > line of code:
> >
> > 596f8000 <_ResetVector>:
> >
> > EXCCAUSE=0000000e (PIF address error during instruction fetch)
> >
> > We think that we are correctly setting memory zones:
> >
> > bridge-io: qemu-bridge-iram-mem fd 10 region 1 at 0x7fcbce733000
> > allocated 2048 bytes
> > bridge-io: qemu-bridge-dram-mem fd 11 region 2 at 0x7fcbce72b000
> > allocated 32768 bytes
> > bridge-io: qemu-bridge-sdram0-mem fd 12 region 3 at 0x7fcbbc6fc000
> > allocated 8388608 bytes
> >
> > Reading the memory from Qemu monitor or gdb connected to Qemu looks
> > good.
>
> Can you turn on trace from the script, this should show you all
> instructions, TLB loads, etc

Wow, thanks! We didn't know about this option.
We only see the following trace:

tlb_fill(596f8000, 2, 0) -> 596f8000, ret = 0
tlb_fill(596f863c, 2, 0) -> 596f863c, ret = 0

596f8000 is the entry point in SOF binary (ResetHandler)
596f863c is the address of DoubleException function were it gets stuck.

>
> Also please dump the boot text memory region to make sure instructions
> are actually there in the correct place.

Looks they are, but we will investigate more carefully!

thanks again!


More information about the Sound-open-firmware mailing list