Index: uspace/lib/libc/arch/arm32/src/entry.s
===================================================================
--- uspace/lib/libc/arch/arm32/src/entry.s	(revision 45d5f8656e9fa5b05cfa12b7c37b0e1e72f29700)
+++ uspace/lib/libc/arch/arm32/src/entry.s	(revision 82a04c6d4cedfa8e557149797bfda87ae5da22d7)
@@ -36,6 +36,11 @@
 #
 # r1 contains the PCB pointer
+# r2 contains the RAS page address
 #
 __entry:
+	# Store the RAS page address into the ras_page variable
+	ldr r0, =ras_page
+	str r2, [r0]
+
 	# Pass pcb_ptr to __main as the first argument (in r0)
 	mov r0, r1
@@ -43,2 +48,9 @@
 
 	bl __exit
+
+.data
+
+.global ras_page
+ras_page:
+	.long 0
+
Index: uspace/srv/loader/arch/arm32/arm32.s
===================================================================
--- uspace/srv/loader/arch/arm32/arm32.s	(revision 45d5f8656e9fa5b05cfa12b7c37b0e1e72f29700)
+++ uspace/srv/loader/arch/arm32/arm32.s	(revision 82a04c6d4cedfa8e557149797bfda87ae5da22d7)
@@ -36,4 +36,7 @@
 # Jump to a program entry point
 program_run:
+	# load ras_page address to r2
+	ldr r2, =ras_page
+	ldr r2, [r2]
 	# pcb is passed to the entry point in r1 (where it already is)
 	mov r15, r0
