ARM Linux Atag 与设备树

2023-11-27

设备树和 ATAG 之间有什么区别?另外,ATAG 是必须的吗?内核是否期望它们位于固定地址,还是期望它们位于 r0-r3 中?


设备树描述了有关硬件的所有信息,内核在运行时使用这些硬件来选择要加载的驱动程序、所有 MMIO 接口的位置等。 ATAG 只是描述诸如在哪里可以找到 initrd 和内核参数、内存等内容……有关机器的其他所有内容都被硬编码到内核中。

现在首选的方法是使用设备树而不是 ATAG。优点之一包括添加新平台并不总是需要向内核添加新代码。

要回答你的第二个问题,如果你已经阅读了文档在 ARM 平台上启动 Linux,您会发现内核期望在将控制权移交给内核之前将以下内容放入寄存器中:

r0 = 0,
r1 = machine type number discovered in (3) above.
r2 = physical address of tagged list in system RAM, or
     physical address of device tree block (dtb) in system RAM

我相信有(或者至少是)有一个选项可以从固定位置而不是 r2 中找到的地址加载 ATAG。然而,ATAG 的使用现已被弃用和过时,新平台不应使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ARM Linux Atag 与设备树 的相关文章

随机推荐

  • Spring 3.1 PropertySourcesPlaceholderConfigurer 和条件导入

    查看 3 1 中新的 spring 属性支持 http blog springsource org 2011 02 15 spring 3 1 m1 unified property management 看起来这应该是可能的
  • 与 Authlogic 一起使用的一些好的角色授权解决方案有哪些?

    我正在寻找一个好的基于角色的授权解决方案来与 Authlogic 一起使用 大家有什么好的建议吗 如果可能的话 请根据您的经验列出一些优点和缺点 Acl9 与 AuthLogic 配合得很好 http github com be9 acl9
  • AppBrain 的安装应用程序如何工作?

    AppBrain 拥有一款出色的新应用程序 可让您使用网络浏览器在手机上自动安装应用程序 类似于Chrome的推送 就他们而言 他们使用它让您直接在手机上安装应用程序 而无需提示 Engadget 有一个很好的视频展示了他们的系统 http
  • .NET - 通过 LAN 将可执行文件复制到另一台计算机并执行它

    我正在使用 NET 并疯狂地尝试找到任何有用的 API 让我可以通过 LAN 网络传输文件 当然是通过管理员凭据 然后在该计算机上执行它 我读过一些使用 WMI 的内容 但谷歌搜索 net WMI 复制文件 或 net WMI 执行文件 对
  • 在 WHERE 子句中引用列别名

    SELECT logcount logUserID maxlogtm DATEDIFF day maxlogtm GETDATE AS daysdiff FROM statslogsummary WHERE daysdiff gt 120
  • 相对于最大值的内连接表

    我正在尝试编写一个 MySQL 查询 在其中提取卖家的信息和她最受欢迎的产品 这是由页面浏览量最多的产品决定的 即MAX page views 不过 下面的查询只是随机抽取一个产品 而不是页面浏览量最多的产品 SELECT seller i
  • 如何使用 java Apache POI 库从 XLSX 文件中的特定单元格获取值

    我正在编写一个 Java 程序 使用 Apache POI 库从 excel 工作表 具有 XLSX 扩展名 读取数据 我能够迭代所有单元格并获取所有值 但我无法获得特定的单元格值 例如 E10 有什么办法可以做到这一点吗 请参阅下面我用于
  • 以 UTF-8 格式显示法语重音字符时出现问题

    我正在开发一个用 CakePHP 构建的法语网站 我尝试了多种函数来尝试将文本转换为 UTF 8 并正确显示 但到目前为止还没有成功 任何重音字母都显示为带问号的黑色菱形 当我将浏览器中的字符集更改为 ISO 8859 1 时 它们确实显示
  • 如何以编程方式(在 shell 脚本中)确定是否有更改? [复制]

    这个问题在这里已经有答案了 我正在尝试创建一个 Bash 脚本 该脚本知道当前工作目录中是否有更改 我知道 git status 返回类似 无需提交任何内容 的消息 我想要的是将变量定义为 true 或 false 这个布尔值会告诉我是否有
  • OPencv SVM预测概率

    我正在使用 BOW 模型和 SVM 开发一个图像分类项目 我想找出SVM预测概率 但opencv svm中没有这样的函数 有什么办法可以做到这一点吗 我想找出 n 类 SVM 的预测概率 不 你不能用 CvSVM 做到这一点 OpenCV
  • 无法在非托管代码中使用托管事件/对象错误 c3265、c2811

    我在 C CLI 项目中使用的本机 C 库引发事件 给我结果 如果我尝试通过扩展非托管事件来处理该事件 它会说 ref 类只能扩展 ref 类 然后 我尝试创建一个本机事件 但在其中包含托管对象来收集结果 但出现错误无法在非托管类中声明托管
  • 用平滑样条替换所有 NA

    以下是示例数据 大约 8000 行数据 如何用平滑样条拟合其余数据的值替换所有 NA Date Max Min Rain RHM RHE 4 24 1981 35 9 24 7 0 0 71 37 4 25 1981 36 8 22 8 0
  • ProcessInfo 和 RedirectStandardOutput

    我有一个应用程序 它在命令窗口中调用另一个进程 并且该进程更新了输出到控制台窗口的统计信息 我认为这是一个相当简单的操作 但我似乎无法让它发挥作用 我错过了什么吗 string assemblyLocation Assembly GetEx
  • R 中的错​​误:不一致的参数。不对?

    这是我的代码 define likelihood function including an intercept constant in the function lltobit lt function b x y sigma lt b 3
  • 具有属性的列表的 XML 序列化

    我在另一个列表中有一个列表 具有变体的产品 我希望父列表具有设置的属性 只是一个id and a name 所需输出
  • 使用CursorLoader查询专辑中的歌曲

    我想通过查询来获取专辑的歌曲列表MediaStore with CursorLoader 我怎样才能做到这一点 我可以使用以下代码获取设备的所有歌曲 static final String TRACK SUMMARY PROJECTION
  • Visual Studio-路径中的非法字符

    这是在 Visual Studio Community 2017 最新更新后发生的 每次我尝试打开我的项目时 都会收到以下警告 警告 IDE0006 加载项目时遇到错误 某些项目功能 例如失败项目和依赖它的项目的完整解决方案分析 已被禁用
  • 从函数内部调用 $(document).ready() 是否安全?

    如果我使用 document ready 即使文档就绪事件在过去已经发生过 它是否仍能保证仅在文档准备好时才运行其中的代码 Yes 来自 jQueryready功能source Catch cases where document read
  • execcommand("SaveAs",null,"file.csv") 在 IE8 中不起作用

    var doc w document doc open application CSV replace doc charset utf 8 doc write all hello doc close if doc execCommand S
  • ARM Linux Atag 与设备树

    设备树和 ATAG 之间有什么区别 另外 ATAG 是必须的吗 内核是否期望它们位于固定地址 还是期望它们位于 r0 r3 中 设备树描述了有关硬件的所有信息 内核在运行时使用这些硬件来选择要加载的驱动程序 所有 MMIO 接口的位置等 A