Index: kernel/generic/include/mm/as.h
===================================================================
--- kernel/generic/include/mm/as.h	(revision 498b20153808a4296ace87eaa357438dc95949e5)
+++ kernel/generic/include/mm/as.h	(revision edebc15c65ded52ed661523a687334ecc04a7578)
@@ -270,4 +270,5 @@
 int as_area_share(as_t *src_as, uintptr_t src_base, size_t acc_size,
     as_t *dst_as, uintptr_t dst_base, int dst_flags_mask);
+extern int as_area_change_flags(as_t *as, int flags, uintptr_t address);
 
 extern int as_area_get_flags(as_area_t *area);
@@ -300,9 +301,17 @@
 extern mem_backend_t phys_backend;
 
-extern unsigned int elf_load(elf_header_t *header, as_t *as);
+/** 
+ * This flags is passed when running the loader, otherwise elf_load()
+ * would return with a EE_LOADER error code.
+ */
+#define ELD_F_NONE	0
+#define ELD_F_LOADER	1
+
+extern unsigned int elf_load(elf_header_t *header, as_t *as, int flags);
 
 /* Address space area related syscalls. */
 extern unative_t sys_as_area_create(uintptr_t address, size_t size, int flags);
 extern unative_t sys_as_area_resize(uintptr_t address, size_t size, int flags);
+extern unative_t sys_as_area_change_flags(uintptr_t address, int flags);
 extern unative_t sys_as_area_destroy(uintptr_t address);
 
