qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: "Andreas Färber" <andreas.faerber@web.de>
Cc: Alexander Graf <agraf@suse.de>,
	"qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>,
	Kenneth Salerno <kennethsalerno@yahoo.com>,
	paulus@samba.org, anton@samba.org,
	The OpenBIOS Mailinglist <openbios@openbios.org>
Subject: Re: [Qemu-devel] [PATCH 01/27] Clean up PowerPC SLB handling code
Date: Thu, 19 May 2011 16:45:28 +1000	[thread overview]
Message-ID: <20110519064528.GJ3015@yookeroo.fritz.box> (raw)
In-Reply-To: <67F15A3F-5EE2-4825-8766-2CA2D6B3356B@web.de>

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

  parent reply	other threads:[~2011-05-19  6:45 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2011-03-25  3:21 ` [Qemu-devel] [PATCH 02/27] Allow qemu_devtree_setprop() to take arbitrary values David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 03/27] Add a hook to allow hypercalls to be emulated on PowerPC David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 04/27] Implement PowerPC slbmfee and slbmfev instructions David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 05/27] Implement missing parts of the logic for the POWER PURR David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 06/27] Correct ppc popcntb logic, implement popcntw and popcntd David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 07/27] Clean up slb_lookup() function David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 08/27] Parse SDR1 on mtspr instead of at translate time David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 09/27] Use "hash" more consistently in ppc mmu code David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 10/27] Better factor the ppc hash translation path David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 11/27] Support 1T segments on ppc David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 12/27] Add POWER7 support for ppc David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 13/27] Start implementing pSeries logical partition machine David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 14/27] Implement the bus structure for PAPR virtual IO David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 15/27] Virtual hash page table handling on pSeries machine David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 16/27] Implement hcall based RTAS for pSeries machines David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 17/27] Implement assorted pSeries hcalls and RTAS methods David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 18/27] Implement the PAPR (pSeries) virtualized interrupt controller (xics) David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 19/27] Add PAPR H_VIO_SIGNAL hypercall and infrastructure for VIO interrupts David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 20/27] Add (virtual) interrupt to PAPR virtual tty device David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 21/27] Implement TCE translation for sPAPR VIO David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 22/27] Implement sPAPR Virtual LAN (ibmveth) David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 23/27] Implement PAPR CRQ hypercalls David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 24/27] Implement PAPR virtual SCSI interface (ibmvscsi) David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 25/27] Add a PAPR TCE-bypass mechanism for the pSeries machine David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 26/27] Implement PAPR VPA functions for pSeries shared processor partitions David Gibson
2011-03-25  3:21 ` [Qemu-devel] [PATCH 27/27] Add SLOF-based partition firmware for pSeries machine, allowing more boot options David Gibson
2011-03-25 18:29   ` Anthony Liguori
2011-03-28  1:19     ` David Gibson
2011-03-28  9:03       ` Alexander Graf
2011-03-28 12:49         ` Avi Kivity
2011-03-28 12:53           ` Alexander Graf
2011-03-28 13:02             ` Avi Kivity
2011-03-28 13:08               ` Alexander Graf
2011-03-28 13:20                 ` Anthony Liguori
2011-03-28 13:16         ` Anthony Liguori
2011-03-28 14:07           ` David Gibson
2011-03-28 17:42           ` Blue Swirl
2011-03-28 18:02             ` Anthony Liguori
2011-03-28 18:24               ` Aurelien Jarno
2011-03-28 18:50                 ` Anthony Liguori
2011-03-28 19:52                   ` Aurelien Jarno
2011-03-29  9:09                     ` Alexander Graf
2011-03-29  9:07               ` Alexander Graf
2011-03-28 13:13       ` Anthony Liguori
2011-03-29  7:21         ` David Gibson
2011-03-28 10:30   ` [Qemu-devel] " Alexander Graf
2011-03-28 10:51     ` Paolo Bonzini
2011-03-28 10:51     ` Paolo Bonzini
2011-03-28 11:19       ` Alexander Graf
2011-03-28 11:22 ` [Qemu-devel] Re: [0/27] Implement emulation of pSeries logical partitions (v5) Alexander Graf
  -- strict thread matches above, loose matches on Subject: below --
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
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-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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110519064528.GJ3015@yookeroo.fritz.box \
    --to=david@gibson.dropbear.id.au \
    --cc=agraf@suse.de \
    --cc=andreas.faerber@web.de \
    --cc=anton@samba.org \
    --cc=kennethsalerno@yahoo.com \
    --cc=openbios@openbios.org \
    --cc=paulus@samba.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).