learningOS开源操作系统社区
  • 首页
  • 训练营
  • 明星学员
  • 共建单位
  • 项目实习
  • 问答论坛
登录
    首页明星学员问答论坛
京ICP备16045052号-19Copyright © 2024 All rights reserved.
关于lab1的特权切换问题
匿名2023/07/31 19:52:24提问
    lab1student
384

陈老师在学堂在线视频中讲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
      暂无数据