Re: [PATCHv2] mips: Do not include hi and lo in clobber list for R6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 25 Jul 2020, Romain Naour wrote:

> diff --git a/arch/mips/include/asm/vdso/gettimeofday.h b/arch/mips/include/asm/vdso/gettimeofday.h
> index c63ddcaea54c..e377a7201a33 100644
> --- a/arch/mips/include/asm/vdso/gettimeofday.h
> +++ b/arch/mips/include/asm/vdso/gettimeofday.h
> @@ -30,12 +30,21 @@ static __always_inline long gettimeofday_fallback(
>  	register long nr asm("v0") = __NR_gettimeofday;
>  	register long error asm("a3");
>  
> +#if MIPS_ISA_REV >= 6
> +	asm volatile(
> +	"       syscall\n"
> +	: "=r" (ret), "=r" (error)
> +	: "r" (tv), "r" (tz), "r" (nr)
> +	: "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13",
> +	  "$14", "$15", "$24", "$25", "memory");
> +#else
>  	asm volatile(
>  	"       syscall\n"
>  	: "=r" (ret), "=r" (error)
>  	: "r" (tv), "r" (tz), "r" (nr)
>  	: "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13",
>  	  "$14", "$15", "$24", "$25", "hi", "lo", "memory");
> +#endif

 Argh, please avoid a flood of inline #ifdef's across code; let alone 
repeating identical parts in both legs of the conditional.

 We've been through this before, cf. commit b0984c43702f ("MIPS: Fix 
microMIPS LL/SC immediate offsets"), or commit 09abbcffb3ee ("[MIPS] 
cpu-bugs64.c: GCC 3.3 constraint workaround"), or the GCC_REG_ACCUM macro 
visible in the latter commit (originally added with historical commit 
f4232a2ce8f9 reachable at <git://git.linux-mips.org/pub/scm/ralf/linux> if 
you can have a look there).

  Maciej



[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux