diff options
-rw-r--r-- | extras/mini-os/include/x86/x86_32/hypercall-x86_32.h | 2 | ||||
-rw-r--r-- | extras/mini-os/include/x86/x86_64/hypercall-x86_64.h | 2 | ||||
-rw-r--r-- | extras/mini-os/kernel.c | 6 |
3 files changed, 7 insertions, 3 deletions
diff --git a/extras/mini-os/include/x86/x86_32/hypercall-x86_32.h b/extras/mini-os/include/x86/x86_32/hypercall-x86_32.h index 70e8997a86..5f8b51f872 100644 --- a/extras/mini-os/include/x86/x86_32/hypercall-x86_32.h +++ b/extras/mini-os/include/x86/x86_32/hypercall-x86_32.h @@ -167,7 +167,7 @@ HYPERVISOR_fpu_taskswitch( static inline int HYPERVISOR_sched_op( - int cmd, unsigned long arg) + int cmd, void *arg) { return _hypercall2(int, sched_op, cmd, arg); } diff --git a/extras/mini-os/include/x86/x86_64/hypercall-x86_64.h b/extras/mini-os/include/x86/x86_64/hypercall-x86_64.h index 159149f48b..2d2904a218 100644 --- a/extras/mini-os/include/x86/x86_64/hypercall-x86_64.h +++ b/extras/mini-os/include/x86/x86_64/hypercall-x86_64.h @@ -171,7 +171,7 @@ HYPERVISOR_fpu_taskswitch( static inline int HYPERVISOR_sched_op( - int cmd, unsigned long arg) + int cmd, void *arg) { return _hypercall2(int, sched_op, cmd, arg); } diff --git a/extras/mini-os/kernel.c b/extras/mini-os/kernel.c index 152499ceb4..0799116aa6 100644 --- a/extras/mini-os/kernel.c +++ b/extras/mini-os/kernel.c @@ -159,5 +159,9 @@ void start_kernel(start_info_t *si) void do_exit(void) { printk("Do_exit called!\n"); - for ( ;; ) HYPERVISOR_sched_op(SCHEDOP_shutdown, SHUTDOWN_crash); + for( ;; ) + { + struct sched_shutdown sched_shutdown = { .reason = SHUTDOWN_crash }; + HYPERVISOR_sched_op(SCHEDOP_shutdown, &sched_shutdown); + } } |