- // Pre-allocate a page contains stack top, to avoid immediate trap to kernel
- // upon thread execution
- ptr_t pa = pmm_alloc_page(0);
- ptr_t stack_top = align_stack(th_stack_top + USR_STACK_SIZE - 1);
- if (likely(pa)) {
- vmm_set_mapping(vm_mnt, PG_ALIGN(stack_top),
- pa, region_ptattr(vmr), 0);
- }
-
- inject_guardian_page(vm_mnt, vmr->start);