]> Zhao Yanbai Git Server - minix.git/commitdiff
kernel: rely on alignment directive for stacks
authorBen Gras <ben@minix3.org>
Sat, 18 Aug 2012 23:04:51 +0000 (01:04 +0200)
committerBen Gras <ben@minix3.org>
Sat, 18 Aug 2012 23:04:51 +0000 (01:04 +0200)
. unnecessary to do it manually with ELF
. also makes 1 extra alignment page unnecessary

kernel/arch/i386/arch_system.c
kernel/arch/i386/mpx.S

index 7cc9f41575d922375acdc74cf0e03ae45d387adb..08204541b335439ede25c91da81a2871ca25a341 100644 (file)
@@ -244,12 +244,8 @@ void cpu_identify(void)
 
 void arch_init(void)
 {
-       /* FIXME stupid a.out
-        * align the stacks in the stack are to the K_STACK_SIZE which is a
-        * power of 2
-        */
-       k_stacks = (void*) (((vir_bytes)&k_stacks_start + K_STACK_SIZE - 1) &
-                                                       ~(K_STACK_SIZE - 1));
+       k_stacks = (void*) &k_stacks_start;
+       assert(!((vir_bytes) k_stacks % K_STACK_SIZE));
 
 #ifndef CONFIG_SMP
        /*
index fa39e74a6f89998a18fdf8ee2c40bbfdc18b33c3..44af169d059dad457d922e4d8a788a7d2120aa4d 100644 (file)
@@ -521,7 +521,7 @@ LABEL(k_boot_stktop)        /* top of kernel stack */
 LABEL(k_stacks_start)
 
 /* two pages for each stack, one for data, other as a sandbox */
-.space 2 * (K_STACK_SIZE * (CONFIG_MAX_CPUS + 1))
+.space 2 * (K_STACK_SIZE * CONFIG_MAX_CPUS)
 
 LABEL(k_stacks_end)