[okl4-developer] [PATCH] test_area[12] alignment issue in l4test SPACESWITCH0030

Tomas Hruby thruby at cs.otago.ac.nz
Thu Sep 25 12:35:33 EST 2008


test_area[12] in l4test/src/spaceswitch.c must be page size aligned
otherwise SPACESWITCH0030 fails because the pager cannot tell that
test_area1 was accessed and map it accordingly. The problem occurs
only if the MMU returns the fault address aligned to minimal page
size. Note that the size and alignment in this patch is increased to
8k to suite sparc.

diff -ru orig/l4test/src/spaceswitch.c fix/l4test/src/spaceswitch.c
--- orig/l4test/src/spaceswitch.c	2008-09-24 18:09:50.000000000 +1000
+++ fix/l4test/src/spaceswitch.c	2008-09-24 18:11:07.000000000 +1000
@@ -419,8 +419,8 @@
 static L4_Word_t test_stack[TEST_STACK_SIZE];
 static L4_Word_t test2_stack[TEST_STACK_SIZE];
 static L4_Word_t pager_stack[TEST_STACK_SIZE];
-static L4_Word_t test_area1[(1UL << 12)/sizeof(L4_Word_t)];
-static L4_Word_t test_area2[(1UL << 12)/sizeof(L4_Word_t)];
+static L4_Word_t test_area1[(1UL << 13)/sizeof(L4_Word_t)] ALIGNED(8<<10);
+static L4_Word_t test_area2[(1UL << 13)/sizeof(L4_Word_t)] ALIGNED(8<<10);
 
 static L4_ThreadId_t main_tid, pager_tid, thread_tid, test2_tid;



More information about the Developer mailing list