From: David Gibson <david@gibson.dropbear.id.au>
To: "Cédric Le Goater" <clg@kaod.org>
Cc: qemu-ppc@nongnu.org, qemu-devel@nongnu.org,
Benjamin Herrenschmidt <benh@kernel.crashing.org>
Subject: Re: [Qemu-devel] [PATCH 02/10] ppc: Create cpu_ppc_set_papr() helper (for LPCR)
Date: Tue, 14 Jun 2016 16:15:27 +1000 [thread overview]
Message-ID: <20160614061527.GO4882@voom.fritz.box> (raw)
In-Reply-To: <1465795496-15071-3-git-send-email-clg@kaod.org>
[-- Attachment #1: Type: text/plain, Size: 2508 bytes --]
On Mon, Jun 13, 2016 at 07:24:48AM +0200, Cédric Le Goater wrote:
> From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>
> And move the code adjusting the MSR mask and calling kvmppc_set_papr()
> to it. This allows us to add a few more things such as disabling setting
> of MSR:HV and appropriate LPCR bits which will be used when fixing
> the exception model.
>
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
> [clg: previous commit 26a7f1291bb5 did not include the LPCR setting as
> it was not needed at the time ]
I see how this came about, but it means the commit message (both long
and short) is confusingly mismatched from the code now.
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> ---
> target-ppc/translate_init.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
> index ca894ff4af45..edfd91a85425 100644
> --- a/target-ppc/translate_init.c
> +++ b/target-ppc/translate_init.c
> @@ -8509,6 +8509,7 @@ POWERPC_FAMILY(POWER8)(ObjectClass *oc, void *data)
> void cpu_ppc_set_papr(PowerPCCPU *cpu)
> {
> CPUPPCState *env = &cpu->env;
> + ppc_spr_t *lpcr = &env->spr_cb[SPR_LPCR];
> ppc_spr_t *amor = &env->spr_cb[SPR_AMOR];
>
> /* PAPR always has exception vectors in RAM not ROM. To ensure this,
> @@ -8518,6 +8519,19 @@ void cpu_ppc_set_papr(PowerPCCPU *cpu)
> */
> env->msr_mask &= ~((1ull << MSR_EP) | MSR_HVB);
>
> + /* Set emulated LPCR to not send interrupts to hypervisor. Note that
> + * under KVM, the actual HW LPCR will be set differently by KVM itself,
> + * the settings below ensure proper operations with TCG in absence of
> + * a real hypervisor
> + */
> + lpcr->default_value &= ~(LPCR_VPM0 | LPCR_VPM1 | LPCR_ISL | LPCR_KBV);
> + lpcr->default_value |= LPCR_LPES0 | LPCR_LPES1;
> +
> + /* We should be followed by a CPU reset but update the active value
> + * just in case...
> + */
> + env->spr[SPR_LPCR] = lpcr->default_value;
> +
> /* Set a full AMOR so guest can use the AMR as it sees fit */
> env->spr[SPR_AMOR] = amor->default_value = 0xffffffffffffffffull;
>
--
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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2016-06-14 6:34 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-13 5:24 [Qemu-devel] [PATCH 00/10] rework exception model to support the HV mode Cédric Le Goater
2016-06-13 5:24 ` [Qemu-devel] [PATCH 01/10] ppc: Fix rfi/rfid/hrfi/... emulation Cédric Le Goater
2016-06-16 1:07 ` David Gibson
2016-06-17 2:27 ` [Qemu-devel] [Qemu-ppc] " David Gibson
2016-06-17 5:54 ` Cédric Le Goater
2016-06-17 6:03 ` Cédric Le Goater
2016-06-17 6:28 ` David Gibson
2016-06-17 6:39 ` Cédric Le Goater
2016-06-17 7:10 ` Thomas Huth
2016-06-17 7:17 ` Cédric Le Goater
2016-06-17 10:41 ` Cédric Le Goater
2016-06-17 11:02 ` Thomas Huth
2016-06-17 11:11 ` Alexander Graf
2016-06-17 14:32 ` Cédric Le Goater
2016-06-18 23:35 ` Benjamin Herrenschmidt
2016-06-19 12:49 ` Cédric Le Goater
2016-06-19 13:00 ` Alexander Graf
2016-06-19 17:21 ` Cédric Le Goater
2016-06-19 22:15 ` Benjamin Herrenschmidt
2016-06-19 22:35 ` Benjamin Herrenschmidt
2016-06-20 7:08 ` Benjamin Herrenschmidt
2016-06-20 7:11 ` Alexander Graf
2016-06-20 8:02 ` Benjamin Herrenschmidt
2016-06-20 9:32 ` Benjamin Herrenschmidt
2016-06-20 13:55 ` Alexander Graf
2016-06-21 8:21 ` Mark Cave-Ayland
2016-06-21 9:33 ` Benjamin Herrenschmidt
2016-06-21 9:37 ` Benjamin Herrenschmidt
2016-06-19 14:08 ` Benjamin Herrenschmidt
2016-06-19 17:23 ` Cédric Le Goater
2016-06-19 21:12 ` Benjamin Herrenschmidt
2016-06-20 2:19 ` David Gibson
2016-06-20 6:17 ` Cédric Le Goater
2016-06-20 7:47 ` Thomas Huth
2016-06-20 8:21 ` Benjamin Herrenschmidt
2016-06-20 8:46 ` Cédric Le Goater
2016-06-20 8:18 ` Benjamin Herrenschmidt
2016-06-20 6:10 ` Cédric Le Goater
2016-06-20 8:18 ` Benjamin Herrenschmidt
2016-06-18 23:30 ` Benjamin Herrenschmidt
2016-06-18 23:29 ` Benjamin Herrenschmidt
2016-06-17 6:19 ` [Qemu-devel] " Cédric Le Goater
2016-06-13 5:24 ` [Qemu-devel] [PATCH 02/10] ppc: Create cpu_ppc_set_papr() helper (for LPCR) Cédric Le Goater
2016-06-14 6:15 ` David Gibson [this message]
2016-06-14 6:52 ` Cédric Le Goater
2016-06-15 1:01 ` David Gibson
2016-06-13 5:24 ` [Qemu-devel] [PATCH 03/10] ppc: Rework POWER7 & POWER8 exception model (part 2) Cédric Le Goater
2016-06-14 6:25 ` David Gibson
2016-06-14 21:19 ` Benjamin Herrenschmidt
2016-06-15 1:00 ` David Gibson
2016-06-13 5:24 ` [Qemu-devel] [PATCH 04/10] ppc: Fix POWER7 and POWER8 exception definitions Cédric Le Goater
2016-06-13 5:24 ` [Qemu-devel] [PATCH 05/10] ppc: Fix generation if ISI/DSI vs. HV mode Cédric Le Goater
2016-06-14 6:34 ` David Gibson
2016-06-14 6:42 ` Cédric Le Goater
2016-06-15 1:09 ` David Gibson
2016-06-13 5:24 ` [Qemu-devel] [PATCH 06/10] ppc: Rework generation of priv and inval interrupts Cédric Le Goater
2016-06-15 1:19 ` David Gibson
2016-06-15 4:31 ` Benjamin Herrenschmidt
2016-06-15 5:06 ` David Gibson
2016-06-13 5:24 ` [Qemu-devel] [PATCH 07/10] ppc: Add real mode CI load/store instructions for P7 and P8 Cédric Le Goater
2016-06-15 3:46 ` David Gibson
2016-06-13 5:24 ` [Qemu-devel] [PATCH 08/10] ppc: Turn a bunch of booleans from int to bool Cédric Le Goater
2016-06-13 5:24 ` [Qemu-devel] [PATCH 09/10] ppc: Move exception generation code out of line Cédric Le Goater
2016-06-13 7:44 ` Thomas Huth
2016-06-13 8:36 ` Cédric Le Goater
2016-06-15 1:57 ` David Gibson
2016-06-13 5:24 ` [Qemu-devel] [PATCH 10/10] ppc: Add P7/P8 Power Management instructions Cédric Le Goater
2016-06-15 1:56 ` 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=20160614061527.GO4882@voom.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=benh@kernel.crashing.org \
--cc=clg@kaod.org \
--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 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.