[OpenBIOS] [Qemu-devel] [PATCH 01/27] Clean up PowerPC SLB handling code
Andreas Färber
andreas.faerber at web.de
Thu May 19 08:00:53 CEST 2011
Am 19.05.2011 um 07:39 schrieb David Gibson:
> On Thu, May 19, 2011 at 07:35:30AM +0200, Andreas Färber wrote:
>> Am 25.03.2011 um 04:21 schrieb David Gibson:
>>
>>> Currently the SLB information when emulating a PowerPC 970 is
>>> storeed in a structure with the unhelpfully named fields 'tmp'
>>> and 'tmp64'. While the layout in these fields does match the
>>> description of the SLB in the architecture document, it is not
>>> convenient either for looking up the SLB, or for emulating the
>>> slbmte instruction.
>>>
>>> This patch, therefore, reorganizes the SLB entry structure to be
>>> divided in the the "ESID related" and "VSID related" fields as
>>> they are divided in instructions accessing the SLB.
>>>
>>> In addition to making the code smaller and more readable, this will
>>> make it easier to implement for the 1TB segments used in more
>>> recent PowerPC chips.
>>>
>>> Signed-off-by: David Gibson <dwg at au1.ibm.com>
>>
>> According to my bisect, this patch broke ppc64 OpenBIOS.
>>
>> David, would you please take a look?
>
> Uh, sure. can you describe the symptoms of the breakage, and the
> exact qemu setup you've observed the problem with?
$ uname -a
Darwin PMG5-3.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15
16:57:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_PPC Power Macintosh
# Mac OS X 10.5.8 on dual-core G5
$ gcc-4.2 --version
powerpc-apple-darwin9-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5577)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There
is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
../qemu/configure --prefix=/Users/andreas/QEMU/latest64 \
--target-list=ppc-softmmu,ppc64-softmmu \
--extra-cflags="-arch ppc64" --extra-ldflags="-arch ppc64" --
cc=gcc-4.2 --host-cc=gcc-4.2 \
--enable-cocoa --disable-kvm --disable-strip --disable-docs --enable-
io-thread $*
# I/O thread doesn't matter
/Users/andreas/QEMU/qemu64/ppc64-softmmu/qemu-system-ppc64 -boot d -
cdrom /Users/andreas/QEMU/AIX/dvd.1022A4_OBETA_710.iso \
-bios /Users/andreas/QEMU/OpenBIOS/openbios/obj-ppc64/openbios-
qemu.elf -m 1024 \
-M mac99 -prom-env 'auto-boot?=false' -nographic
CD should be irrelevant, -boot c -hda /dev/null should work the same.
Expected: OpenBIOS banner and > prompt
Observed: DSI exception on mtmsrd, no serial output
(The regression on ppc32 AIX observed by Kenneth seems to be a
different issue, introduced earlier.)
http://repo.or.cz/w/openbios/afaerber.git/blob/0a228f974d3325bcfb7c97d62bf69fd97908b764:/arch/ppc/qemu/ofmem.c#l494
Blob attached.
Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openbios-qemu.elf.nostrip.zip
Type: application/zip
Size: 354124 bytes
Desc: not available
URL: <http://lists.openbios.org/pipermail/openbios/attachments/20110519/4265edd9/attachment-0001.zip>
-------------- next part --------------
More information about the OpenBIOS
mailing list