Mercurial > hg > Members > menikon > CbC_xv6
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;