支持unmap

This commit is contained in:
zhangzheng
2023-08-28 22:11:49 +08:00
parent f8ac961264
commit dadfda135c
39 changed files with 799 additions and 106 deletions

View File

@@ -19,24 +19,19 @@ syscall_entry_func syscall_handler_get(void)
{
return syscall_entry;
}
void thread_exit(void)
{
printk("thread exit.\n");
/*TODO:删除这个线程*/
}
void thread_user_pf_set(thread_t *cur_th, void *pc, void *user_sp, void *ram)
{
pf_t *cur_pf = (pf_t *)((addr_t)(user_sp - 8) & ~0x7UL) - 1; // thread_get_pf(cur_th);
cur_pf->pf_s.xpsr = 0x01000000L;
cur_pf->pf_s.lr = (umword_t)thread_exit; //!< 线程退出时调用的函数
cur_pf->pf_s.lr = (umword_t)NULL; //!< 线程退出时调用的函数
cur_pf->pf_s.pc = (umword_t)pc | 0x1;
cur_pf->rg1[5] = (umword_t)ram;
cur_th->sp.knl_sp = ((char *)cur_th + THREAD_BLOCK_SIZE - 8);
cur_th->sp.user_sp = cur_pf;
cur_th->sp.sp_type = 1;
// arch_set_user_sp((umword_t)cur_pf);
// thread_ready(thread_get_current(), TRUE);
printk("exc_regs:%x %x %x\n", pc, user_sp, ram);
}