On Sun, Nov 7, 2010 at 3:56 PM, Blue Swirl <blauwir...@gmail.com> wrote: > 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?
The crash is the same but it doesn't break. The option -singlestep makes no difference either. The log tail of ran with -d in_asm -singlestep: IN: 0xf0014760: lda [ %o4 ] #ASI_M_MMUREGS, %o3 -------------- IN: 0xf0014764: sta %o2, [ %o4 ] #ASI_M_MMUREGS qemu: fatal: Trap 0x29 while interrupts disabled, Error state pc: f0014768 npc: f001476c -- Regards, Artyom Tarasenko solaris/sparc under qemu blog: http://tyom.blogspot.com/