news 2026/9/2 23:18:25

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/9/2 21:35:37

IQuest-Coder-V1与StarCoderPlus对比:多阶段训练效果评测

IQuest-Coder-V1与StarCoderPlus对比&#xff1a;多阶段训练效果评测 1. 为什么这次对比值得你花5分钟读完 你有没有试过让一个大模型帮你写一段带状态机的Python调度器&#xff0c;或者从零实现一个支持回溯的LeetCode Hard题解&#xff1f;不是简单补全几行代码&#xff0c;而…

作者头像 李华
网站建设 2026/9/2 21:54:37

用GPT-SOVITS快速验证语音交互产品原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 设计一个基于GPT-SOVITS的快速原型平台&#xff0c;用户可以通过简单配置&#xff08;如选择语音风格、输入文本&#xff09;立即生成可交互的语音原型。平台需支持实时调整参数、…

作者头像 李华
网站建设 2026/9/1 22:48:36

MILVUS vs 传统数据库:向量搜索效率对比

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个性能对比测试应用&#xff0c;比较MILVUS和PostgreSQL在向量搜索任务中的表现。功能包括&#xff1a;1. 生成100万条随机向量数据&#xff1b;2. 分别在两种数据库中建立索…

作者头像 李华
网站建设 2026/9/2 21:54:24

CMHHC实战:三甲医院的智能分诊系统开发案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 以某三甲医院急诊科为场景&#xff0c;开发智能分诊系统。输入需求&#xff1a;1) 患者通过小程序输入症状&#xff08;发热程度、疼痛等级等&#xff09;&#xff1b;2) 系统根据…

作者头像 李华
网站建设 2026/9/2 18:00:33

SGLang降本增效实战:CPU/GPU资源利用率提升200%方案

SGLang降本增效实战&#xff1a;CPU/GPU资源利用率提升200%方案 1. 为什么你需要关注SGLang——不是又一个推理框架&#xff0c;而是部署效率的转折点 你有没有遇到过这样的情况&#xff1a;花大价钱买了A100集群&#xff0c;模型一跑起来&#xff0c;GPU显存占满但利用率却只…

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

MySQL8开发环境秒级搭建:快马平台原型开发利器

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个即开即用的MySQL8开发环境原型&#xff0c;包含&#xff1a;1. 预装好的Docker版MySQL8容器 2. 示例数据库&#xff08;电商/博客等常见场景&#xff09;3. 配套的Python/…

作者头像 李华