dts和ACPI之间的区别 [英] Difference between dts and ACPI

查看:743
本文介绍了dts和ACPI之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们可以在dts文件中声明平台设备信息,而不是对每个数据进行硬编码 进入操作系统.以手臂"架构为例.它支持DTS,我们将 从arch/arm/boot/dts/xx.dts获取dts.将此xx.dts转换为xx.dtb并加载 内核映像.最近遇到x86架构时,我遇到了ACPI, 从文档中,我了解到的ACPI类似于设备树.我们可以声明 ACPI表中的平台设备信息信息,我怀疑这些ACPI到底在哪里 表存在.我如何将该信息加载到Linux.与ACPI相比,使用ACPI有什么优势? dts.如果我错了,请纠正我. 预先感谢

We can declare platform device information in dts file, rather than hard coding every data into operating system. Taking "arm" architecture as example. it supports dts and we will take dts from arch/arm/boot/dts/xx.dts. Convert this xx.dts into xx.dtb and loaded with kernel Image. I recently came across ACPI, when i came across x86 architecture, from the documents, what i understood is ACPI is similar to device tree. We can declare platform device information information in ACPI tables, my doubt is where exactly these ACPI tables present. How can i load this info to linux. What is the advantage of using ACPI over dts. Please correct me if i am wrong. Thanks in advance

推荐答案

用肺或g呼吸吗?取决于您的住所.

Breathe with lungs or gills? Depends on where you live.

粗略的体系结构分类是

x86 - Server/PC - ACPI table 
ARM - embedded systems - Device Tree

在服务器/PC主板上,ACPI表是UEFI固件的一部分,该固件位于闪存芯片上.该操作系统将稍后安装在其他位置(硬盘驱动器左右).操作系统会解析ACPI表,但是操作系统开发人员无法控制固件中已经写入的内容.甚至他们甚至不知道电路板的内部设计.主板供应商(固件提供商)需要支持要安装的所有操作系统,不仅是Linux,因此他们必须遵循标准(UEFI),而不是专注于Linux,例如设备树.

On server/PC motherboards, the ACPI table is a part of the UEFI firmware, which resides on the flash chip. The OS would be installed later somewhere else (hard drive or so). The OS parses the ACPI table, but OS developers don't control what is already written in the firmware; or they don't even know the internal design of the board. The board vendor (firmware provider) needs to support whatever OS to be installed, not only Linux, so they have to follow standards (UEFI), instead of focusing on a Linux thing, such as device tree.

在嵌入式系统上,操作系统和其他所有东西都由供应商编程一次,而用户则不再编程.该操作系统是固件的一部分.因此,无需担心操作系统支持矩阵,并且主板和操作系统映像之间只有一对一的关系. U-Boot,内核,initramfs,设备树blob驻留在同一闪存(即NAND)中.因此,开发人员可以访问和控制要部署为设备树的内容(尽管必须与实际硬件匹配).

On embedded systems, OS and everything else are programmed once by the vendor and never again by the user. The OS is part of the firmware. So no need to worry about the OS support matrix, and just have a 1-to-1 relationship between the board and your OS image. U-Boot, kernel, initramfs, device tree blob reside on the same flash storage (i.e. NAND). So developers have access and control to what to be deployed as the device tree (must match real hardware though).

硬件设计者应该能够提供ACPI表和设备树.视接收者而定,将是首选.

Hardware designers should be able to provide both an ACPI table and a device tree. Depending on the receiver, one will be preferred.

参考文献:

  • https://unix.stackexchange.com/a/399701/170265
  • https://xenproject.org/2013/12/03/xen-on-arm-and-the-device-tree-vs-acpi-debate/

这篇关于dts和ACPI之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆