RW 搜索ACPI协议RSD PTR表

Read&Write Utility可以读取系统中各种ACPI表,下图是我的ThinkPad的ACPI表:

    通过这张图,可以说,RW读全了所有ACPI表。但是,有些品牌笔记本的实现,比如TOSHIBA/Dynabook,在RW的ACPI Table标签页上找不到RSDP结构和RSDT表!对于新人学习ACPI协议很不方便!经过一番尝试,笔者发现可以通过搜索内存的方式,定位到RSDP和RSDT。

    首先定位RSD PTR(即RSDP结构),根据ACPI协议,该结构中包含XSDT Base Address和RSDT Base Address。点击"Memory dump"按钮----在Memory对话框中点击Find----在Find pattern编辑框中输入 RSD PTR,同时勾选ASCII复选框:

当然,为了缩小范围,可以在Start Address和End Address中填写起始和终止地址。一般这个地址可以参考XSDT Table中Entry0起始地址和最后一个EntryN结束地址,比如我的XSDT Table中Entry0的地址为0x97FF6000,RSD PTR一般在这个地址之前,所以Start Address取0x97000000。Entry22的起始地址为0x97F57000,所以End Address取0x98000000:

搜索结果到两串"RSD PTR"开头的字符串,第二串所在的地址是RSD PTR结构所在内存,即图中地址Address=0x097FFE014。根据ACPI协议,从这个地址起,偏移0x10处是RSDT Base Address,偏移0x18是XSDT Base Address:

可以从这两处地址读取内容,跟RSDP/XSDT Table内容对比,此处以XSDT Table为例,比较ACPI Table中XSDT和Memory 0x0097FD1188处的内容:

以上步骤基于x64位系统,x86系统同样步骤也可以定位

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值