qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [OpenBIOS] [Qemu-devel] Re: What is the current support state for Sp


From: Stefan Reinauer
Subject: Re: [OpenBIOS] [Qemu-devel] Re: What is the current support state for Sparc emulation
Date: Fri, 20 Jul 2007 13:36:58 +0200
User-agent: Mutt/1.5.16 (2007-06-09)

* Blue Swirl <address@hidden> [070719 20:46]:
> On 7/19/07, address@hidden <address@hidden> wrote:
> > Unhandled Exception 0x00000007
> >   PC = 0xffd0a55c NPC = 0xffd09374
> >     Stopping execution
> >
> > So this is my report, I hope it can be of some use. I'll try to boot sparc 
> > version of OpenSolaris soon and I'l let you know how it went.
> 
> Thanks for the report. Exception 7 is unaligned access, support for
> detection of unaligned accesses in QEMU was improved recently.
> 
> The exception happens inside OpenBIOS:
> 0xffd0a55c is in lstore (kernel/forth.c:649).
> 644
> 645     static void lstore(void)
> 646     {
> 647             const u32 *aaddr = (u32 *)cell2pointer(POP());
> 648             const u32 longval = POP();
> 649             write_long(aaddr, longval);
> 650     }
> 
> Maybe write_long should handle unaligned addresses?

Possibly. But something is wrong. 

Unaligned accesses should be done with unaligned-l@  ( addr -- quad )
instead of address@hidden 

So either the pointer was calculated wrong or Solaris does not care
about alignment in l@

If you change it, please make the change specific to sparc.

Stefan

-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
      Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: address@hidden  • http://www.coresystems.de/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]