On 6/26/23 14:26, Michael Tokarev wrote:
26.06.2023 08:56, Cédric Le Goater wrote:
From: Nicholas Piggin <npig...@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 <hars...@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npig...@gmail.com>
Signed-off-by: Cédric Le Goater <c...@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 ?

Thanks,

C.


Reply via email to