[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH v2] plat: Configure stack size page order
Okay, I understand. You treat the issues as bugs that we fix afterwards. Xen on Arm32 is actually the same kind as the x86 traps issue. Can you provide a fix for x86 traps directly after I upstreamed this patch? Thanks, Simon Reviewed-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx> On 09.09.19 13:53, Costin Lupu wrote: Hi Simon, Please read my previous emails more carefully. I said that in plat/xen/x86/arch_events.c the stack already has STACK_SIZE bytes, I don't see where is the problem. And for plat/xen/x86/traps.c I said that there is bug, but that bug is out of scope for this patch. It wasn't clear to me that you want to have a separate patch to fix this problem. Fine with me. And I also said that this patch also touches Arm32 (see arch/arm/arm/include/uk/asm/limits.h). I was talking about _Xen_ on Arm32 which does not use STACK_SIZE properly. Cheers, Costin On 9/9/19 2:29 PM, Simon Kuenzer wrote:Hey Costin, what about plat/xen/x86/arch_events.c and plat/xen/x86/traps.c? I though you wanted to fix them with this patch, too. At least in your commit message you should mention that Arm32 Xen is not adopted by this patch. Thanks a lot, Simon On 08.09.19 09:01, Costin Lupu wrote:This patch adds a config option for configuring the stack size page order. We need this for supporting large stacks. Signed-off-by: Costin Lupu <costin.lupu@xxxxxxxxx> --- arch/Config.uk | 9 +++++++++ arch/arm/arm/include/uk/asm/limits.h | 2 +- arch/arm/arm64/include/uk/asm/limits.h | 2 +- arch/x86/x86_64/include/uk/asm/limits.h | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/arch/Config.uk b/arch/Config.uk index 190c75e6..d091dcbd 100644 --- a/arch/Config.uk +++ b/arch/Config.uk @@ -24,3 +24,12 @@ endif if (ARCH_ARM_64) source "arch/arm/arm64/Config.uk" endif + +config STACK_SIZE_PAGE_ORDER + int + prompt "Stack size page order" + default 4 + help + Indirectly configures the stack size by changing the stack size page + order. Stack size is equal with 2^order * page size (e.g. 4KB). + Only change this if you know what you're doing. diff --git a/arch/arm/arm/include/uk/asm/limits.h b/arch/arm/arm/include/uk/asm/limits.h index 085761c3..e2298d6b 100644 --- a/arch/arm/arm/include/uk/asm/limits.h +++ b/arch/arm/arm/include/uk/asm/limits.h @@ -39,7 +39,7 @@ #define __PAGE_MASK (~((__PAGE_SIZE) - 1)) #endif -#define __STACK_SIZE_PAGE_ORDER 2 +#define __STACK_SIZE_PAGE_ORDER CONFIG_STACK_SIZE_PAGE_ORDER #define __STACK_SIZE (__PAGE_SIZE * (1 << __STACK_SIZE_PAGE_ORDER)) #define __WORDSIZE 32 diff --git a/arch/arm/arm64/include/uk/asm/limits.h b/arch/arm/arm64/include/uk/asm/limits.h index cec05641..fb70f2ba 100644 --- a/arch/arm/arm64/include/uk/asm/limits.h +++ b/arch/arm/arm64/include/uk/asm/limits.h @@ -40,7 +40,7 @@ #define __PAGE_MASK (~((__PAGE_SIZE) - 1)) #endif -#define __STACK_SIZE_PAGE_ORDER 4 +#define __STACK_SIZE_PAGE_ORDER CONFIG_STACK_SIZE_PAGE_ORDER #define __STACK_SIZE (__PAGE_SIZE * (1 << __STACK_SIZE_PAGE_ORDER)) #define __STACK_ALIGN_SIZE 16 diff --git a/arch/x86/x86_64/include/uk/asm/limits.h b/arch/x86/x86_64/include/uk/asm/limits.h index a969bd17..21814044 100644 --- a/arch/x86/x86_64/include/uk/asm/limits.h +++ b/arch/x86/x86_64/include/uk/asm/limits.h @@ -39,7 +39,7 @@ #define __PAGE_MASK (~((__PAGE_SIZE) - 1)) #endif -#define __STACK_SIZE_PAGE_ORDER 4 +#define __STACK_SIZE_PAGE_ORDER CONFIG_STACK_SIZE_PAGE_ORDER #define __STACK_SIZE (__PAGE_SIZE * (1 << __STACK_SIZE_PAGE_ORDER)) #define __WORDSIZE 64_______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |