qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [sparc] Unassigned mem read access on writing?
@ 2010-11-05 17:48 Artyom Tarasenko
  2010-11-07 14:56 ` [Qemu-devel] " Blue Swirl
  0 siblings, 1 reply; 3+ messages in thread
From: Artyom Tarasenko @ 2010-11-05 17:48 UTC (permalink / raw)
  To: qemu-devel, Blue Swirl

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?

-- 
Regards,
Artyom Tarasenko

solaris/sparc under qemu blog: http://tyom.blogspot.com/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Qemu-devel] Re: [sparc] Unassigned mem read access on writing?
  2010-11-05 17:48 [Qemu-devel] [sparc] Unassigned mem read access on writing? Artyom Tarasenko
@ 2010-11-07 14:56 ` Blue Swirl
  2010-11-07 17:54   ` Artyom Tarasenko
  0 siblings, 1 reply; 3+ messages in thread
From: Blue Swirl @ 2010-11-07 14:56 UTC (permalink / raw)
  To: Artyom Tarasenko; +Cc: qemu-devel

On Fri, Nov 5, 2010 at 5:48 PM, Artyom Tarasenko <atar4qemu@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?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Qemu-devel] Re: [sparc] Unassigned mem read access on writing?
  2010-11-07 14:56 ` [Qemu-devel] " Blue Swirl
@ 2010-11-07 17:54   ` Artyom Tarasenko
  0 siblings, 0 replies; 3+ messages in thread
From: Artyom Tarasenko @ 2010-11-07 17:54 UTC (permalink / raw)
  To: Blue Swirl; +Cc: qemu-devel

On Sun, Nov 7, 2010 at 3:56 PM, Blue Swirl <blauwirbel@gmail.com> wrote:
> On Fri, Nov 5, 2010 at 5:48 PM, Artyom Tarasenko <atar4qemu@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/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-11-07 17:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-05 17:48 [Qemu-devel] [sparc] Unassigned mem read access on writing? Artyom Tarasenko
2010-11-07 14:56 ` [Qemu-devel] " Blue Swirl
2010-11-07 17:54   ` Artyom Tarasenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).