qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* Re: [Qemu-devel] [PATCH 01/27] Clean up PowerPC SLB handling code
@ 2011-05-19  8:25 Andreas Färber
  2011-05-20  3:34 ` David Gibson
  0 siblings, 1 reply; 9+ messages in thread
From: Andreas Färber @ 2011-05-19  8:25 UTC (permalink / raw)
  To: David Gibson
  Cc: Alexander Graf, 	qemu-devel@nongnu.org Developers,
	Kenneth Salerno, paulus, anton, The OpenBIOS Mailinglist

QEMU HEAD still uses a 32-bit binary for both 32-bit and 64-bit. That one uses mtsrin so will need the compatibility, it seemed affected, too.

OpenBIOS SVN HEAD (blob) uses slb* as linked to. We're in the preparation of 1.1 and I need to test it before we can update the QEMU binary. ;)

Sorry for top-posting, Android sucks.

Andreas

David Gibson <david@gibson.dropbear.id.au> schrieb:

>On Thu, May 19, 2011 at 08:00:53AM +0200, Andreas Färber wrote:
>> 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@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.
>
>Um, yeah, I thought putting an AIX dvd into a Mac was a bit odd.
>
>> Expected: OpenBIOS banner and > prompt
>> Observed: DSI exception on mtmsrd, no serial output
>
>Does this happen only with your openbios image, or does it also happen
>with the one included in qemu?
>
>My working theory is that openbios is using the old 32-64 bridge stuff
>where segment register accesses are emulated to populate certain SLB
>slots.  I have a vague recollection that I saw the code implementing
>that when I was doing the cleanup and convinced myself it was not
>necessary.  More information as I investigate further.
>
>> (The regression on ppc32 AIX observed by Kenneth seems to be a
>> different issue, introduced earlier.)
>
>I don't know what that regression is; I don't read qemu-devel
>exhaustively.  If you want my attention, best to CC me directly.
>
>-- 
>David Gibson			| I'll have my music baroque, and my code
>david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
>				| _way_ _around_!
>http://www.ozlabs.org/~dgibson

^ permalink raw reply	[flat|nested] 9+ messages in thread
* [Qemu-devel] [0/27] Implement emulation of pSeries logical partitions (v6)
@ 2011-04-01  4:15 David Gibson
  2011-04-01  4:15 ` [Qemu-devel] [PATCH 01/27] Clean up PowerPC SLB handling code David Gibson
  0 siblings, 1 reply; 9+ messages in thread
From: David Gibson @ 2011-04-01  4:15 UTC (permalink / raw)
  To: agraf, qemu-devel; +Cc: paulus, anton

This patch series adds a "pseries" machine to qemu, allowing it to
emulate IBM pSeries logical partitions.  More specifically it
implements the interface defined by the "PowerPC Architecture Platform
Requirements" document (PAPR, or sPAPR for short).

Along the way we add a bunch of support for more modern ppc CPUs than
are currently supported.  It also makes some significant cleanups to
the translation code for hash page table based ppc MMUs.

Please apply.

---

Changes since v5 of this series:
 * Include source for SLOF as a git submodule
 * Move our private hcalls (well. only one so far) to a range
   explicitly reserved by PAPR for this purpose.
 * Allocate an ample 1024 irqs in the XICS controller, rather than
   having a somewhat dubious calculation of precisely how many we
   need.

Changes since v4 of this series:
 * Fix build breakages for powerpc targets other than ppc64 full system.
 * Since the pseries platform requires libfdt, only compile it when
   configured with --enable-fdt
 * Give an informative error if invoked with insufficient guest RAM to
   run the partition firmware.  Without this, giving insufficient RAM
   - such as qemu's default 64M - would lead to the firmware failing
   cryptically partway through boot.

Changes since v3 of this series:
 * Many, many checkpatch fixups
 * Integrated feedback from qemu-devel list
 * Added in-partition SLOF firmware

Changes since v2 of this series:
 * Assorted bugfixes and cleanups.

Changes since v1 of this series:
 * numerous coding style fixups
 * incorporated most review comments from initial version
 * moved to a wholly dynamic hypercall registration scheme
 * assorted other cleanups
 * many more patches implementing VIO devices

^ permalink raw reply	[flat|nested] 9+ messages in thread
* [Qemu-devel] [0/27] Implement emulation of pSeries logical partitions (v5)
@ 2011-03-25  3:21 David Gibson
  2011-03-25  3:21 ` [Qemu-devel] [PATCH 01/27] Clean up PowerPC SLB handling code David Gibson
  0 siblings, 1 reply; 9+ messages in thread
From: David Gibson @ 2011-03-25  3:21 UTC (permalink / raw)
  To: agraf, qemu-devel; +Cc: paulus, anton

This patch series adds a "pseries" machine to qemu, allowing it to
emulate IBM pSeries logical partitions.  More specifically it
implements the interface defined by the "PowerPC Architecture Platform
Requirements" document (PAPR, or sPAPR for short).

Along the way we add a bunch of support for more modern ppc CPUs than
are currently supported.  It also makes some significant cleanups to
the translation code for hash page table based ppc MMUs.

Please apply.

---

Note that I haven't implemented (yet) a min_ram field in the machine
structure.  There are a number of places where the pseries platform
would benefit from more participation of the machine description in
command line validation.  In want to think a bit more about these
before sending some patches.  For now I've taken the simpler approach
of just adding a meaningful error message to the machine init function
if ram_size is too small.

Changes since v4 of this series:
 * Fix build breakages for powerpc targets other than ppc64 full system.
 * Since the pseries platform requires libfdt, only compile it when
   configured with --enable-fdt
 * Give an informative error if invoked with insufficient guest RAM to
   run the partition firmware.  Without this, giving insufficient RAM
   - such as qemu's default 64M - would lead to the firmware failing
   cryptically partway through boot.

Changes since v3 of this series:
 * Many, many checkpatch fixups
 * Integrated feedback from qemu-devel list
 * Added in-partition SLOF firmware

Changes since v2 of this series:
 * Assorted bugfixes and cleanups.

Changes since v1 of this series:
 * numerous coding style fixups
 * incorporated most review comments from initial version
 * moved to a wholly dynamic hypercall registration scheme
 * assorted other cleanups
 * many more patches implementing VIO devices

^ permalink raw reply	[flat|nested] 9+ messages in thread
* [Qemu-devel] [0/27] Implement emulation of pSeries logical partitions (v4)
@ 2011-03-23  5:30 David Gibson
  2011-03-23  5:30 ` [Qemu-devel] [PATCH 01/27] Clean up PowerPC SLB handling code David Gibson
  0 siblings, 1 reply; 9+ messages in thread
From: David Gibson @ 2011-03-23  5:30 UTC (permalink / raw)
  To: agraf, qemu-devel; +Cc: paulus

This patch series adds a "pseries" machine to qemu, allowing it to
emulate IBM pSeries logical partitions.  More specifically it
implements the interface defined by the "PowerPC Architecture Platform
Requirements" document (PAPR, or sPAPR for short).

Along the way we add a bunch of support for more modern ppc CPUs than
are currently supported.  It also makes some significant cleanups to
the translation code for hash page table based ppc MMUs.

Please apply.

Changes since v3 of this series:
 * Many, many checkpatch fixups
 * Integrated feedback from qemu-devel list
 * Added in-partition SLOF firmware

Changes since v2 of this series:
 * Assorted bugfixes and cleanups.

Changes since v1 of this series:
 * numerous coding style fixups
 * incorporated most review comments from initial version
 * moved to a wholly dynamic hypercall registration scheme
 * assorted other cleanups
 * many more patches implementing VIO devices

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

end of thread, other threads:[~2011-05-20  7:50 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-19  8:25 [Qemu-devel] [PATCH 01/27] Clean up PowerPC SLB handling code Andreas Färber
2011-05-20  3:34 ` David Gibson
2011-05-20  7:50   ` Alexander Graf
  -- strict thread matches above, loose matches on Subject: below --
2011-04-01  4:15 [Qemu-devel] [0/27] Implement emulation of pSeries logical partitions (v6) David Gibson
2011-04-01  4:15 ` [Qemu-devel] [PATCH 01/27] Clean up PowerPC SLB handling code David Gibson
2011-03-25  3:21 [Qemu-devel] [0/27] Implement emulation of pSeries logical partitions (v5) David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 01/27] Clean up PowerPC SLB handling code David Gibson
2011-05-19  5:35   ` Andreas Färber
2011-05-19  5:39     ` David Gibson
     [not found]       ` <67F15A3F-5EE2-4825-8766-2CA2D6B3356B@web.de>
2011-05-19  6:45         ` David Gibson
2011-03-23  5:30 [Qemu-devel] [0/27] Implement emulation of pSeries logical partitions (v4) David Gibson
2011-03-23  5:30 ` [Qemu-devel] [PATCH 01/27] Clean up PowerPC SLB handling code David Gibson

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).