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

Liam Girdwood liam.r.girdwood at linux.intel.com
Tue Feb 4 15:01:29 CET 2020


On Tue, 2020-02-04 at 15:26 +0200, Daniel Baluta wrote:
> 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.
> 

Best to also enable instruction trace, this will show what is being
loaded. DEPC is usually a sign that the vecbase is wrong (since it
can't find the initial exception handler for the initial fault).

Liam




More information about the Sound-open-firmware mailing list