news 2026/6/17 1:59:31

节点P2P0的子节点S7F0为什么返回状态是存在因为0x0000FFFF和0xFFFFFFFF不相等ACPI!LogOp2和ACPI!ExprOp2和ACPI!ExprOp1

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
节点P2P0的子节点S7F0为什么返回状态是存在因为0x0000FFFF和0xFFFFFFFF不相等ACPI!LogOp2和ACPI!ExprOp2和ACPI!ExprOp1

节点P2P0的子节点S7F0为什么返回状态是存在因为0x0000FFFF和0xFFFFFFFF不相等ACPI!LogOp2和ACPI!ExprOp2和ACPI!ExprOp1

Method (PSTA, 2, NotSerialized)
{
Return (And (Arg0, Not (LEqual (Arg1, 0xFFFFFFFF))))
}


Device (P2P0)
{
Name (_ADR, 0x00110000) // _ADR: Address

Method (BSTA, 1, NotSerialized)
{
Return (PSTA (_STA (), Arg0))
}

OperationRegion (REGS, PCI_Config, 0x00, 0x04)
Field (REGS, DWordAcc, NoLock, Preserve)
{
ID, 32
}

Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (And (LEqual (ID, 0x079015AD), 0x0F))
}


Device (S7F0)
{
Name (_ADR, 0x00060000) // _ADR: Address
Name (_SUN, 0x26) // _SUN: Slot User Number
OperationRegion (REGS, PCI_Config, 0x00, 0x04)
Field (REGS, DWordAcc, NoLock, Preserve)
{
ID, 32
}

Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (BSTA (ID))
}


1: kd> g
Breakpoint 72 hit
eax=f7423d65 ebx=897f4000 ecx=f743960c edx=00000000 esi=897f5bec edi=00000001
eip=f7423d65 esp=f791acf4 ebp=f791ad0c iopl=0 nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000286
ACPI!LogOp2:
f7423d65 55 push ebp
1: kd> dv
pctxt = 0x897f4000
pterm = 0x897f5bec
rc = 0n-1988142100
1: kd> dx -r1 ((ACPI!_term *)0x897f5bec)
((ACPI!_term *)0x897f5bec) : 0x897f5bec [Type: _term *]
[+0x000] FrameHdr [Type: _framehdr]
[+0x010] pbOpTerm : 0x8996cbc1 : 0x93 [Type: unsigned char *]
[+0x014] pbOpEnd : 0x0 [Type: unsigned char *]
[+0x018] pbScopeEnd : 0x0 [Type: unsigned char *]
[+0x01c] pamlterm : 0xf7439310 [Type: _amlterm *]
[+0x020] pnsObj : 0x0 [Type: _NSObj *]
[+0x024] iArg : 2 [Type: int]
[+0x028] icArgs : 2 [Type: int]
[+0x02c] pdataArgs : 0x897f4264 [Type: _ObjData *]
[+0x030] pdataResult : 0x897f4230 [Type: _ObjData *]
1: kd> dx -r1 ((ACPI!_ObjData *)0x897f4264)
((ACPI!_ObjData *)0x897f4264) : 0x897f4264 [Type: _ObjData *]
[+0x000] dwfData : 0x0 [Type: unsigned short]
[+0x002] dwDataType : 0x1 [Type: unsigned short]
[+0x004] dwRefCount : 0x0 [Type: unsigned long]
[+0x004] pdataBase : 0x0 [Type: _ObjData *]
[+0x008] dwDataValue : 0xffff [Type: unsigned long]
[+0x008] uipDataValue : 0xffff [Type: unsigned long]
[+0x008] pnsAlias : 0xffff [Type: _NSObj *]
[+0x008] pdataAlias : 0xffff [Type: _ObjData *]
[+0x008] powner : 0xffff [Type: void *]
[+0x00c] dwDataLen : 0x0 [Type: unsigned long]
[+0x010] pbDataBuff : 0x0 [Type: unsigned char *]
1: kd> dt ACPI!_ObjData 0x897f4264+14
+0x000 dwfData : 0
+0x002 dwDataType : 1
+0x004 dwRefCount : 0
+0x004 pdataBase : (null)
+0x008 dwDataValue : 0xffffffff
+0x008 uipDataValue : 0xffffffff
+0x008 pnsAlias : 0xffffffff _NSObj
+0x008 pdataAlias : 0xffffffff _ObjData
+0x008 powner : 0xffffffff Void
+0x00c dwDataLen : 0
+0x010 pbDataBuff : (null)
1: kd> gu
eax=00000000 ebx=897f4000 ecx=0000ffff edx=00000000 esi=897f5bec edi=00000001
eip=f7427bf3 esp=f791acf8 ebp=f791ad0c iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ParseTerm+0x1bf:
f7427bf3 85c0 test eax,eax
1: kd> dx -r1 ((ACPI!_ObjData *)0x897f4230)
((ACPI!_ObjData *)0x897f4230) : 0x897f4230 [Type: _ObjData *]
[+0x000] dwfData : 0x0 [Type: unsigned short]
[+0x002] dwDataType : 0x1 [Type: unsigned short]
[+0x004] dwRefCount : 0x0 [Type: unsigned long]
[+0x004] pdataBase : 0x0 [Type: _ObjData *]
[+0x008] dwDataValue : 0x0 [Type: unsigned long]
[+0x008] uipDataValue : 0x0 [Type: unsigned long]
[+0x008] pnsAlias : 0x0 [Type: _NSObj *]
[+0x008] pdataAlias : 0x0 [Type: _ObjData *]
[+0x008] powner : 0x0 [Type: void *]
[+0x00c] dwDataLen : 0x0 [Type: unsigned long]
[+0x010] pbDataBuff : 0x0 [Type: unsigned char *]

1: kd> g
Breakpoint 74 hit
eax=00000000 ebx=f743a948 ecx=897f4000 edx=897f4000 esi=897f4000 edi=897f5c20
eip=f7427a34 esp=f791ad10 ebp=f791ad34 iopl=0 nv up ei ng nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000282
ACPI!ParseTerm:
f7427a34 55 push ebp
1: kd> dv
pctxt = 0x897f4000
pterm = 0x897f5c20
rc = 0n0
1: kd> dx -r1 ((ACPI!_term *)0x897f5c20)
((ACPI!_term *)0x897f5c20) : 0x897f5c20 [Type: _term *]
[+0x000] FrameHdr [Type: _framehdr]
[+0x010] pbOpTerm : 0x8996cbc0 : 0x80 [Type: unsigned char *]
[+0x014] pbOpEnd : 0x0 [Type: unsigned char *]
[+0x018] pbScopeEnd : 0x0 [Type: unsigned char *]
[+0x01c] pamlterm : 0xf7439430 [Type: _amlterm *]
[+0x020] pnsObj : 0x0 [Type: _NSObj *]
[+0x024] iArg : 1 [Type: int]
[+0x028] icArgs : 2 [Type: int]
[+0x02c] pdataArgs : 0x897f4230 [Type: _ObjData *]
[+0x030] pdataResult : 0x897f41fc [Type: _ObjData *]
1: kd> dx -r1 ((ACPI!_amlterm *)0xf7439430)
((ACPI!_amlterm *)0xf7439430) : 0xf7439430 [Type: _amlterm *]
[+0x000] pszTermName : 0xf742c4e8 : "Not" [Type: char *]
[+0x004] dwOpcode : 0x80 [Type: unsigned long]
[+0x008] pszArgTypes : 0xf742c574 : "CS" [Type: char *]
[+0x00c] dwTermClass : 0x4 [Type: unsigned long]
[+0x010] dwfOpcode : 0x0 [Type: unsigned long]
[+0x014] pfnCallBack : 0x0 [Type: long (__cdecl*)(unsigned long,unsigned long,_NSObj *,unsigned long)]
[+0x018] dwCBData : 0x0 [Type: unsigned long]
[+0x01c] pfnOpcode : 0xf7422f65 [Type: long (__cdecl*)()]
1: kd> u f7422f65
ACPI!ExprOp1 [d:\srv03rtm\base\busdrv\acpi\driver\amlinew\type2op.c @ 484]:
f7422f65 55 push ebp
f7422f66 8bec mov ebp,esp
f7422f68 51 push ecx
f7422f69 53 push ebx
f7422f6a 56 push esi
f7422f6b 57 push edi
f7422f6c 6a01 push 1
f7422f6e bec44f43f7 mov esi,offset ACPI!`string' (f7434fc4)


case OP_NOT:
ENTER(2, ("Not(Value=%x)\n",
pterm->pdataArgs[0].uipDataValue));
dwResult = ~(ULONG)pterm->pdataArgs[0].uipDataValue;
EXIT(2, ("Not=%x (Result=%x)\n", rc, dwResult));
}

pterm->pdataResult->dwDataType = OBJTYPE_INTDATA;
pterm->pdataResult->uipDataValue = (ULONG_PTR)dwResult;
rc = WriteObject(pctxt, pdata, pterm->pdataResult);
}

EXIT(2, ("ExprOp1=%x (value=%x)\n", rc, dwResult));
return rc;
} //ExprOp1

1: kd> gu
eax=00000000 ebx=897f4000 ecx=00000000 edx=897f4000 esi=897f5c20 edi=00000001
eip=f7427bf3 esp=f791acf8 ebp=f791ad0c iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ParseTerm+0x1bf:
f7427bf3 85c0 test eax,eax
1: kd> dx -r1 ((ACPI!_term *)0x897f5c20)
((ACPI!_term *)0x897f5c20) : 0x897f5c20 [Type: _term *]
[+0x000] FrameHdr [Type: _framehdr]
[+0x010] pbOpTerm : 0x8996cbc0 : 0x80 [Type: unsigned char *]
[+0x014] pbOpEnd : 0x0 [Type: unsigned char *]
[+0x018] pbScopeEnd : 0x0 [Type: unsigned char *]
[+0x01c] pamlterm : 0xf7439430 [Type: _amlterm *]
[+0x020] pnsObj : 0x0 [Type: _NSObj *]
[+0x024] iArg : 2 [Type: int]
[+0x028] icArgs : 2 [Type: int]
[+0x02c] pdataArgs : 0x897f4230 [Type: _ObjData *]
[+0x030] pdataResult : 0x897f41fc [Type: _ObjData *]
1: kd> dx -r1 ((ACPI!_ObjData *)0x897f41fc)
((ACPI!_ObjData *)0x897f41fc) : 0x897f41fc [Type: _ObjData *]
[+0x000] dwfData : 0x0 [Type: unsigned short]
[+0x002] dwDataType : 0x1 [Type: unsigned short]
[+0x004] dwRefCount : 0x0 [Type: unsigned long]
[+0x004] pdataBase : 0x0 [Type: _ObjData *]
[+0x008] dwDataValue : 0xffffffff [Type: unsigned long]
[+0x008] uipDataValue : 0xffffffff [Type: unsigned long]
[+0x008] pnsAlias : 0xffffffff [Type: _NSObj *]
[+0x008] pdataAlias : 0xffffffff [Type: _ObjData *]
[+0x008] powner : 0xffffffff [Type: void *]
[+0x00c] dwDataLen : 0x0 [Type: unsigned long]
[+0x010] pbDataBuff : 0x0 [Type: unsigned char *]


Method (PSTA, 2, NotSerialized)
{
Return (And (Arg0, Not (LEqual (Arg1, 0xFFFFFFFF))))
}


1: kd> g
Breakpoint 74 hit
eax=00000000 ebx=f743a948 ecx=897f4000 edx=897f4000 esi=897f4000 edi=897f5c54
eip=f7427a34 esp=f791ad10 ebp=f791ad34 iopl=0 nv up ei ng nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000282
ACPI!ParseTerm:
f7427a34 55 push ebp
1: kd> dv
pctxt = 0x897f4000
pterm = 0x897f5c54
rc = 0n0
1: kd> dx -r1 ((ACPI!_term *)0x897f5c54)
((ACPI!_term *)0x897f5c54) : 0x897f5c54 [Type: _term *]
[+0x000] FrameHdr [Type: _framehdr]
[+0x010] pbOpTerm : 0x8996cbbe : 0x7b [Type: unsigned char *]
[+0x014] pbOpEnd : 0x0 [Type: unsigned char *]
[+0x018] pbScopeEnd : 0x0 [Type: unsigned char *]
[+0x01c] pamlterm : 0xf7439170 [Type: _amlterm *]
[+0x020] pnsObj : 0x0 [Type: _NSObj *]
[+0x024] iArg : 2 [Type: int]
[+0x028] icArgs : 3 [Type: int]
[+0x02c] pdataArgs : 0x897f41e8 [Type: _ObjData *]
[+0x030] pdataResult : 0x897f41c8 [Type: _ObjData *]
1: kd> dx -r1 ((ACPI!_amlterm *)0xf7439170)
((ACPI!_amlterm *)0xf7439170) : 0xf7439170 [Type: _amlterm *]
[+0x000] pszTermName : 0xf742c5d0 : "And" [Type: char *]
[+0x004] dwOpcode : 0x7b [Type: unsigned long]
[+0x008] pszArgTypes : 0xf742c5d4 : "CCS" [Type: char *]
[+0x00c] dwTermClass : 0x4 [Type: unsigned long]
[+0x010] dwfOpcode : 0x0 [Type: unsigned long]
[+0x014] pfnCallBack : 0x0 [Type: long (__cdecl*)(unsigned long,unsigned long,_NSObj *,unsigned long)]
[+0x018] dwCBData : 0x0 [Type: unsigned long]
[+0x01c] pfnOpcode : 0xf742328a [Type: long (__cdecl*)()]
1: kd> u f742328a
ACPI!ExprOp2 [d:\srv03rtm\base\busdrv\acpi\driver\amlinew\type2op.c @ 584]:
f742328a 55 push ebp
f742328b 8bec mov ebp,esp
f742328d 51 push ecx
f742328e 53 push ebx
f742328f 56 push esi
f7423290 57 push edi
f7423291 6a01 push 1
f7423293 bf245243f7 mov edi,offset ACPI!`string' (f7435224)


1: kd> g
Breakpoint 75 hit
eax=f742328a ebx=897f4000 ecx=897f4100 edx=897f4000 esi=897f5c54 edi=00000002
eip=f742328a esp=f791acf4 ebp=f791ad0c iopl=0 nv up ei ng nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000282
ACPI!ExprOp2:
f742328a 55 push ebp
1: kd> dv
pctxt = 0x897f4000
pterm = 0x897f5c54
pdata = 0x00000008
rc = 0n-1988141996
1: kd> dx -r1 ((ACPI!_term *)0x897f5c54)
((ACPI!_term *)0x897f5c54) : 0x897f5c54 [Type: _term *]
[+0x000] FrameHdr [Type: _framehdr]
[+0x010] pbOpTerm : 0x8996cbbe : 0x7b [Type: unsigned char *]
[+0x014] pbOpEnd : 0x0 [Type: unsigned char *]
[+0x018] pbScopeEnd : 0x0 [Type: unsigned char *]
[+0x01c] pamlterm : 0xf7439170 [Type: _amlterm *]
[+0x020] pnsObj : 0x0 [Type: _NSObj *]
[+0x024] iArg : 3 [Type: int]
[+0x028] icArgs : 3 [Type: int]
[+0x02c] pdataArgs : 0x897f41e8 [Type: _ObjData *]
[+0x030] pdataResult : 0x897f41c8 [Type: _ObjData *]
1: kd> dx -r1 ((ACPI!_ObjData *)0x897f41e8)
((ACPI!_ObjData *)0x897f41e8) : 0x897f41e8 [Type: _ObjData *]
[+0x000] dwfData : 0x0 [Type: unsigned short]
[+0x002] dwDataType : 0x1 [Type: unsigned short]
[+0x004] dwRefCount : 0x0 [Type: unsigned long]
[+0x004] pdataBase : 0x0 [Type: _ObjData *]
[+0x008] dwDataValue : 0xf [Type: unsigned long]
[+0x008] uipDataValue : 0xf [Type: unsigned long]
[+0x008] pnsAlias : 0xf [Type: _NSObj *]
[+0x008] pdataAlias : 0xf [Type: _ObjData *]
[+0x008] powner : 0xf [Type: void *]
[+0x00c] dwDataLen : 0x0 [Type: unsigned long]
[+0x010] pbDataBuff : 0x0 [Type: unsigned char *]
1: kd> dt ACPI!_ObjData 0x897f41e8+14
+0x000 dwfData : 0
+0x002 dwDataType : 1
+0x004 dwRefCount : 0
+0x004 pdataBase : (null)
+0x008 dwDataValue : 0xffffffff
+0x008 uipDataValue : 0xffffffff
+0x008 pnsAlias : 0xffffffff _NSObj
+0x008 pdataAlias : 0xffffffff _ObjData
+0x008 powner : 0xffffffff Void
+0x00c dwDataLen : 0
+0x010 pbDataBuff : (null)
1: kd> dt ACPI!_ObjData 0x897f41e8+14*2
+0x000 dwfData : 0
+0x002 dwDataType : 0
+0x004 dwRefCount : 0
+0x004 pdataBase : (null)
+0x008 dwDataValue : 0
+0x008 uipDataValue : 0
+0x008 pnsAlias : (null)
+0x008 pdataAlias : (null)
+0x008 powner : (null)
+0x00c dwDataLen : 0
+0x010 pbDataBuff : (null)

1: kd> gu
eax=00000000 ebx=897f4000 ecx=00000000 edx=897f4000 esi=897f5c54 edi=00000002
eip=f7427bf3 esp=f791acf8 ebp=f791ad0c iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000246
ACPI!ParseTerm+0x1bf:
f7427bf3 85c0 test eax,eax
1: kd> dt ACPI!_ObjData 0x897f41e8+14*2
+0x000 dwfData : 0
+0x002 dwDataType : 1
+0x004 dwRefCount : 0
+0x004 pdataBase : (null)
+0x008 dwDataValue : 0xf
+0x008 uipDataValue : 0xf
+0x008 pnsAlias : 0x0000000f _NSObj
+0x008 pdataAlias : 0x0000000f _ObjData
+0x008 powner : 0x0000000f Void
+0x00c dwDataLen : 0
+0x010 pbDataBuff : (null)

1: kd> dx -r1 ((ACPI!_ObjData *)0x897f41c8)
((ACPI!_ObjData *)0x897f41c8) : 0x897f41c8 [Type: _ObjData *]
[+0x000] dwfData : 0x0 [Type: unsigned short]
[+0x002] dwDataType : 0x1 [Type: unsigned short]
[+0x004] dwRefCount : 0x0 [Type: unsigned long]
[+0x004] pdataBase : 0x0 [Type: _ObjData *]
[+0x008] dwDataValue : 0xf [Type: unsigned long]
[+0x008] uipDataValue : 0xf [Type: unsigned long]
[+0x008] pnsAlias : 0xf [Type: _NSObj *]
[+0x008] pdataAlias : 0xf [Type: _ObjData *]
[+0x008] powner : 0xf [Type: void *]
[+0x00c] dwDataLen : 0x0 [Type: unsigned long]
[+0x010] pbDataBuff : 0x0 [Type: unsigned char *]

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

HoRain云--SpringCache与Redis高效整合指南

🎬 HoRain 云小助手:个人主页 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。 目录 ⛳️ 推荐 …

作者头像 李华
网站建设 2026/6/12 15:29:28

别让你的闲置服务器吃灰了!Clawdbot秒级云上部署详细教程

之前买了一台腾讯云轻量服务器在吃灰。 新加坡节点,2核2G,99元1年买的——一直在吃灰,只跑了个测试站。 突然想起最近爆火的 Clawdbot。 何不把它装上去?反正闲着也是闲着。 结果从登录控制台到用上 AI 助理,只花 3…

作者头像 李华
网站建设 2026/6/15 19:16:26

UVa 144 Student Grants

题目理解 本题模拟了一种特殊的学生补助金发放系统。政府为了“劝阻”学生接受高等教育,设计了一套复杂的发放流程: 每位学生每年可获得 404040 美元的补助金,在其生日最近的工作日发放。每天最多有 NNN(1≤N≤251 \leq N \leq …

作者头像 李华
网站建设 2026/6/16 1:50:32

花店管理|基于java + vue花店管理系统(源码+数据库+文档)

花店管理 目录 基于springboot vue花店管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue花店管理系统 一、前言 博主介绍:✌️大…

作者头像 李华
网站建设 2026/6/5 8:02:55

springboot在线选课系统设计

目录系统概述技术架构核心功能性能优化扩展性设计开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统概述 SpringBoot在线选课系统是基于B/S架构的现代化教育管理平台,采用SpringBoot框架简化开发流程,…

作者头像 李华