TIPS: ACPIVIEW

之前krishna 在“UEFI Shell 下的 ACPI Dump工具”评论中提到过,EDK2 提供了内置的 ACPI COMMAND:ACPIVIEW,可以直接在 Shell 下查看 ACPI。最近在研究 ACPI 方面的内容,于是研究了一下这个 command 的使用。

Hi Z.t,现在的EDK2已经有现成的ACPI command可用哦,需要手动添加一下,方法如下:

1,编辑ShellPkg\ShellPkg.dsc,在这个地方添加一行:
ShellPkg/Application/Shell/Shell.inf {
# follow line is added by krishna
NULL|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
}
2,Save and "build -p ShellPkg\ShellPkg.dsc -m ShellPkg\Application\Shell\Shell.inf -a X64"
3,Boot this shell and run command "acpiview"

在 EDK2 202108 的版本中, Shell 提供了2种访问这个工具的方法:

1.独立的 EFI 程序 ,源代码在 \ShellPkg\Application\AcpiViewApp

2.内置于 Shell 中的 acpiview 命令。现在无需手工添加,使用下面的命令编译 ShellPkg

 build -a X64 -p ShellPkg\ShellPkg.dsc

之后可以看到2个Shell 的 EFI 文件,其中较大的就包含了acpiview 命令:

运行Shell后,可以使用 help acpiview 查看,支持的命令行参数如下:

ACPIVIEW [[-?] | [[[[-l] | [-s AcpiTable [-d]]] [-q] [-h]] [-r Spec]]]

  -l - Display list of installed ACPI Tables.
  -s - Display only the specified AcpiTable type and only support single invocation option.
         AcpiTable    : The required ACPI Table type.
  -d - Generate a binary file dump of the specified AcpiTable.
  -q - Quiet. Suppress errors and warnings. Disables consistency checks.
  -h - Enable colour highlighting.
  -r - Validate that all required ACPI tables are installed
         Spec  : Specification to validate against.
                 For Arm, the possible values are:
                   0 - Server Base Boot Requirements v1.0
                   1 - Server Base Boot Requirements v1.1
                   2 - Server Base Boot Requirements v1.2
  -? - Show help.

-l 参数显示当前系统中 ACPI Table 的名称

-s 显示指定的 ACPI Table

-d 将指定的 ACPI Table 保存到文件中

特别注意:不要直接运行 acpiview,它会在屏幕输出所有的 ACPI Table 内容非常慢。

发表评论

您的电子邮箱地址不会被公开。