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

[Minios-devel] [UNIKRAFT PATCH v2] plat: Configure stack size page order


  • To: minios-devel@xxxxxxxxxxxxx
  • From: Costin Lupu <costin.lupu@xxxxxxxxx>
  • Date: Sun, 8 Sep 2019 10:01:03 +0300
  • Cc: simon.kuenzer@xxxxxxxxx
  • Delivery-date: Sun, 08 Sep 2019 07:01:26 +0000
  • Ironport-phdr: 9a23:UNVJvxUI+1fzzE7yDX2CRf2Nc83V8LGtZVwlr6E/grcLSJyIuqrYbBWDt8tkgFKBZ4jH8fUM07OQ7/m6HzVQut3Y4DgrS99lb1c9k8IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUhrwOhBoKevrB4Xck9q41/yo+53Ufg5EmCexbal9IRmrswndrNQajIhsJ6o+1xfEoWZDdvhLy29vOV+dhQv36N2q/J5k/SRQuvYh+NBFXK7nYak2TqFWASo/PWwt68LlqRfMTQ2U5nsBSWoWiQZHAxLE7B7hQJj8tDbxu/dn1ymbOc32Sq00WSin4qx2RhLklDsLOjgk+2zRl8d+jr9UoAi5qhJ/3YDafY+bOvl5cK7GYd8WWXBMUtpLWiBdHo+xaZYEAeobPeZfqonwv0UDrRylBQmwBePvzCJDiHnr3a0izuQqDAbL0xAnH9IVrHTUrdP1OL0WUeCo1KnI0C7OYO9N2Tvn8IjIbwsureuWXbJ3aMfcz1QkGQDdjliItIDoMC6Z2v4OvmWb9eZsS/yjhmw9pwx/ujSj28ghhpTTio8Wyl3I7zt1zYg7KNGiVUJ2bsCoHZ1NvC+ALYR2WNktQ2RwtSY/zb0JpIC0cTARyJQi2x7fc/uHc5WU4h77VOaePzN4hHV9dbKhgha960mgyunmWsaoy1ZGtDJFksTXuXwXzRzT7dCLSvp7/ki/xTaCzx3f5+5ZLUwulqfWK4QtzqAumpcRq0jOEDf6mEDsg6+XckUk9PKo6+PiYrj+upCcMJR0ih3/MqQogMC/Bfk4MhATX2WA5eu8z6fv/VXkQLpRlPE2iK7ZvIjAJcsHvq65HxNV0oE75ha6Djem1tUYnX4cLF5cZR2IkZbpNE/KIP3jCfe/gk+skCtwx/zcMbzuHJPNImLEkLf7crZ381RcxxYrzdBD+5JUDakMIOnyWk/0s9zYCAU1Mw+pw+n5DtV8150RWXiUD6+fLqzdrVuI6fg0LOWWeoAVpWW1F/9w4v/ojHgi3FMQY6St9Z8Wc2yjWORrJQOee3W/rM0GFDIhuREiTeqirECaTHYHbHGpQ6M6oDUmEJ+OBpyFXp2nxqaGinToVqZKb3xLXwjfWUzjcJ+JDq8B
  • Ironport-sdr: VPrR7hfx3dRb62fMrhA9uk94Y67793nx+T1+iEOFRf3adfgGdViDFkgXtHfLUwAsDOBLTOeFLn 6OdKXNGLs7gA==
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.