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
next prev parent reply other threads:[~2011-02-13 13:38 UTC|newest]
Thread overview: 73+ 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
2011-02-14 4:16 ` 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.