关于lab1的特权切换问题
匿名2023/07/31 19:52:24提问
    lab1student
308

陈老师在学堂在线视频中讲lab1的challenge实质是在内核栈中模拟出内核到用户的切换和用户到内核的切换。我的问题是lab1_switch_to_user执行后把esp-8,内核栈中的tf_es,tf_ds,tf_ss都付值为USER_DS,但是tf_esp应该怎么付值,参考答案中的switchk2u.tf_esp = (uint32_t)tf + sizeof(struct trapframe) - 8;不理解。还有*((uint32_t *)tf - 1) = (uint32_t)&switchk2u;这句也不理解

回答(1
    推荐问答
      Simple Empty
      暂无数据