Mercurial > hg > CbC > CbC_xv6
diff src/impl/vm_impl.cbc @ 205:2ecf1e09e981
allocuvm_loop and return
author | tobaru |
---|---|
date | Fri, 24 Jan 2020 14:45:38 +0900 |
parents | 6e03cee9733e |
children | 0f1700bd5cff |
line wrap: on
line diff
--- a/src/impl/vm_impl.cbc Thu Jan 23 21:24:30 2020 +0900 +++ b/src/impl/vm_impl.cbc Fri Jan 24 14:45:38 2020 +0900 @@ -26,6 +26,8 @@ vm_impl->sz = 0; vm_impl->loaduvm_ptesize_check = C_loaduvm_ptesize_checkvm_impl; vm_impl->loaduvm_loop = C_loaduvm_loopvm_impl; + vm_impl->allocuvm_check_newsz = C_allocuvm_check_newszvm_impl; + vm_impl->allocuvm_loop = C_allocuvm_loopvm_impl; vm->init_vmm = C_init_vmmvm_impl; vm->kpt_freerange = C_kpt_freerangevm_impl; vm->kpt_alloc = C_kpt_allocvm_impl; @@ -84,7 +86,7 @@ } typedef struct proc proc; -__code switchuvmvm_impl(struct vm_impl* vm ,struct proc* p, __code next(...)) { //:skip +__code switchuvmvm_impl(struct vm_impl* vm , struct proc* p, __code next(...)) { //:skip goto next(...); } @@ -106,7 +108,7 @@ __code allocuvmvm_impl(struct vm_impl* vm, pde_t* pgdir, uint oldsz, uint newsz, __code next(...)) { - goto next(...); + goto allocuvm_check_newszvm_impl(vm, pgdir, oldsz, newsz, next(...)); } __code clearpteuvm_impl(struct vm_impl* vm, pde_t* pgdir, char* uva, __code next(...)) {