news 2026/1/24 13:31:48

hal!HalGetBusDataByOffset函数得到设备Device (ISA)字段Field-PIRX字段单元PIRA共1个字节--与上0x80结果是不存在--重要

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
hal!HalGetBusDataByOffset函数得到设备Device (ISA)字段Field-PIRX字段单元PIRA共1个字节--与上0x80结果是不存在--重要

hal!HalGetBusDataByOffset函数得到设备Device (ISA)字段Field-PIRX字段单元PIRA共1个字节--与上0x80结果是不存在

1: kd> g
Breakpoint 51 hit
eax=00000000 ebx=897a73a8 ecx=00000100 edx=899b3ab0 esi=00000000 edi=00000000
eip=804f25ee esp=f791abdc ebp=f791ac48 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
hal!HalGetBusDataByOffset:
804f25ee 55 push ebp
1: kd> dv
BusDataType = PCIConfiguration (0n4)
BusNumber = 0
SlotNumber = 7
Buffer = 0x89867e78
Offset = 0x60
Length = 1
bus = struct _BUS_HANDLER
1: kd> kc
#
00 hal!HalGetBusDataByOffset
01 ACPI!PciConfigSpaceHandlerWorker
02 ACPI!GetPciAddressWorker
03 ACPI!ACPIGetWorkerForInteger
04 ACPI!AsyncCallBack
05 ACPI!RunContext
06 ACPI!DispatchCtxtQueue
07 ACPI!StartTimeSlicePassive
08 ACPI!ACPIWorker
09 nt!PspSystemThreadStartup
0a nt!KiThreadStartup
1: kd> kv
# ChildEBP RetAddr Args to Child
00 f791abd8 f740d8c7 00000004 00000000 00000007 hal!HalGetBusDataByOffset (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\hals\halacpi\pmbus.c @ 165]
01 f791ac48 f740d0d2 899b00ac 00000000 00000000 ACPI!PciConfigSpaceHandlerWorker+0x29b (FPO: [Non-Fpo]) (CONV: cdecl) [d:\srv03rtm\base\busdrv\acpi\driver\nt\pciopregion.c @ 708]
02 f791acb0 f7407433 899b00ac 00000000 00000000 ACPI!GetPciAddressWorker+0x1e8 (FPO: [Non-Fpo]) (CONV: cdecl) [d:\srv03rtm\base\busdrv\acpi\driver\nt\pciopregion.c @ 1207]
03 f791acd8 f741f89b 899b00ac 00000000 897a75ec ACPI!ACPIGetWorkerForInteger+0xcf (FPO: [Non-Fpo]) (CONV: cdecl) [d:\srv03rtm\base\busdrv\acpi\driver\nt\get.c @ 4814]
04 f791ad10 f741d905 f7407364 00000000 f743a934 ACPI!AsyncCallBack+0xe7 (FPO: [Non-Fpo]) (CONV: cdecl) [d:\srv03rtm\base\busdrv\acpi\driver\amlinew\sync.c @ 81]
05 f791ad34 f742042d 00000000 f7433d3c f743a928 ACPI!RunContext+0x1f5 (FPO: [Non-Fpo]) (CONV: cdecl) [d:\srv03rtm\base\busdrv\acpi\driver\amlinew\ctxt.c @ 649]
06 f791ad4c f74204ec f743a950 f743b318 f743a9b8 ACPI!DispatchCtxtQueue+0xaf (FPO: [Non-Fpo]) (CONV: cdecl) [d:\srv03rtm\base\busdrv\acpi\driver\amlinew\sched.c @ 150]
07 f791ad64 f74133c5 f743a928 00000000 89981ca0 ACPI!StartTimeSlicePassive+0x57 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\amlinew\sched.c @ 107]
08 f791adac 80d391f0 00000000 00000000 00000000 ACPI!ACPIWorker+0xbf (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\busdrv\acpi\driver\nt\worker.c @ 302]
09 f791addc 80b00d52 f7413306 00000000 00000000 nt!PspSystemThreadStartup+0x2e (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\ps\create.c @ 2213]
0a 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16 [d:\srv03rtm\base\ntos\ke\i386\threadbg.asm @ 81]
1: kd> db 899b00ac
899b00ac 68 00 9b 89 f0 00 9b 89-ac ff 9a 89 00 00 00 00 h...............
899b00bc 5f 42 42 4e 30 f3 9a 89-68 00 9b 89 00 00 01 00 _BBN0...h.......
899b00cc 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899b00dc 00 00 00 00 00 00 00 00-48 4e 53 4f 44 00 00 00 ........HNSOD...
899b00ec 00 f0 9a 89 ac 00 9b 89-90 01 9b 89 ac ff 9a 89 ................
899b00fc 00 00 00 00 5f 41 44 52-30 f3 9a 89 ac 00 9b 89 ...._ADR0.......
899b010c 00 00 01 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899b011c 00 00 00 00 00 00 00 00-00 00 00 00 48 4f 52 47 ............HORG
1: kd> gu
Breakpoint 53 hit
eax=00000001 ebx=897a73a8 ecx=00000000 edx=00000cf8 esi=00000000 edi=00000000
eip=f740d8c7 esp=f791abf8 ebp=f791ac48 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!PciConfigSpaceHandlerWorker+0x29b:
f740d8c7 8bf0 mov esi,eax
1: kd>db 0x89867e78
89867e780900 00 00 00 00 00 00-00 00 00 00 08 00 00 00 ................


Device (ISA)
{
Name (_ADR, 0x00070000) // _ADR: Address


OperationRegion (PIRX, PCI_Config, 0x60, 0x04)
Field (PIRX, DWordAcc, NoLock, Preserve)
{
AccessAs (ByteAcc, 0x00),
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8
}

Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID
Name (_UID, 0x01) // _UID: Unique ID

Method (_STA, 0, NotSerialized) // _STA: Status
{
If (And (PIRA, 0x80))
{
Return (0x09)
}

Return (0x0B)
}

}


1: kd> g
Breakpoint 58 hit
eax=00000001 ebx=897a73a8 ecx=00000000 edx=00000cf8 esi=00000001 edi=00000000
eip=f740d8e4 esp=f791abf8 ebp=f791ac48 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!PciConfigSpaceHandlerWorker+0x2b8:
f740d8e4 33f6 xor esi,esi
1: kd> dt PCI_CONFIG_STATE 897a73a8
ACPI!PCI_CONFIG_STATE
+0x000 AccessType : 0
+0x004 OpRegion : 0x899b3ab0 _NSObj
+0x008 Address : 0x60
+0x00c Size : 1
+0x010 Data : 0x89867e78 -> 9
+0x014 Context : 0
+0x018 CompletionHandler : 0xf7420914 Void
+0x01c CompletionContext : 0x898660ac Void
+0x020 PciObj : 0x899b2278 _NSObj
+0x024 ParentObj : (null)
+0x028 CompletionHandlerType : 0
+0x02c Flags : 0x1100
+0x030 RunCompletion : 0n2
+0x034 Slot : _PCI_SLOT_NUMBER
+0x038 Bus : 0 ''
+0x039 IsPciDeviceResult : 0 ''
1: kd> db 0x899b3ab0
899b3ab0 f4 36 9b 89 f4 3a 9b 89-78 22 9b 89 00 00 00 00 .6...:..x"......
899b3ac0 50 49 52 58 30 f3 9a 89-e0 39 9b 89 00 00 0a 00PIRX0....9......
899b3ad0 00 00 00 00 00 00 00 00-18 00 00 00 00 22 9b 89 ............."..
899b3ae0 78 22 9b 89 00 00 00 00-48 4e 53 4f 44 00 00 00 x"......HNSOD...
899b3af0 00 f0 9a 89 b0 3a 9b 89-38 3b 9b 89 78 22 9b 89 .....:..8;..x"..
899b3b00 00 00 00 00 00 00 00 00-30 f3 9a 89 b0 3a 9b 89 ........0....:..
899b3b10 00 00 83 00 00 00 00 00-00 00 00 00 04 00 00 00 ................
899b3b20 3c 0b 9b 89 00 00 00 00-00 00 00 00 48 4e 53 4f <...........HNSO
1: kd> db 0x899b2278
899b2278 bc 21 9b 89 68 3c 9b 89-ac ff 9a 89 bc 22 9b 89 .!..h<......."..
899b2288 49 53 41 5f 30 f3 9a 89-34 22 9b 89 00 00 06 00ISA_0...4"......
899b2298 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899b22a8 88 0a 9c 89 00 00 00 00-48 4e 53 4f 44 00 00 00 ........HNSOD...
899b22b8 00 f0 9a 89 0c e5 9b 89-00 23 9b 89 78 22 9b 89 .........#..x"..
899b22c8 00 00 00 00 5f 41 44 52-30 f3 9a 89 78 22 9b 89 ...._ADR0...x"..
899b22d8 00 00 01 00 00 00 00 00-00 00 07 00 00 00 00 00 ................
899b22e8 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO

第二部分:LNKB

1: kd> g
Breakpoint 51 hit
eax=00000000 ebx=897a72c0 ecx=00000100 edx=899b3ab0 esi=00000000 edi=00000000
eip=804f25ee esp=f791abdc ebp=f791ac48 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
hal!HalGetBusDataByOffset:
804f25ee 55 push ebp
1: kd> dv
BusDataType = PCIConfiguration (0n4)
BusNumber = 0
SlotNumber = 7
Buffer = 0x89865e78
Offset = 0x61
Length = 1
bus = struct _BUS_HANDLER
1: kd> gu
Breakpoint 53 hit
eax=00000001 ebx=897a72c0 ecx=00000000 edx=00000cf8 esi=00000000 edi=00000000
eip=f740d8c7 esp=f791abf8 ebp=f791ac48 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!PciConfigSpaceHandlerWorker+0x29b:
f740d8c7 8bf0 mov esi,eax
1: kd> db 0x89865e78
89865e780b00 00 00 01 00 00 00-00 00 00 00 08 00 00 00 ................

Method (_STA, 0, NotSerialized) // _STA: Status
{
If (And (PIRB, 0x80))
{
Return (0x09)
}

Return (0x0B)
}

第三部分:LNKC
1: kd> g
Breakpoint 51 hit
eax=00000000 ebx=897a71d8 ecx=00000100 edx=899b3ab0 esi=00000000 edi=00000000
eip=804f25ee esp=f791abdc ebp=f791ac48 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
hal!HalGetBusDataByOffset:
804f25ee 55 push ebp
1: kd> dv
BusDataType = PCIConfiguration (0n4)
BusNumber = 0
SlotNumber = 7
Buffer = 0x89863e78
Offset = 0x62
Length = 1
bus = struct _BUS_HANDLER
1: kd> gu
Breakpoint 53 hit
eax=00000001 ebx=897a71d8 ecx=00000000 edx=00000cf8 esi=00000000 edi=00000000
eip=f740d8c7 esp=f791abf8 ebp=f791ac48 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!PciConfigSpaceHandlerWorker+0x29b:
f740d8c7 8bf0 mov esi,eax
1: kd> db 0x89863e78
89863e780a00 00 00 02 00 00 00-00 00 00 00 08 00 00 00 ................

Method (_STA, 0, NotSerialized) // _STA: Status
{
If (And (PIRC, 0x80))
{
Return (0x09)
}

Return (0x0B)
}

第四部分:LNKD

1: kd> g
Breakpoint 51 hit
eax=00000000 ebx=897a70f0 ecx=00000100 edx=899b3ab0 esi=00000000 edi=00000000
eip=804f25ee esp=f791abdc ebp=f791ac48 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
hal!HalGetBusDataByOffset:
804f25ee 55 push ebp
1: kd> dv
BusDataType = PCIConfiguration (0n4)
BusNumber = 0
SlotNumber = 7
Buffer = 0x89861e78
Offset = 0x63
Length = 1
bus = struct _BUS_HANDLER
1: kd> gu
Breakpoint 53 hit
eax=00000001 ebx=897a70f0 ecx=00000000 edx=00000cf8 esi=00000000 edi=00000000
eip=f740d8c7 esp=f791abf8 ebp=f791ac48 iopl=0 nv up ei pl nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000202
ACPI!PciConfigSpaceHandlerWorker+0x29b:
f740d8c7 8bf0 mov esi,eax
1: kd> db 0x89861e78
89861e780700 00 00 03 00 00 00-00 00 00 00 08 00 00 00 ................

Method (_STA, 0, NotSerialized) // _STA: Status
{
If (And (PIRD, 0x80))
{
Return (0x09)
}

Return (0x0B)
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/23 10:37:12

1小时打造洛雪音源在线播放器原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 快速开发一个洛雪音源在线播放器原型。前端使用Vue.js&#xff0c;实现歌曲搜索、列表展示、播放控制等基本功能。后端使用Node.js处理API请求&#xff0c;要求支持播放历史记录和…

作者头像 李华
网站建设 2026/1/23 10:35:32

Wise Force Deleter,文件强制删除神器

Wise Force Deleter&#xff0c;文件强制删除神器 谁懂啊&#xff01;电脑里总有几个顽固文件删不掉&#xff0c;试了火绒之类的工具又不好用&#xff0c;弹窗提示 “文件正在使用” 的瞬间真的想抓狂。 下载地址&#xff1a;https://pan.quark.cn/s/13f362c7a16a 备用地址&…

作者头像 李华
网站建设 2026/1/23 10:35:29

Z-Image-Turbo为何首选?开源可部署+高算力适配全面解析

Z-Image-Turbo为何首选&#xff1f;开源可部署高算力适配全面解析 1. 为什么Z-Image-Turbo值得你立刻上手 你有没有试过等一张图生成要两分钟&#xff0c;结果发现细节糊了、文字歪了、光影不自然&#xff1f;或者好不容易配好环境&#xff0c;却卡在模型下载失败、显存爆满、…

作者头像 李华
网站建设 2026/1/23 10:33:23

用YOLOv13做了个智能监控系统,效果超出预期

用YOLOv13做了个智能监控系统&#xff0c;效果超出预期 在安防与工业视觉领域&#xff0c;一个真正“好用”的智能监控系统&#xff0c;从来不是靠堆算力换来的——而是要在低延迟、高精度、易部署之间找到那个微妙的平衡点。过去半年&#xff0c;我用 YOLOv13 官版镜像 搭建了…

作者头像 李华
网站建设 2026/1/23 10:33:12

JS开发新手必看:轻松理解API废弃警告

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个交互式学习模块&#xff0c;通过简单示例向新手开发者解释JS API废弃概念。包含&#xff1a;1) 什么是API废弃 2) 为什么会出现警告 3) 如何查找文档 4) 基础替换示例。使…

作者头像 李华
网站建设 2026/1/23 10:32:57

企业级网络实战:用Cisco Packet Tracer模拟真实场景

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个包含5个企业级网络场景的Packet Tracer教学模块&#xff1a;1) 多分支机构VPN互联&#xff1b;2) 数据中心网络架构&#xff1b;3) 无线网络部署与优化&#xff1b;4) 网络…

作者头像 李华