[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PULL 10/30] ppc/spapr: H_ENTER_NESTED should restore host XER ca fi
From: |
Nicholas Piggin |
Subject: |
Re: [PULL 10/30] ppc/spapr: H_ENTER_NESTED should restore host XER ca field |
Date: |
Tue, 27 Jun 2023 09:15:06 +1000 |
On Tue Jun 27, 2023 at 7:45 AM AEST, Cédric Le Goater wrote:
> On 6/26/23 14:26, Michael Tokarev wrote:
> > 26.06.2023 08:56, Cédric Le Goater wrote:
> >> From: Nicholas Piggin <npiggin@gmail.com>
> >>
> >> Fix missing env->ca restore when going from L2 back to the host.
> >>
> >> Fixes: 120f738a467 ("spapr: implement nested-hv capability for the virtual
> >> hypervisor")
> >> Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
> >> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
> >> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> >> ---
> >> hw/ppc/spapr_hcall.c | 1 +
> >> 1 file changed, 1 insertion(+)
> >>
> >> diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
> >> index b9047555757f..0582b524d108 100644
> >> --- a/hw/ppc/spapr_hcall.c
> >> +++ b/hw/ppc/spapr_hcall.c
> >> @@ -1773,6 +1773,7 @@ out_restore_l1:
> >> env->cfar = spapr_cpu->nested_host_state->cfar;
> >> env->xer = spapr_cpu->nested_host_state->xer;
> >> env->so = spapr_cpu->nested_host_state->so;
> >> + env->ca = spapr_cpu->nested_host_state->ca;
> >> env->ov = spapr_cpu->nested_host_state->ov;
> >> env->ov32 = spapr_cpu->nested_host_state->ov32;
> >> env->ca32 = spapr_cpu->nested_host_state->ca32;
> >
> > Is it -stable material too, or don't bother?
> > 120f738a467 is 7.0.
>
> I would say so. The CPU is missing state (Carry bit) when restoring context,
> it could be important for some instructions.
>
> Nick, did you have specific test case ?
No I just found it when doing the conversion to the new host save
structure. Now I think about it again, XER is volatile across hcalls
in general so I think the patch is not fixing any practical bug.
Thanks,
Nick
- [PULL 05/30] MAINTAINERS: Add reviewer for XIVE, (continued)
- [PULL 05/30] MAINTAINERS: Add reviewer for XIVE, Cédric Le Goater, 2023/06/26
- [PULL 04/30] MAINTAINERS: Add reviewer for PowerPC TCG CPUs, Cédric Le Goater, 2023/06/26
- [PULL 07/30] ppc/bamboo: Report an error when run with KVM, Cédric Le Goater, 2023/06/26
- [PULL 06/30] ppc/prep: Report an error when run with KVM, Cédric Le Goater, 2023/06/26
- [PULL 08/30] ppc/pnv: Rephrase error when run with KVM, Cédric Le Goater, 2023/06/26
- [PULL 11/30] ppc/spapr: Add a nested state struct, Cédric Le Goater, 2023/06/26
- [PULL 09/30] target/ppc: Fix timer register accessors when !KVM, Cédric Le Goater, 2023/06/26
- [PULL 10/30] ppc/spapr: H_ENTER_NESTED should restore host XER ca field, Cédric Le Goater, 2023/06/26
- [PULL 13/30] ppc/spapr: Move spapr nested HV to a new file, Cédric Le Goater, 2023/06/26
- [PULL 17/30] target/ppc: Implement HEIR SPR, Cédric Le Goater, 2023/06/26
- [PULL 14/30] target/ppc: Fix instruction loading endianness in alignment interrupt, Cédric Le Goater, 2023/06/26
- [PULL 12/30] ppc/spapr: load and store l2 state with helper functions, Cédric Le Goater, 2023/06/26
- [PULL 15/30] target/ppc: Change partition-scope translate interface, Cédric Le Goater, 2023/06/26
- [PULL 16/30] target/ppc: Add SRR1 prefix indication to interrupt handlers, Cédric Le Goater, 2023/06/26
- [PULL 23/30] target/ppc: Add msgsnd/p and DPDES SMT support, Cédric Le Goater, 2023/06/26
- [PULL 21/30] target/ppc: Add initial flags and helpers for SMT support, Cédric Le Goater, 2023/06/26
- [PULL 24/30] hw/ppc/spapr: Test whether TCG is enabled with tcg_enabled(), Cédric Le Goater, 2023/06/26
- [PULL 26/30] tests/avocado: boot ppc64 pseries to Linux VFS mount, Cédric Le Goater, 2023/06/26