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

From: Andrew Donnellan
Date: Fri Oct 18 2019 - 03:09:42 EST


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@xxxxxxxxxxxxx IBM Australia Limited