spoiler alert: we can dedup a lot more

> @@ -1288,10 +1295,7 @@ NESTED_NOPROFILE(MIPSX(user_reserved_ins
>       /*
>        * Save a minimum of registers to see if this is rdhwr $3,$29
>        */
> -#ifdef MIPS3_LOONGSON2
> -     li      k0, MIPS_DIAG_BTB_CLEAR | MIPS_DIAG_RAS_DISABLE
> -     mtc0    k0, MIPS_COP_0_DIAG
> -#endif
> +     KERN_ENTRY_ERRATA
>       /* K1 already has CURLWP */
>       PTR_L   k0, L_PCB(k1)                   # XXXuvm_lwp_getuarea
>       PTR_ADDU k0, USPACE - TF_SIZ - CALLFRAME_SIZ
> @@ -1353,10 +1357,7 @@ NESTED_NOPROFILE(MIPSX(user_gen_exceptio
>       /*
>        * Save all the registers except the kernel temporaries onto the stack.
>        */
> -#ifdef MIPS3_LOONGSON2
> -     li      k0, MIPS_DIAG_BTB_CLEAR | MIPS_DIAG_RAS_DISABLE
> -     mtc0    k0, MIPS_COP_0_DIAG
> -#endif
> +     KERN_ENTRY_ERRATA
>       /* K1 already has CURLWP */
>       PTR_L   k0, L_PCB(k1)                   # XXXuvm_lwp_getuarea
>       PTR_ADDU k0, USPACE - TF_SIZ - CALLFRAME_SIZ
> @@ -1468,10 +1469,7 @@ NESTED_NOPROFILE(MIPSX(user_intr), CALLF
>   * Save the relevant user registers onto the kernel stack.
>   * We don't need to save s0 - s8 because the compiler does it for us.
>   */
> -#ifdef MIPS3_LOONGSON2
> -     li      k0, MIPS_DIAG_BTB_CLEAR | MIPS_DIAG_RAS_DISABLE
> -     mtc0    k0, MIPS_COP_0_DIAG
> -#endif
> +     KERN_ENTRY_ERRATA
>       /* k1 contains curlwp */
>       PTR_L   k0, L_PCB(k1)                   # XXXuvm_lwp_getuarea
>       PTR_ADDU k0, USPACE - TF_SIZ - CALLFRAME_SIZ
> @@ -1660,10 +1658,7 @@ NESTED_NOPROFILE(MIPSX(systemcall), CALL
>       /*
>        * Save all the registers but kernel temporaries onto the stack.
>        */
> -#ifdef MIPS3_LOONGSON2
> -     li      k0, MIPS_DIAG_BTB_CLEAR | MIPS_DIAG_RAS_DISABLE
> -     mtc0    k0, MIPS_COP_0_DIAG
> -#endif
> +     KERN_ENTRY_ERRATA
>       /* k1 already contains cpulwp */
>       PTR_L   k0, L_PCB(k1)                   # XXXuvm_lwp_getuarea
>       PTR_ADDU k0, USPACE - TF_SIZ - CALLFRAME_SIZ
> 

Reply via email to