梦剑天涯 2021-04-21 19:02 采纳率: 0%
浏览 72

uboot汇编文件初始化过程中,为什么要检查hyp模式?

为什么检查hyp模式,而且检查不是该模式还把模式更改为SVC模式?如果是hyp模式会对初始化有什么影响?

 

硬件平台:imx6ull

  • 写回答

1条回答 默认 最新

  • 猫夏i 2021-04-21 21:57
    关注

    简单说一下

    Hyp模式 Hypervisor负责用户操作系统的切换 用户操作系统运行在非安全特权和非特权模式 针对虚拟化扩展 访问资源受限

    uboot初始化要做的事情 是初始化系统相关硬件资源 需要获取尽可能多的权限 以方便操作硬件 初始化硬件

    还有作为一个bootloader来说 最终目的是为了启动Linux的kernel 在做好准备工作(即初始化硬件,准备好kernel和rootfs等)跳转到kernel之前

    本身就要满足一些条件 其中一个条件 就是要求CPU处于SVC模式的

    关于满足哪些条件,详情请参考:

    ARM Linux Kernel Boot Requirements

    http://www.arm.linux.org.uk/developer/booting.php

    或者Linux内核文档:

    kernel_source_root\documentation\arm\booting

    中也是同样的解释

    "The CPU must be in SVC mode"

    所以uboot在最初的初始化阶段 就将CPU设置为SVC模式 也是最合适的

    更多详细信息请查阅ARM处理器模式, Linux内核相关资料

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据