Re: [PATCH] xtensa: limit offsets in __loop_cache_{all,page}

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

 



On Sat, Aug 11, 2018 at 12:44:05AM -0700, Max Filippov wrote:
> When building kernel for xtensa cores with big cache lines (e.g. 128
> bytes or more) __loop_cache_all and __loop_cache_page may generate
> assembly instructions with immediate fields that are too big. This
> results in the following build errors:
> 
>   arch/xtensa/mm/misc.S: Assembler messages:
>   arch/xtensa/mm/misc.S:464: Error: operand 2 of 'diwbi' has invalid value '256'
>   arch/xtensa/mm/misc.S:464: Error: operand 2 of 'diwbi' has invalid value '384'
>   arch/xtensa/kernel/head.S: Assembler messages:
>   arch/xtensa/kernel/head.S:172: Error: operand 2 of 'diu' has invalid value '256'
>   arch/xtensa/kernel/head.S:172: Error: operand 2 of 'diu' has invalid value '384'
>   arch/xtensa/kernel/head.S:176: Error: operand 2 of 'iiu' has invalid value '256'
>   arch/xtensa/kernel/head.S:176: Error: operand 2 of 'iiu' has invalid value '384'
>   arch/xtensa/kernel/head.S:255: Error: operand 2 of 'diwb' has invalid value '256'
>   arch/xtensa/kernel/head.S:255: Error: operand 2 of 'diwb' has invalid value '384'
> 
> Add parameter max_immed to these macros and use it to limit values of
> immediate operands. Extract common code of these macros into the new
> macro __loop_cache_unroll.
> 
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
> ---
>  arch/xtensa/include/asm/cacheasm.h | 65 +++++++++++++++++++++++---------------
>  1 file changed, 40 insertions(+), 25 deletions(-)

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree.  Please read:
    https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to do this properly.

</formletter>



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux