| 
    
 [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH v2] plat: Configure stack size page order
 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
-- 
2.20.1
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
 
  | 
  
![]()  | 
            
         Lists.xenproject.org is hosted with RackSpace, monitoring our  |