Merge remote-tracking branch 'refs/remotes/spacebeaker/master' into rebase

Change-Id: Id732a60fda8fbf7d81a5eaae197839d5ec020aba
diff --git a/src/env.c b/src/env.c
index 12d7b2c..e9dc80f 100644
--- a/src/env.c
+++ b/src/env.c
@@ -296,13 +296,7 @@
             break;
         }
         case AT_SEL4_BOOT_INFO: {
-            seL4_BootInfo *bootinfo = auxv[i].a_un.a_ptr;
-            if (bootinfo == SEL4RUNTIME_NULL) {
-                break;
-            }
-            env.bootinfo = bootinfo;
-            env.initial_thread_ipc_buffer = bootinfo->ipcBuffer;
-            env.initial_thread_tcb = seL4_CapInitThreadTCB;
+            env.bootinfo = auxv[i].a_un.a_ptr;
             break;
         }
         case AT_SEL4_IPC_BUFFER_PTR: {
diff --git a/src/start_root.c b/src/start_root.c
index 69383ad..f918a98 100644
--- a/src/start_root.c
+++ b/src/start_root.c
@@ -52,7 +52,7 @@
     struct {
         char const *const argv[2];
         char const *const envp[2];
-        auxv_t auxv[7];
+        auxv_t auxv[8];
     } info = {
         .argv = {
             "rootserver",
@@ -79,6 +79,9 @@
                 .a_type = AT_SEL4_BOOT_INFO,
                 .a_un.a_ptr = boot_info,
             }, {
+                .a_type = AT_SEL4_IPC_BUFFER_PTR,
+                .a_un.a_ptr = boot_info->ipcBuffer,
+            }, {
                 .a_type = AT_SEL4_TCB,
                 .a_un.a_val = seL4_CapInitThreadTCB,
             }, {