[PATCH v3 06/15] powerpc/32: prepare for CONFIG_VMAP_STACK

Andrew Donnellan ajd at linux.ibm.com
Fri Oct 18 18:09:29 AEDT 2019


On 18/10/19 5:46 pm, Christophe Leroy wrote:
> 
> 
> Le 17/10/2019 à 09:36, Andrew Donnellan a écrit :
>> On 10/9/19 7:16 pm, Christophe Leroy wrote:
>>> +#if defined(CONFIG_VMAP_STACK) && CONFIG_THREAD_SHIFT < PAGE_SHIFT
>>> +#define THREAD_SHIFT        PAGE_SHIFT
>>> +#else
>>>   #define THREAD_SHIFT        CONFIG_THREAD_SHIFT
>>> +#endif
>>>
>>>   #define THREAD_SIZE        (1 << THREAD_SHIFT)
>>>
>>
>> Looking at 64-bit book3s: with 64K pages, this results in a 
>> THREAD_SIZE that's too large for immediate mode arithmetic operations, 
>> which is annoying. Hmm.
>>
> 
> Which operation are you thinking about ?
> 
> For instance, 'addi' can't be used anymore, but 'addis' can.

Right, I didn't look too closely - yes, they're "addi"s. But also 
DS-form stores:

	stdu	r1,THREAD_SIZE-STACK_FRAME_OVERHEAD(r3)

Anyway, this is just the first thing that broke when I wondered whether 
a ppc64le_defconfig would even build if I just switched on VMAP_STACK, 
I'll work around it

-- 
Andrew Donnellan              OzLabs, ADL Canberra
ajd at linux.ibm.com             IBM Australia Limited



More information about the Linuxppc-dev mailing list