vmrunkernel: get the page table setup right
[akaros.git] / tests / mcp_halt.c
index f994f60..d7004d9 100644 (file)
@@ -6,10 +6,11 @@
 #include <ros/bcq.h>
 #include <parlib/arch/arch.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <parlib/vcore.h>
 #include <parlib/mcs.h>
 #include <parlib/timing.h>
-#include <parlib/rassert.h>
+#include <parlib/assert.h>
 #include <parlib/event.h>
 #include <parlib/uthread.h>
 
@@ -36,20 +37,18 @@ int main(int argc, char** argv)
        else
                nr_vcores = atoi(argv[1]);
 
-       /* set up our sched ops. */
-       sched_ops = &ghetto_sched_ops;
-
        /* Inits a thread for us, though we won't use it.  Just a hack to get into
         * _M mode.  Note this requests one vcore for us */
        struct uthread dummy = {0};
-       uthread_lib_init(&dummy);
+       uthread_2ls_init(&dummy, &ghetto_sched_ops, NULL, NULL);
+       uthread_mcp_init();
 
        /* Reset the blockon to be the spinner...  This is really shitty.  Any
         * blocking calls after we become an MCP and before this will fail.  This is
         * just mhello showing its warts due to trying to work outside uthread.c */
        ros_syscall_blockon = __ros_syscall_spinon;
 
-       vcore_request(nr_vcores - 1); /* since we already have 1 */
+       vcore_request_total(nr_vcores);
 
        while (1)
                sys_halt_core(0);