news 2026/4/18 6:49:15

节点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/4/13 14:16:54

好写作AI:告别论文流水线!如何提速300%还让你的文字“有那味儿”

别让你的论文读起来像AI写的——除非你学会了这一招 “用AI写论文,快是快了,但导师一看就说‘这是机器生成的吧’?” 这大概是许多同学最头疼的问题。今天,好写作AI就教你三招“人机合璧”大法,让你既享受火箭速度&…

作者头像 李华
网站建设 2026/3/27 10:50:49

计算机毕业设计|基于springboot + vue饮食健康管理系统(源码+数据库+文档)

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

作者头像 李华
网站建设 2026/4/3 13:09:43

大学生就业招聘系统(源码+数据库+文档)

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

作者头像 李华
网站建设 2026/4/10 23:58:19

基于springboot 蘑菇百科系统(源码+数据库+文档)

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

作者头像 李华
网站建设 2026/4/17 5:40:25

Scikit-learn API 的哲学与精妙设计:超越“调用即用”的深度解析

Scikit-learn API 的哲学与精妙设计:超越“调用即用”的深度解析 引言:为什么Scikit-learn的API成为机器学习的事实标准? 在机器学习领域,Scikit-learn的API设计几乎成为了行业事实标准。根据2023年Stack Overflow开发者调查&…

作者头像 李华