On 26 September 2018 at 12:20, Alex Bennée <alex.bennee@linaro.org> wrote:
> When we are debugging the guest all exception come our way but might
"exceptions"
> be for the guests own debug exceptions. We use the ->do_interrupt()
"guest's"
> infrastructure to do this however we are missing a full setup of the
"to inject the exception into the guest. However, "
> exception structure causing an assert later down the line.
"structure, "
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> target/arm/kvm64.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/target/arm/kvm64.c b/target/arm/kvm64.c
> index 346e1f1a73..9ceff1884c 100644
> --- a/target/arm/kvm64.c
> +++ b/target/arm/kvm64.c
> @@ -984,6 +984,7 @@ bool kvm_arm_handle_debug(CPUState *cs, struct kvm_debug_exit_arch *debug_exit)
> cs->exception_index = EXCP_BKPT;
> env->exception.syndrome = debug_exit->hsr;
> env->exception.vaddress = debug_exit->far;
> + env->exception.target_el = 1;
> qemu_mutex_lock_iothread();
> cc->do_interrupt(cs);
> qemu_mutex_unlock_iothread();
> --
> 2.17.1
>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
thanks
-- PMM