qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: Alexander Graf <agraf@suse.de>
Cc: paulus@samba.org, qemu-devel@nongnu.org, anton@samba.org
Subject: Re: [Qemu-devel] Re: [PATCH 12/15] Support 1T segments on ppc
Date: Mon, 14 Feb 2011 00:38:14 +1100	[thread overview]
Message-ID: <20110213133814.GI18294@yookeroo> (raw)
In-Reply-To: <B1A918FE-E02C-41A8-ACAB-FB5E96D54E45@suse.de>

On Sun, Feb 13, 2011 at 01:37:12PM +0100, Alexander Graf wrote:
> On 13.02.2011, at 10:34, David Gibson wrote:
> > On Sat, Feb 12, 2011 at 04:57:39PM +0100, Alexander Graf wrote:
> >> On 12.02.2011, at 15:54, David Gibson wrote:
> > [snip]
> >>> +    if (rb & (0x1000 - env->slb_nr))
> >> 
> >> Braces...
> > 
> > Oops, yeah.  These later patches in the series I haven't really
> > audited for coding style adequately yet.  I'll fix these before the
> > next version.
> > 
> > [snip]
> >>> + 	return -1; /* 1T segment on MMU that doesn't support it */
> >>> + 
> >>> +    /* We stuff a copy of the B field into slb->esid to simplify
> >>> +     * lookup later */
> >>> +    slb->esid = (rb & (SLB_ESID_ESID | SLB_ESID_V)) |
> >>> +        (rs >> SLB_VSID_SSIZE_SHIFT);
> >> 
> >> Wouldn't it be easier to add another field?
> > 
> > Easier for what?  The reason I put these bits in here is that the rest
> > of the things slb_lookup() needs to scan for are all in the esid
> > field, so putting B in there means slb_lookup() needs only one
> > comparison per-slot, per segment size.
> 
> Hrm - but it also needs random & ~3 masking in other code which is
> very unpretty. Comparing two numbers really shouldn't hurt
> performance too much, but makes the code better maintainable.

Well, it's only one place.  But fair enough, I'll avoid this hack in
the next version.

> struct slb_entry {
>     uint64_t esid;
>     uint64_t vsid;
>     int b;
> }
> 
> or so :).

Actually, we don't even need that.  The B field is already in
slb->vsid.

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

  reply	other threads:[~2011-02-13 13:38 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-12 14:54 [Qemu-devel] RFC: Implement emulation of pSeries logical partitions David Gibson
2011-02-12 14:54 ` [Qemu-devel] [PATCH 01/15] Add TAGS and *~ to .gitignore David Gibson
2011-02-12 14:54 ` [Qemu-devel] [PATCH 02/15] Clean up PowerPC SLB handling code David Gibson
2011-02-12 15:17   ` [Qemu-devel] " Alexander Graf
2011-02-12 14:54 ` [Qemu-devel] [PATCH 03/15] Allow qemu_devtree_setprop() to take arbitrary values David Gibson
2011-02-12 15:18   ` [Qemu-devel] " Alexander Graf
2011-02-12 14:54 ` [Qemu-devel] [PATCH 04/15] Add a hook to allow hypercalls to be emulated on PowerPC David Gibson
2011-02-12 15:19   ` [Qemu-devel] " Alexander Graf
2011-02-12 14:54 ` [Qemu-devel] [PATCH 05/15] Implement PowerPC slbmfee and slbmfev instructions David Gibson
2011-02-12 15:23   ` [Qemu-devel] " Alexander Graf
2011-02-13 12:46     ` David Gibson
2011-02-12 14:54 ` [Qemu-devel] [PATCH 06/15] Implement missing parts of the logic for the POWER PURR David Gibson
2011-02-12 15:25   ` [Qemu-devel] " Alexander Graf
2011-02-12 14:54 ` [Qemu-devel] [PATCH 07/15] Correct ppc popcntb logic, implement popcntw and popcntd David Gibson
2011-02-12 15:27   ` [Qemu-devel] " Alexander Graf
2011-02-12 14:54 ` [Qemu-devel] [PATCH 08/15] Clean up slb_lookup() function David Gibson
2011-02-12 15:30   ` [Qemu-devel] " Alexander Graf
2011-02-12 14:54 ` [Qemu-devel] [PATCH 09/15] Parse SDR1 on mtspr instead of at translate time David Gibson
2011-02-12 15:37   ` [Qemu-devel] " Alexander Graf
2011-02-13  9:02     ` David Gibson
2011-02-13 12:33       ` Alexander Graf
2011-02-13 12:52         ` David Gibson
2011-02-12 14:54 ` [Qemu-devel] [PATCH 10/15] Use "hash" more consistently in ppc mmu code David Gibson
2011-02-12 15:47   ` [Qemu-devel] " Alexander Graf
2011-02-12 14:54 ` [Qemu-devel] [PATCH 11/15] Better factor the ppc hash translation path David Gibson
2011-02-12 15:52   ` [Qemu-devel] " Alexander Graf
2011-02-12 14:54 ` [Qemu-devel] [PATCH 12/15] Support 1T segments on ppc David Gibson
2011-02-12 15:57   ` [Qemu-devel] " Alexander Graf
2011-02-13  9:34     ` David Gibson
2011-02-13 12:37       ` Alexander Graf
2011-02-13 13:38         ` David Gibson [this message]
2011-02-12 14:54 ` [Qemu-devel] [PATCH 13/15] Add POWER7 support for ppc David Gibson
2011-02-12 16:09   ` [Qemu-devel] " Alexander Graf
2011-02-13  9:39     ` David Gibson
2011-02-13 12:37       ` Alexander Graf
2011-02-12 14:54 ` [Qemu-devel] [PATCH 14/15] Start implementing pSeries logical partition machine David Gibson
2011-02-12 16:23   ` [Qemu-devel] " Alexander Graf
2011-02-12 16:40     ` Blue Swirl
2011-02-12 20:54       ` Benjamin Herrenschmidt
2011-02-12 14:54 ` [Qemu-devel] [PATCH 15/15] Implement the bus structure for PAPR virtual IO David Gibson
2011-02-12 16:47   ` [Qemu-devel] " Alexander Graf
2011-02-12 16:59     ` Blue Swirl
2011-02-12 21:00       ` Benjamin Herrenschmidt
2011-02-12 22:52         ` Blue Swirl
2011-02-12 23:15           ` Benjamin Herrenschmidt
2011-02-13  8:08             ` Blue Swirl
2011-02-13 11:12               ` David Gibson
2011-02-13 12:15                 ` Blue Swirl
2011-02-13 16:12                   ` Benjamin Herrenschmidt
2011-02-13 15:08                 ` Anthony Liguori
2011-02-13 15:56                   ` Alexander Graf
2011-02-13 16:46                     ` Anthony Liguori
2011-02-13 18:29                   ` Blue Swirl
2011-02-13 19:32                     ` Anthony Liguori
2011-02-13 23:33                     ` David Gibson
2011-02-13 23:30                   ` David Gibson
2011-02-13 12:31               ` Alexander Graf
2011-02-13 12:59                 ` Blue Swirl
2011-02-13 16:07               ` Benjamin Herrenschmidt
2011-02-13 16:48                 ` Anthony Liguori
2011-02-13 18:19                   ` Benjamin Herrenschmidt
2011-02-13 11:14             ` David Gibson
2011-02-13 12:40               ` Alexander Graf
2011-02-13 12:44                 ` David Gibson
2011-02-13 13:09                   ` Alexander Graf
2011-02-13 15:14                 ` Anthony Liguori
2011-02-13 16:17                 ` Benjamin Herrenschmidt
2011-02-13 16:52                   ` Anthony Liguori
2011-02-13 18:21                     ` Benjamin Herrenschmidt
2011-02-13 11:09     ` David Gibson
2011-02-13 12:38       ` Alexander Graf
2011-02-14  4:16 ` [Qemu-devel] RFC: Implement emulation of pSeries logical partitions FUJITA Tomonori

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=20110213133814.GI18294@yookeroo \
    --to=david@gibson.dropbear.id.au \
    --cc=agraf@suse.de \
    --cc=anton@samba.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).