[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] ppc: restrict the use of the rfi instruction
From: |
David Gibson |
Subject: |
Re: [Qemu-devel] [PATCH] ppc: restrict the use of the rfi instruction |
Date: |
Mon, 12 Sep 2016 11:37:07 +1000 |
User-agent: |
Mutt/1.7.0 (2016-08-17) |
On Thu, Sep 08, 2016 at 09:32:42AM +0200, Cédric Le Goater wrote:
> From: Benjamin Herrenschmidt <address@hidden>
>
> Power ISA 2.x has deleted the rfi instruction and rfid shoud be used
> instead on cpus following this instruction set or later.
>
> This will raise an invalid exception when rfi is used on such
> processors: Book3S 64-bit processors.
>
> Signed-off-by: Benjamin Herrenschmidt <address@hidden>
> Reviewed-by: David Gibson <address@hidden>
> [clg: the required fix in openbios, commit b747b6acc272 ('ppc: use
> rfid when running under a CPU from the 970 family.'), is now
> merged in qemu under commit 5cebd885d0d2 ('Update OpenBIOS
> images to b747b6a built from submodule.') ]
> Signed-off-by: Cédric Le Goater <address@hidden>
Applied to ppc-for-2.8, thanks.
> ---
> target-ppc/translate.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> Index: qemu-dgibson-for-2.8.git/target-ppc/translate.c
> ===================================================================
> --- qemu-dgibson-for-2.8.git.orig/target-ppc/translate.c
> +++ qemu-dgibson-for-2.8.git/target-ppc/translate.c
> @@ -3585,10 +3585,13 @@ static void gen_rfi(DisasContext *ctx)
> #if defined(CONFIG_USER_ONLY)
> GEN_PRIV;
> #else
> - /* FIXME: This instruction doesn't exist anymore on 64-bit server
> - * processors compliant with arch 2.x, we should remove it there,
> - * but we need to fix OpenBIOS not to use it on 970 first
> + /* This instruction doesn't exist anymore on 64-bit server
> + * processors compliant with arch 2.x
> */
> + if (ctx->insns_flags & PPC_SEGMENT_64B) {
> + gen_inval_exception(ctx, POWERPC_EXCP_INVAL_INVAL);
> + return;
> + }
> /* Restore CPU state */
> CHK_SV;
> gen_update_cfar(ctx, ctx->nip - 4);
>
--
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
signature.asc
Description: PGP signature