]> xenbits.xensource.com Git - xen.git/commit
xen/arm: traps: Update the correct PC when inject a virtual SError to the guest
authorJulien Grall <julien.grall@arm.com>
Thu, 31 Oct 2019 15:09:08 +0000 (15:09 +0000)
committerJulien Grall <julien.grall@arm.com>
Fri, 1 Nov 2019 13:57:26 +0000 (13:57 +0000)
commit0ae24912ac97f94f437040ae535f273c5f7284f9
treef1f681af0c6ed839a1f2e1ec2fb7cabfc05bbdda
parentdfdb0066368b3766e7e4b0a7cb9d24280002d771
xen/arm: traps: Update the correct PC when inject a virtual SError to the guest

When injecting a virtual Abort to the guest, we want to update the guest
PC so it can re-execute the HVC/SMC once it has handled the SError.

This is unfortunately not the case when the SError is synchronized on
entry from the guest. As the SError will be received while running in
hypervisor context, we will update the PC of hypervisor context (i.e
the trap).

Rework inject_vabt_exception so it uses the guest context rather than
the current one.

Signed-off-by: Julien Grall <julien.grall@arm.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
Release-acked-by: Juergen Gross <jgross@suse.com>
xen/arch/arm/traps.c