Hi Nick,

> +maybe_skip:
> +     cmpwi   r12,0x200
> +     beq     1f
> +     cmpwi   r12,0x300
> +     beq     1f
> +     cmpwi   r12,0x380
> +     beq     1f
> +#ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
> +     /* XXX: cbe stuff? instruction breakpoint? */
> +     cmpwi   r12,0xe02
> +     beq     2f
> +#endif
> +     b       no_skip
> +1:   mfspr   r9,SPRN_SRR0
> +     addi    r9,r9,4
> +     mtspr   SPRN_SRR0,r9
> +     ld      r12,HSTATE_SCRATCH0(r13)
> +     ld      r9,HSTATE_SCRATCH2(r13)
> +     GET_SCRATCH0(r13)
> +     RFI_TO_KERNEL
> +#ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
> +2:   mfspr   r9,SPRN_HSRR0
> +     addi    r9,r9,4
> +     mtspr   SPRN_HSRR0,r9
> +     ld      r12,HSTATE_SCRATCH0(r13)
> +     ld      r9,HSTATE_SCRATCH2(r13)
> +     GET_SCRATCH0(r13)
> +     HRFI_TO_KERNEL
> +#endif

If I understand correctly, label 1 is the kvmppc_skip_interrupt and
label 2 is the kvmppc_skip_Hinterrupt. Would it be easier to understand
if we used symbolic labels, or do you think the RFI_TO_KERNEL vs
HRFI_TO_KERNEL and other changes are sufficient?

Apart from that, I haven't checked the precise copy-paste to make sure
nothing has changed by accident, but I am able to follow the general
idea of the patch and am vigorously in favour of anything that
simplifies our exception/interrupt paths!

Kind regards,
Daniel

> -- 
> 2.23.0

Reply via email to