From: "Nicholas Piggin" <npiggin@gmail.com>
To: "David Gibson" <david@gibson.dropbear.id.au>
Cc: <qemu-ppc@nongnu.org>, <qemu-devel@nongnu.org>,
"Daniel Henrique Barboza" <danielhb413@gmail.com>,
"Harsh Prateek Bora" <harshpb@linux.ibm.com>
Subject: Re: [PATCH v2 03/10] ppc/spapr|pnv: Remove SAO from pa-features
Date: Thu, 14 Mar 2024 14:49:36 +1000 [thread overview]
Message-ID: <CZT7A6OE68Z3.CBQT93DAOJ6K@wheely> (raw)
In-Reply-To: <ZfJiPpUcNt9B0i9l@zatzit>
On Thu Mar 14, 2024 at 12:34 PM AEST, David Gibson wrote:
> On Tue, Mar 12, 2024 at 11:14:12PM +1000, Nicholas Piggin wrote:
> > SAO is a page table attribute that strengthens the memory ordering of
> > accesses. QEMU with MTTCG does not implement this, so clear it in
> > ibm,pa-features. This is an obscure feature that has been removed from
> > POWER10 ISA v3.1, there isn't much concern with removing it.
> >
> > Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
> > Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
>
> Usually altering a user visible feature like this without versioning
> would be a no-no. However, I think it's probably ok here: AFAICT the
> feature was basically never used, it didn't work in some cases anyway,
> and it's now gone away.
Thanks David, I appreciate you keeping an eye on these kinds of
compatibility issues from time to time.
Yeah, we established that it doesn't really matter for Linux code out
there, but you thought it's ugly to change this based on the host
configuration for pseries machines.
And if this change does cause problems, it's quite possible that
configuration was broken anyway, so that's arguably preferable to
continuing to advertise a broken or at least non-migratable feature.
Thanks,
Nick
>
> > ---
> > hw/ppc/pnv.c | 2 +-
> > hw/ppc/spapr.c | 14 ++++++++++----
> > 2 files changed, 11 insertions(+), 5 deletions(-)
> >
> > diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> > index 0b47b92baa..aa9786e970 100644
> > --- a/hw/ppc/pnv.c
> > +++ b/hw/ppc/pnv.c
> > @@ -150,7 +150,7 @@ static void pnv_dt_core(PnvChip *chip, PnvCore *pc, void *fdt)
> > uint32_t page_sizes_prop[64];
> > size_t page_sizes_prop_size;
> > const uint8_t pa_features[] = { 24, 0,
> > - 0xf6, 0x3f, 0xc7, 0xc0, 0x80, 0xf0,
> > + 0xf6, 0x3f, 0xc7, 0xc0, 0x00, 0xf0,
> > 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
> > 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
> > 0x80, 0x00, 0x80, 0x00, 0x80, 0x00 };
> > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> > index 55263f0815..3108d7c532 100644
> > --- a/hw/ppc/spapr.c
> > +++ b/hw/ppc/spapr.c
> > @@ -233,17 +233,23 @@ static void spapr_dt_pa_features(SpaprMachineState *spapr,
> > PowerPCCPU *cpu,
> > void *fdt, int offset)
> > {
> > + /*
> > + * SSO (SAO) ordering is supported on KVM and thread=single hosts,
> > + * but not MTTCG, so disable it. To advertise it, a cap would have
> > + * to be added, or support implemented for MTTCG.
> > + */
> > +
> > uint8_t pa_features_206[] = { 6, 0,
> > - 0xf6, 0x1f, 0xc7, 0x00, 0x80, 0xc0 };
> > + 0xf6, 0x1f, 0xc7, 0x00, 0x00, 0xc0 };
> > uint8_t pa_features_207[] = { 24, 0,
> > - 0xf6, 0x1f, 0xc7, 0xc0, 0x80, 0xf0,
> > + 0xf6, 0x1f, 0xc7, 0xc0, 0x00, 0xf0,
> > 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
> > 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
> > 0x80, 0x00, 0x80, 0x00, 0x00, 0x00 };
> > uint8_t pa_features_300[] = { 66, 0,
> > /* 0: MMU|FPU|SLB|RUN|DABR|NX, 1: fri[nzpm]|DABRX|SPRG3|SLB0|PP110 */
> > - /* 2: VPM|DS205|PPR|DS202|DS206, 3: LSD|URG, SSO, 5: LE|CFAR|EB|LSQ */
> > - 0xf6, 0x1f, 0xc7, 0xc0, 0x80, 0xf0, /* 0 - 5 */
> > + /* 2: VPM|DS205|PPR|DS202|DS206, 3: LSD|URG, 5: LE|CFAR|EB|LSQ */
> > + 0xf6, 0x1f, 0xc7, 0xc0, 0x00, 0xf0, /* 0 - 5 */
> > /* 6: DS207 */
> > 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, /* 6 - 11 */
> > /* 16: Vector */
next prev parent reply other threads:[~2024-03-14 4:50 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-12 13:14 [PATCH v2 00/10] misc ppc patches Nicholas Piggin
2024-03-12 13:14 ` [PATCH v2 01/10] ppc: Drop support for POWER9 and POWER10 DD1 chips Nicholas Piggin
2024-03-12 13:14 ` [PATCH v2 02/10] target/ppc: POWER10 does not have transactional memory Nicholas Piggin
2024-03-12 13:14 ` [PATCH v2 03/10] ppc/spapr|pnv: Remove SAO from pa-features Nicholas Piggin
2024-03-14 2:34 ` David Gibson
2024-03-14 4:49 ` Nicholas Piggin [this message]
2024-03-12 13:14 ` [PATCH v2 04/10] ppc/spapr: Remove copy-paste " Nicholas Piggin
2024-03-14 2:35 ` David Gibson
2024-03-12 13:14 ` [PATCH v2 05/10] ppc/spapr: Adjust ibm,pa-features for POWER9 Nicholas Piggin
2024-03-12 13:14 ` [PATCH v2 06/10] ppc/spapr: Add pa-features for POWER10 machines Nicholas Piggin
2024-03-12 13:14 ` [PATCH v2 07/10] ppc/pnv: Permit ibm, pa-features set per machine variant Nicholas Piggin
2024-03-12 13:39 ` Harsh Prateek Bora
2024-03-12 13:14 ` [PATCH v2 08/10] ppc/pnv: Set POWER9, POWER10 ibm,pa-features bits Nicholas Piggin
2024-03-12 13:44 ` Harsh Prateek Bora
2024-03-12 13:14 ` [PATCH v2 09/10] target/ppc: Prevent supervisor from modifying MSR[ME] Nicholas Piggin
2024-03-12 13:14 ` [PATCH v2 10/10] spapr: set MSR[ME] and MSR[FP] on client entry Nicholas Piggin
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=CZT7A6OE68Z3.CBQT93DAOJ6K@wheely \
--to=npiggin@gmail.com \
--cc=danielhb413@gmail.com \
--cc=david@gibson.dropbear.id.au \
--cc=harshpb@linux.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@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).