For what i read nothing can be done right now to solve the issue, if
someone nead some help on testing a future change on Haret please let me
know.

Agostinho  

Ter, 2009-09-15 às 22:40 -0400, Kevin O'Connor escreveu:

> On Mon, Sep 14, 2009 at 01:06:10PM +0200, Holger Schurig wrote:
> > > gives "Terminating Haret due to unhandled exception
> > > (pc=00b0d640), is ther a configuration to change so it boots?
> > 
> > AFAIK something here is fishy:
> > 
> > HaRET detects:
> > 
> > > Initializing for machine 'Generic ARM v6'
> > 
> > And did not use one of the two
> > 
> > > Looking at machine Generic MSM7xxxA
> > > Looking at machine Generic MSM7xxx
> > 
> > But WinCE said
> > 
> > > Wince reports processor: core=MSM7225-528MHz name= cat=
> > > vend=QUALCOMM 
> 
> Haret is currently looking for a prefix of "MSM7201A", "MSM7500",
> "MSM7200" - this is easy to change, but it wont stop the crash as they
> just activate the same arm6 backend that is already activated.
> 
> > But on the other hand my thinking might be completely bogus, as I 
> > don't have a clue what exception this might be and what is 
> > stored at address 0x00e6a640.
> 
> The address is the PC location during the crash - one can find the
> code by disassembling the haret binary.  For example:
> 
> /opt/mingw32ce/bin/arm-mingw32ce-objdump -d haret-0.5.2.exe
> 
> If one can rebuild from the exact source (by checking out the same
> version from cvs) then one can get full source info too:
> 
> /opt/mingw32ce/bin/arm-mingw32ce-objdump -S haret-debug  | less
> 
> The key to this address report is that the corresponding code has been
> relocated:
> 
> > Trampoline setup (tram=...@000255f4/1a0255f4/00e6a5f4)
> > MMU setup: mmu=A0330000/00630000
> > Go Go Go...
> > Terminating haret due to unhandled exception (pc=00e6a640)
> 
> So, we actually need to look at 0x4c bytes (0xe6a640 - 0xe6a5f4) from
> the mmu_trampoline (0x255F4) - 0x25640.  My copy of haret-0.5.2.exe
> shows:
> 
>    25638:       e24ff004        sub     pc, pc, #4      ; 0x4
>    2563c:       e284f04c        add     pc, r4, #76     ; 0x4c
>    25640:       ee110f10        mrc     15, 0, r0, cr1, cr0, {0}
>    25644:       e3c00005        bic     r0, r0, #5      ; 0x5
>    25648:       e3c00a01        bic     r0, r0, #4096   ; 0x1000
> 
> which corresponds with src/wince/asmstuff.S:
> 
>         @ Jump to code with shared virtual/physical mapping
>         add     pc, r4, #(1f - mmu_trampoline)
> 
> 1:      @ Code is running at a vm address that is the same as its
>         @ physical address.  Now disable the MMU.
>         mrc     p15, 0, r0, c1, c0, 0
>         bic     r0, r0, #5              @ MMU & Dcache off
>         bic     r0, r0, #0x1000         @ Icache off
> 
> Unfortunately, I don't recall if the offending instruction is reported
> (the mrc) or if the next instruction is reported (making the failure
> at the jump).
> 
> In either case, haret failed to shut down the mmu - either because the
> mmu shutdown request was explicitly rejected, or because haret wasn't
> able to manipulate the page tables so that it could run code at the
> same physical and virtual address.
> 
> I've seen this report once before on #htc-linux (at freenode).
> Unfortunately, I don't have the time right now to help debug this.  It
> looks to be something specific to the arm6 mmu setup on a handful of
> machines.
> 
> -Kevin
_______________________________________________
Haret mailing list
[email protected]
https://handhelds.org/mailman/listinfo/haret

Reply via email to