#aarch64 #exception #command-line-tool #register #value #decoding #esr

bin+lib aarch64-esr-decoder

用于解码 aarch64 异常状态寄存器值的库和命令行工具

5 个版本

0.2.3 2023 年 7 月 4 日
0.2.2 2022 年 10 月 17 日
0.2.1 2022 年 9 月 13 日
0.2.0 2021 年 11 月 16 日
0.1.0 2021 年 11 月 10 日

#395开发工具

Apache-2.0

105KB
2.5K SLoC

aarch64-esr-decoder

crates.io page docs.rs page

用于解码 aarch64 ESR 寄存器值的小工具。

这不是一个官方支持的产品。

使用

最新版本 安装 Debian 软件包,使用 cargo install aarch64-esr-decoder 安装,或者 尝试网页版

对于命令行版本,只需将您感兴趣的 ESR 值作为参数传递,十进制或十六进制均可。

$ aarch64-esr-decoder 0x96000050
ESR 0x00000000000000000000000096000050:
# Data Abort taken without a change in Exception level
37..63 RES0: 0x0000000 0b000000000000000000000000000
32..36 ISS2: 0x00 0b00000
26..31 EC: 0x25 0b100101
  # Data Abort taken without a change in Exception level
25     IL: true
  # 32-bit instruction trapped
00..24 ISS: 0x0000050 0b0000000000000000001010000
  24     ISV: false
    # No valid instruction syndrome
  14..23 RES0: 0x000 0b0000000000
  13     VNCR: false
  11..12 SET: 0x0 0b00
    # Recoverable state (UER)
  10     FnV: false
    # FAR is valid
  09     EA: false
  08     CM: false
  07     S1PTW: false
  06     WnR: true
    # Abort caused by writing to memory
  00..05 DFSC: 0x10 0b010000
    # Synchronous External abort, not on translation table walk or hardware update of translation table.

对于较长的字段名,请添加 -v

许可证

根据 Apache 许可证,版本 2.0 许可。

贡献

如果您想为此项目做出贡献,请参阅 我们接受贡献的详情

依赖项

~0.3–0.8MB
~19K SLoC