On Fri, Nov 5, 2010 at 5:48 PM, Artyom Tarasenko <atar4q...@gmail.com> wrote:
> Trying to boot Solaris 2.1 I get the following error message:
>
> Unassigned mem read access of 1 byte to ffffffffffff0768 from f0014768
> qemu: fatal: Trap 0x29 while interrupts disabled, Error state
> pc: f0014768  npc: f001476c
>
> Looks like a read access to a non-mapped memory (the NF-bit is 0). But
> where can it happen?
>
> The code:
>
>   0xf001475c:  mov  0x200, %o4
> => 0xf0014760:  lda  [ %o4 ] #ASI_N, %o3
>   0xf0014764:  sta  %o2, [ %o4 ] #ASI_N
>   0xf0014768:  sta  %g0, [ %o0 ] (3)
>   0xf001476c:  cmp  %o2, %o3
>   0xf0014770:  bne  0xf001477c
> End of assembler dump.
> (gdb) stepi
> 0xf0014764 in ?? ()
> (gdb) info registers o2
> o2             0x28a    650
> (gdb) stepi
> Remote connection closed
> (gdb)
>
> Any ideas how to debug?

All accesses are 32 bits wide. ASI_N is 4 and the other store access
is to ASI 3 (MMU flush). I don't see how this is possible.

Perhaps PC and NPC are not updated as they should. If you insert a
breakpoint at the offending instruction, do you get the same error as
above with the same PC/NPC value?

Reply via email to