[Top][All Lists]
[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/