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

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