changeset 269:bd948528b2d6

impl_vm_void_ret
author anatofuz
date Mon, 27 Jan 2020 14:13:05 +0900
parents 640599067820
children 052669f2ef74
files src/impl/vm_impl.cbc src/impl/vm_impl.h src/impl/vm_impl_private.cbc
diffstat 3 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/impl/vm_impl.cbc	Mon Jan 27 13:50:13 2020 +0900
+++ b/src/impl/vm_impl.cbc	Mon Jan 27 14:13:05 2020 +0900
@@ -35,6 +35,7 @@
     vm_impl->copyout_loopvm_impl = C_copyout_loopvm_impl;
     vm_impl->switchuvm_check_pgdirvm_impl = C_switchuvm_check_pgdirvm_impl;
     vm_impl->init_inituvm_check_sz = C_init_inituvm_check_sz;
+    vm_impl->void_ret  = C_vm_void_ret;
     vm->init_vmm = C_init_vmmvm_impl;
     vm->kpt_freerange = C_kpt_freerangevm_impl;
     vm->kpt_alloc = C_kpt_allocvm_impl;
@@ -55,11 +56,11 @@
     struct run *freelist;
 } kpt_mem;
 
-__code init_vmmvm_impl(struct vm_impl* vm, __code next(...)) {
+__code init_vmmvm_impl(struct vm_impl* vm) {
     initlock(&kpt_mem.lock, "vm");
     kpt_mem.freelist = NULL;
     
-    goto next(...);
+    goto vm->void_ret();
 }
 
 extern struct run {
--- a/src/impl/vm_impl.h	Mon Jan 27 13:50:13 2020 +0900
+++ b/src/impl/vm_impl.h	Mon Jan 27 14:13:05 2020 +0900
@@ -41,6 +41,7 @@
     __code copyout_loopvm_impl(Type* vm_impl, pde_t* pgdir, uint va, void* pp, uint len, __code next(...));
     __code switchuvm_check_pgdirvm_impl(struct vm_impl* vm_impl, struct proc* p, __code next(...));
     __code init_inituvm_check_sz(struct vm_impl* vm_impl, pde_t* pgdir, char* init, uint sz, __code next(...));
+    __code void_ret(Type* vm_impl);
     __code next(...);
 } vm_impl;
 
--- a/src/impl/vm_impl_private.cbc	Mon Jan 27 13:50:13 2020 +0900
+++ b/src/impl/vm_impl_private.cbc	Mon Jan 27 14:13:05 2020 +0900
@@ -397,3 +397,7 @@
 
     goto next(...);
 }
+
+__code vm_void_ret(struct vm_impl* vm_impl) {
+    return;
+}