当前位置: 首页 > news >正文

得到P2P0的子节点S1F0-S32F的ID和PE40-PE77的子节点S1F0的ID之后acpi!greadyqueue有64个节点后需要知道P2P0的_STA的情况阻塞了

得到P2P0的子节点S1F0-S32F的ID和PE40-PE77的子节点S1F0的ID之后acpi!greadyqueue有64个节点后需要知道P2P0的_STA的情况阻塞了。


1: kd> x acpi!greadyqueue
f743a928 ACPI!gReadyQueue = struct _ctxtq
1: kd> dx -r1 (*((ACPI!_ctxtq *)0xf743a928))
(*((ACPI!_ctxtq *)0xf743a928)) [Type: _ctxtq]
[+0x000] dwfCtxtQ : 0x1 [Type: unsigned long]
[+0x004] pkthCurrent : 0x89981ca0 [Type: _KTHREAD *]
[+0x008] pctxtCurrent : 0x897e4000 [Type: _ctxt *]
[+0x00c] plistCtxtQ : 0x897e6010 [Type: _List *]
[+0x010] dwmsTimeSliceLength : 0x64 [Type: unsigned long]
[+0x014] dwmsTimeSliceInterval : 0x64 [Type: unsigned long]
[+0x018] pfnPauseCallback : 0x0 [Type: void (__cdecl*)(void *)]
[+0x01c] PauseCBContext : 0x0 [Type: void *]
[+0x020] mutCtxtQ [Type: _mutex]
[+0x028] Timer [Type: _KTIMER]
[+0x050] DpcStartTimeSlice [Type: _KDPC]
[+0x070] DpcExpireTimeSlice [Type: _KDPC]
[+0x090] WorkItem [Type: _WORK_QUEUE_ITEM]
1: kd> dx -r1 ((ACPI!_List *)0x897e6010)
((ACPI!_List *)0x897e6010) : 0x897e6010 [Type: _List *] 1
[+0x000] plistPrev : 0x898a2010 [Type: _List *]
[+0x004] plistNext : 0x897e8010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898a2010)
((ACPI!_List *)0x898a2010) : 0x898a2010 [Type: _List *]
[+0x000] plistPrev : 0x898a4010 [Type: _List *]
[+0x004] plistNext : 0x897e6010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898a4010)
((ACPI!_List *)0x898a4010) : 0x898a4010 [Type: _List *]
[+0x000] plistPrev : 0x898a6010 [Type: _List *]
[+0x004] plistNext : 0x898a2010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898a6010)
((ACPI!_List *)0x898a6010) : 0x898a6010 [Type: _List *]
[+0x000] plistPrev : 0x898a9010 [Type: _List *]
[+0x004] plistNext : 0x898a4010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898a9010)
((ACPI!_List *)0x898a9010) : 0x898a9010 [Type: _List *] 5
[+0x000] plistPrev : 0x898ab010 [Type: _List *]
[+0x004] plistNext : 0x898a6010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898ab010)
((ACPI!_List *)0x898ab010) : 0x898ab010 [Type: _List *]
[+0x000] plistPrev : 0x898ad010 [Type: _List *]
[+0x004] plistNext : 0x898a9010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898ad010)
((ACPI!_List *)0x898ad010) : 0x898ad010 [Type: _List *]
[+0x000] plistPrev : 0x898af010 [Type: _List *]
[+0x004] plistNext : 0x898ab010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898af010)
((ACPI!_List *)0x898af010) : 0x898af010 [Type: _List *]
[+0x000] plistPrev : 0x898b1010 [Type: _List *]
[+0x004] plistNext : 0x898ad010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898b1010)
((ACPI!_List *)0x898b1010) : 0x898b1010 [Type: _List *]
[+0x000] plistPrev : 0x898b3010 [Type: _List *]
[+0x004] plistNext : 0x898af010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898b3010)
((ACPI!_List *)0x898b3010) : 0x898b3010 [Type: _List *] 10
[+0x000] plistPrev : 0x898b5010 [Type: _List *]
[+0x004] plistNext : 0x898b1010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898b5010)
((ACPI!_List *)0x898b5010) : 0x898b5010 [Type: _List *]
[+0x000] plistPrev : 0x898b7010 [Type: _List *]
[+0x004] plistNext : 0x898b3010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898b7010)
((ACPI!_List *)0x898b7010) : 0x898b7010 [Type: _List *]
[+0x000] plistPrev : 0x898b9010 [Type: _List *]
[+0x004] plistNext : 0x898b5010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898b9010)
((ACPI!_List *)0x898b9010) : 0x898b9010 [Type: _List *]
[+0x000] plistPrev : 0x898bb010 [Type: _List *]
[+0x004] plistNext : 0x898b7010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898bb010)
((ACPI!_List *)0x898bb010) : 0x898bb010 [Type: _List *]
[+0x000] plistPrev : 0x898bd010 [Type: _List *]
[+0x004] plistNext : 0x898b9010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898bd010)
((ACPI!_List *)0x898bd010) : 0x898bd010 [Type: _List *] 15
[+0x000] plistPrev : 0x898bf010 [Type: _List *]
[+0x004] plistNext : 0x898bb010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898bf010)
((ACPI!_List *)0x898bf010) : 0x898bf010 [Type: _List *]
[+0x000] plistPrev : 0x898c1010 [Type: _List *]
[+0x004] plistNext : 0x898bd010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898c1010)
((ACPI!_List *)0x898c1010) : 0x898c1010 [Type: _List *]
[+0x000] plistPrev : 0x898c3010 [Type: _List *]
[+0x004] plistNext : 0x898bf010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898c3010)
((ACPI!_List *)0x898c3010) : 0x898c3010 [Type: _List *]
[+0x000] plistPrev : 0x898c5010 [Type: _List *]
[+0x004] plistNext : 0x898c1010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898c5010)
((ACPI!_List *)0x898c5010) : 0x898c5010 [Type: _List *]
[+0x000] plistPrev : 0x898c7010 [Type: _List *]
[+0x004] plistNext : 0x898c3010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898c7010)
((ACPI!_List *)0x898c7010) : 0x898c7010 [Type: _List *] 20
[+0x000] plistPrev : 0x898c9010 [Type: _List *]
[+0x004] plistNext : 0x898c5010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898c9010)
((ACPI!_List *)0x898c9010) : 0x898c9010 [Type: _List *]
[+0x000] plistPrev : 0x898cb010 [Type: _List *]
[+0x004] plistNext : 0x898c7010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898cb010)
((ACPI!_List *)0x898cb010) : 0x898cb010 [Type: _List *]
[+0x000] plistPrev : 0x898cd010 [Type: _List *]
[+0x004] plistNext : 0x898c9010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898cd010)
((ACPI!_List *)0x898cd010) : 0x898cd010 [Type: _List *]
[+0x000] plistPrev : 0x898cf010 [Type: _List *]
[+0x004] plistNext : 0x898cb010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898cf010)
((ACPI!_List *)0x898cf010) : 0x898cf010 [Type: _List *]
[+0x000] plistPrev : 0x898d1010 [Type: _List *]
[+0x004] plistNext : 0x898cd010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898d1010)
((ACPI!_List *)0x898d1010) : 0x898d1010 [Type: _List *] 25
[+0x000] plistPrev : 0x898d3010 [Type: _List *]
[+0x004] plistNext : 0x898cf010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898d3010)
((ACPI!_List *)0x898d3010) : 0x898d3010 [Type: _List *]
[+0x000] plistPrev : 0x898d5010 [Type: _List *]
[+0x004] plistNext : 0x898d1010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898d5010)
((ACPI!_List *)0x898d5010) : 0x898d5010 [Type: _List *]
[+0x000] plistPrev : 0x898d7010 [Type: _List *]
[+0x004] plistNext : 0x898d3010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898d7010)
((ACPI!_List *)0x898d7010) : 0x898d7010 [Type: _List *]
[+0x000] plistPrev : 0x898d9010 [Type: _List *]
[+0x004] plistNext : 0x898d5010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898d9010)
((ACPI!_List *)0x898d9010) : 0x898d9010 [Type: _List *]
[+0x000] plistPrev : 0x898e9010 [Type: _List *]
[+0x004] plistNext : 0x898d7010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898e9010)
((ACPI!_List *)0x898e9010) : 0x898e9010 [Type: _List *] 30
[+0x000] plistPrev : 0x898eb010 [Type: _List *]
[+0x004] plistNext : 0x898d9010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898eb010)
((ACPI!_List *)0x898eb010) : 0x898eb010 [Type: _List *]
[+0x000] plistPrev : 0x898ed010 [Type: _List *]
[+0x004] plistNext : 0x898e9010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898ed010)
((ACPI!_List *)0x898ed010) : 0x898ed010 [Type: _List *]
[+0x000] plistPrev : 0x898ef010 [Type: _List *]
[+0x004] plistNext : 0x898eb010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898ef010)
((ACPI!_List *)0x898ef010) : 0x898ef010 [Type: _List *]
[+0x000] plistPrev : 0x8981d010 [Type: _List *]
[+0x004] plistNext : 0x898ed010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x8981d010)
((ACPI!_List *)0x8981d010) : 0x8981d010 [Type: _List *]
[+0x000] plistPrev : 0x89787010 [Type: _List *]
[+0x004] plistNext : 0x898ef010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x89787010)
((ACPI!_List *)0x89787010) : 0x89787010 [Type: _List *] 35
[+0x000] plistPrev : 0x89785010 [Type: _List *]
[+0x004] plistNext : 0x8981d010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x89785010)
((ACPI!_List *)0x89785010) : 0x89785010 [Type: _List *]
[+0x000] plistPrev : 0x89783010 [Type: _List *]
[+0x004] plistNext : 0x89787010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x89783010)
((ACPI!_List *)0x89783010) : 0x89783010 [Type: _List *]
[+0x000] plistPrev : 0x8981b010 [Type: _List *]
[+0x004] plistNext : 0x89785010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x8981b010)
((ACPI!_List *)0x8981b010) : 0x8981b010 [Type: _List *]
[+0x000] plistPrev : 0x898f8010 [Type: _List *]
[+0x004] plistNext : 0x89783010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898f8010)
((ACPI!_List *)0x898f8010) : 0x898f8010 [Type: _List *]
[+0x000] plistPrev : 0x89903010 [Type: _List *]
[+0x004] plistNext : 0x8981b010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x89903010)
((ACPI!_List *)0x89903010) : 0x89903010 [Type: _List *] 40
[+0x000] plistPrev : 0x898fc010 [Type: _List *]
[+0x004] plistNext : 0x898f8010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898fc010)
((ACPI!_List *)0x898fc010) : 0x898fc010 [Type: _List *]
[+0x000] plistPrev : 0x898fe010 [Type: _List *]
[+0x004] plistNext : 0x89903010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898fe010)
((ACPI!_List *)0x898fe010) : 0x898fe010 [Type: _List *]
[+0x000] plistPrev : 0x89901010 [Type: _List *]
[+0x004] plistNext : 0x898fc010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x89901010)
((ACPI!_List *)0x89901010) : 0x89901010 [Type: _List *]
[+0x000] plistPrev : 0x8997c010 [Type: _List *]
[+0x004] plistNext : 0x898fe010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x8997c010)
((ACPI!_List *)0x8997c010) : 0x8997c010 [Type: _List *]
[+0x000] plistPrev : 0x898fa010 [Type: _List *]
[+0x004] plistNext : 0x89901010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x898fa010)
((ACPI!_List *)0x898fa010) : 0x898fa010 [Type: _List *] 45
[+0x000] plistPrev : 0x8980a010 [Type: _List *]
[+0x004] plistNext : 0x8997c010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x8980a010)
((ACPI!_List *)0x8980a010) : 0x8980a010 [Type: _List *]
[+0x000] plistPrev : 0x89808010 [Type: _List *]
[+0x004] plistNext : 0x898fa010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x89808010)
((ACPI!_List *)0x89808010) : 0x89808010 [Type: _List *]
[+0x000] plistPrev : 0x89806010 [Type: _List *]
[+0x004] plistNext : 0x8980a010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x89806010)
((ACPI!_List *)0x89806010) : 0x89806010 [Type: _List *]
[+0x000] plistPrev : 0x89804010 [Type: _List *]
[+0x004] plistNext : 0x89808010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x89804010)
((ACPI!_List *)0x89804010) : 0x89804010 [Type: _List *]
[+0x000] plistPrev : 0x89802010 [Type: _List *]
[+0x004] plistNext : 0x89806010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x89802010)
((ACPI!_List *)0x89802010) : 0x89802010 [Type: _List *] 50
[+0x000] plistPrev : 0x89800010 [Type: _List *]
[+0x004] plistNext : 0x89804010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x89800010)
((ACPI!_List *)0x89800010) : 0x89800010 [Type: _List *]
[+0x000] plistPrev : 0x897fe010 [Type: _List *]
[+0x004] plistNext : 0x89802010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x897fe010)
((ACPI!_List *)0x897fe010) : 0x897fe010 [Type: _List *]
[+0x000] plistPrev : 0x897fc010 [Type: _List *]
[+0x004] plistNext : 0x89800010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x897fc010)
((ACPI!_List *)0x897fc010) : 0x897fc010 [Type: _List *]
[+0x000] plistPrev : 0x897fa010 [Type: _List *]
[+0x004] plistNext : 0x897fe010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x897fa010)
((ACPI!_List *)0x897fa010) : 0x897fa010 [Type: _List *]
[+0x000] plistPrev : 0x897f8010 [Type: _List *]
[+0x004] plistNext : 0x897fc010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x897f8010)
((ACPI!_List *)0x897f8010) : 0x897f8010 [Type: _List *] 55
[+0x000] plistPrev : 0x897f6010 [Type: _List *]
[+0x004] plistNext : 0x897fa010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x897f6010)
((ACPI!_List *)0x897f6010) : 0x897f6010 [Type: _List *]
[+0x000] plistPrev : 0x897f4010 [Type: _List *]
[+0x004] plistNext : 0x897f8010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x897f4010)
((ACPI!_List *)0x897f4010) : 0x897f4010 [Type: _List *]
[+0x000] plistPrev : 0x897f2010 [Type: _List *]
[+0x004] plistNext : 0x897f6010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x897f2010)
((ACPI!_List *)0x897f2010) : 0x897f2010 [Type: _List *]
[+0x000] plistPrev : 0x897f0010 [Type: _List *]
[+0x004] plistNext : 0x897f4010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x897f0010)
((ACPI!_List *)0x897f0010) : 0x897f0010 [Type: _List *]
[+0x000] plistPrev : 0x897ee010 [Type: _List *]
[+0x004] plistNext : 0x897f2010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x897ee010)
((ACPI!_List *)0x897ee010) : 0x897ee010 [Type: _List *] 60
[+0x000] plistPrev : 0x897ec010 [Type: _List *]
[+0x004] plistNext : 0x897f0010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x897ec010)
((ACPI!_List *)0x897ec010) : 0x897ec010 [Type: _List *]
[+0x000] plistPrev : 0x897ea010 [Type: _List *]
[+0x004] plistNext : 0x897ee010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x897ea010)
((ACPI!_List *)0x897ea010) : 0x897ea010 [Type: _List *]
[+0x000] plistPrev : 0x897e8010 [Type: _List *]
[+0x004] plistNext : 0x897ec010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x897e8010)
((ACPI!_List *)0x897e8010) : 0x897e8010 [Type: _List *]
[+0x000] plistPrev : 0x897e6010 [Type: _List *]
[+0x004] plistNext : 0x897ea010 [Type: _List *]
1: kd> dx -r1 ((ACPI!_List *)0x897e6010)
((ACPI!_List *)0x897e6010) : 0x897e6010 [Type: _List *] 64
[+0x000] plistPrev : 0x898a2010 [Type: _List *]
[+0x004] plistNext : 0x897e8010 [Type: _List *]

1: kd> kc
#
00 ACPI!ParseCall
01 ACPI!RunContext
02 ACPI!DispatchCtxtQueue
03 ACPI!StartTimeSlicePassive
04 ACPI!ACPIWorker
05 nt!PspSystemThreadStartup
06 nt!KiThreadStartup
1: kd> dv
pctxt = 0x897e4000
pcall = 0x897e5e0c
rc = 0n0
powner = 0xf742770a
pm = 0x897e5e0c
pacq = 0x00000008
data = struct _ObjData
1: kd> dx -r1 ((ACPI!_call *)0x897e5e0c)
((ACPI!_call *)0x897e5e0c) : 0x897e5e0c [Type: _call *]
[+0x000] FrameHdr [Type: _framehdr]
[+0x010] pcallPrev : 0x0 [Type: _call *]
[+0x014] pownerPrev : 0x0 [Type: _objowner *]
[+0x018] pnsMethod : 0x8996cf74 [Type: _NSObj *]
[+0x01c] iArg : 1 [Type: int]
[+0x020] icArgs : 1 [Type: int]
[+0x024] pdataArgs : 0x897e411c [Type: _ObjData *]
[+0x028] Locals [Type: _ObjData [8]]
[+0x0c8] pdataResult : 0x897e40fc [Type: _ObjData *]
1: kd> dx -r1 ((ACPI!_NSObj *)0x8996cf74)
((ACPI!_NSObj *)0x8996cf74) : 0x8996cf74 [Type: _NSObj *]
[+0x000] list [Type: _List]
[+0x008] pnsParent : 0x8996cd78 [Type: _NSObj *]
[+0x00c] pnsFirstChild : 0x0 [Type: _NSObj *]
[+0x010] dwNameSeg : 0x41545342 [Type: unsigned long]
[+0x014] hOwner : 0x899af330 [Type: void *]
[+0x018] pnsOwnedNext : 0x8996cf30 [Type: _NSObj *]
[+0x01c] ObjData [Type: _ObjData]
[+0x030] Context : 0x0 [Type: void *]
[+0x034] dwRefCount : 0x0 [Type: unsigned long]
1: kd> db 0x8996cf74
8996cf74 30 cf 96 89 e0 cf 96 89-78 cd 96 89 00 00 00 00 0.......x.......
8996cf84 42 53 54 41 30 f3 9a 89-30 cf 96 89 00 00 08 00 BSTA0...0.......
8996cf94 00 00 00 00 00 00 00 00-1b 00 00 00 b8 cf 96 89 ................
8996cfa4 00 00 00 00 00 00 00 00-48 4d 45 54 28 00 00 00 ........HMET(...
8996cfb4 00 90 96 89 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996cfc4 00 00 00 00 01 a4 50 53-54 41 5f 53 54 41 68 00 ......PSTA_STAh.
8996cfd4 48 4e 53 4f 44 00 00 00-00 90 96 89 74 cf 96 89 HNSOD.......t...
8996cfe4 4c d0 96 89 78 cd 96 89-00 00 00 00 42 45 4a 30 L...x.......BEJ0
1: kd> db 0x8996cd78
8996cd78 38 cc 96 89 88 4f 97 89-ac ff 9a 89 f0 cd 96 89 8....O..........
8996cd88 50 32 50 30 30 f3 9a 89-38 cc 96 89 00 00 06 00 P2P00...8.......
8996cd98 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996cda8 a0 8e 96 89 00 00 00 00-48 4f 52 47 34 00 00 00 ........HORG4...
8996cdb8 00 90 96 89 00 00 00 00-04 00 00 00 02 00 00 00 ................
8996cdc8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996cdd8 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
8996cde8 44 00 00 00 00 90 96 89-b0 4b 97 89 b4 ce 96 89 D........K......

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

Device (P2P0)
{
Name (_ADR, 0x00110000) // _ADR: Address
Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters
{
0x08,
0x40,
0x01,
0x00
})
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x03,
0x03
})
Method (BSTA, 1, NotSerialized)
{
Return (PSTA (_STA (), Arg0))
}


Device (S1F0)
{
Name (_ADR, Zero) // _ADR: Address
Name (_SUN, 0x20) // _SUN: Slot User Number
OperationRegion (REGS, PCI_Config, 0x00, 0x04)
Field (REGS, DWordAcc, NoLock, Preserve)
{
ID, 32 077415ad
}

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

如果ID=0xFFFF
LEqual (Arg1, 0xFFFFFFFF)=1
Not (LEqual (Arg1, 0xFFFFFFFF))=0
And (Arg0, Not (LEqual (Arg1, 0xFFFFFFFF)))=0
说明S1F0设备不存在。


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

如果ID!=0xFFFF
LEqual (Arg1, 0xFFFFFFFF)=0
Not (LEqual (Arg1, 0xFFFFFFFF))=1
And (Arg0, Not (LEqual (Arg1, 0xFFFFFFFF)))=1
说明S1F0设备存在。

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))
}

_STA ()=1说明父节点P2P0设备存在。


PCI\VEN_15AD&DEV_0774

1: kd> kc
#
00 ACPI!ParseCall
01 ACPI!RunContext
02 ACPI!DispatchCtxtQueue
03 ACPI!StartTimeSlicePassive
04 ACPI!ACPIWorker
05 nt!PspSystemThreadStartup
06 nt!KiThreadStartup


1: kd> g
Breakpoint 13 hit
ACPI!ParseCall:
f7427709 55 push ebp
1: kd> dv
pctxt = 0x897e4000
pcall = 0x897e5ce4
rc = 0n0
powner = 0xf742770a
pm = 0x897e5ce4
pacq = 0x00000008
data = struct _ObjData
1: kd> dx -r1 ((ACPI!_call *)0x897e5ce4)
((ACPI!_call *)0x897e5ce4) : 0x897e5ce4 [Type: _call *]
[+0x000] FrameHdr [Type: _framehdr]
[+0x010] pcallPrev : 0x0 [Type: _call *]
[+0x014] pownerPrev : 0x0 [Type: _objowner *]
[+0x018] pnsMethod : 0x8996cb68 [Type: _NSObj *]
[+0x01c] iArg : 0 [Type: int]
[+0x020] icArgs : 2 [Type: int]
[+0x024] pdataArgs : 0x897e4178 [Type: _ObjData *]
[+0x028] Locals [Type: _ObjData [8]]
[+0x0c8] pdataResult : 0x897e4158 [Type: _ObjData *]
1: kd> dx -r1 ((ACPI!_NSObj *)0x8996cb68)
((ACPI!_NSObj *)0x8996cb68) : 0x8996cb68 [Type: _NSObj *]
[+0x000] list [Type: _List]
[+0x008] pnsParent : 0x899affac [Type: _NSObj *]
[+0x00c] pnsFirstChild : 0x0 [Type: _NSObj *]
[+0x010] dwNameSeg : 0x41545350 [Type: unsigned long]
[+0x014] hOwner : 0x899af330 [Type: void *]
[+0x018] pnsOwnedNext : 0x8996cae0 [Type: _NSObj *]
[+0x01c] ObjData [Type: _ObjData]
[+0x030] Context : 0x0 [Type: void *]
[+0x034] dwRefCount : 0x0 [Type: unsigned long]
1: kd> db 0x8996cb68
8996cb68 e0 ca 96 89 d8 cb 96 89-ac ff 9a 89 00 00 00 00 ................
8996cb78 50 53 54 41 30 f3 9a 89-e0 ca 96 89 00 00 08 00 PSTA0...........
8996cb88 00 00 00 00 00 00 00 00-1e 00 00 00 ac cb 96 89 ................
8996cb98 00 00 00 00 00 00 00 00-48 4d 45 54 2c 00 00 00 ........HMET,...
8996cba8 00 90 96 89 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996cbb8 00 00 00 00 02 a4 7b 68-80 93 69 0c ff ff ff ff ......{h..i.....
8996cbc8 00 00 00 00 48 4e 53 4f-44 00 00 00 00 90 96 89 ....HNSOD.......
8996cbd8 68 cb 96 89 38 cc 96 89-ac ff 9a 89 00 00 00 00 h...8...........
1: kd> db 0x899affac
899affac 4c ff 9a 89 ac 40 9b 89-f0 f0 9a 89 24 00 9b 89 L....@......$...
899affbc 50 43 49 30 30 f3 9a 89-4c ff 9a 89 00 00 06 00 PCI00...L.......
899affcc 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899affdc 58 0d 9c 89 00 00 00 00-48 4f 52 47 34 00 00 00 X.......HORG4...
899affec 00 f0 9a 89 50 00 00 00-30 00 00 00 02 00 00 00 ....P...0.......
899afffc 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899b000c 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
899b001c 44 00 00 00 00 f0 9a 89-64 a0 91 89 68 00 9b 89 D.......d...h...


1: kd> g
Breakpoint 13 hit
ACPI!ParseCall:
f7427709 55 push ebp
1: kd> kc
#
00 ACPI!ParseCall
01 ACPI!RunContext
02 ACPI!DispatchCtxtQueue
03 ACPI!StartTimeSlicePassive
04 ACPI!ACPIWorker
05 nt!PspSystemThreadStartup
06 nt!KiThreadStartup
1: kd> dv
pctxt = 0x897e4000
pcall = 0x897e5c18
rc = 0n0
powner = 0xf742770a
pm = 0x897e5c18
pacq = 0x00000008
data = struct _ObjData
1: kd> dx -r1 ((ACPI!_call *)0x897e5c18)
((ACPI!_call *)0x897e5c18) : 0x897e5c18 [Type: _call *]
[+0x000] FrameHdr [Type: _framehdr]
[+0x010] pcallPrev : 0x0 [Type: _call *]
[+0x014] pownerPrev : 0x0 [Type: _objowner *]
[+0x018] pnsMethod : 0x8996d1e4 [Type: _NSObj *]
[+0x01c] iArg : 0 [Type: int]
[+0x020] icArgs : 0 [Type: int]
[+0x024] pdataArgs : 0x0 [Type: _ObjData *]
[+0x028] Locals [Type: _ObjData [8]]
[+0x0c8] pdataResult : 0x897e4178 [Type: _ObjData *]
1: kd> dx -r1 ((ACPI!_NSObj *)0x8996d1e4)
((ACPI!_NSObj *)0x8996d1e4) : 0x8996d1e4 [Type: _NSObj *]
[+0x000] list [Type: _List]
[+0x008] pnsParent : 0x8996cd78 [Type: _NSObj *]
[+0x00c] pnsFirstChild : 0x0 [Type: _NSObj *]
[+0x010] dwNameSeg : 0x4154535f [Type: unsigned long]
[+0x014] hOwner : 0x899af330 [Type: void *]
[+0x018] pnsOwnedNext : 0x8996d1a0 [Type: _NSObj *]
[+0x01c] ObjData [Type: _ObjData]
[+0x030] Context : 0x0 [Type: void *]
[+0x034] dwRefCount : 0x0 [Type: unsigned long]
1: kd> db 0x8996d1e4
8996d1e4 a0 d1 96 89 54 d2 96 89-78 cd 96 89 00 00 00 00 ....T...x.......
8996d1f4 5f 53 54 41 30 f3 9a 89-a0 d1 96 89 00 00 08 00 _STA0...........
8996d204 00 00 00 00 00 00 00 00-20 00 00 00 28 d2 96 89 ........ ...(...
8996d214 00 00 00 00 00 00 00 00-48 4d 45 54 2c 00 00 00 ........HMET,...
8996d224 00 90 96 89 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996d234 00 00 00 00 00 a4 7b 93-49 44 5f 5f 0c ad 15 90 ......{.ID__....
8996d244 07 0a 0f 00 48 4e 53 4f-44 00 00 00 00 90 96 89 ....HNSOD.......
8996d254 e4 d1 96 89 98 d2 96 89-78 cd 96 89 00 00 00 00 ........x.......
1: kd> db 0x8996cd78
8996cd78 38 cc 96 89 88 4f 97 89-ac ff 9a 89 f0 cd 96 89 8....O..........
8996cd88 50 32 50 30 30 f3 9a 89-38 cc 96 89 00 00 06 00 P2P00...8.......
8996cd98 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996cda8 a0 8e 96 89 00 00 00 00-48 4f 52 47 34 00 00 00 ........HORG4...
8996cdb8 00 90 96 89 00 00 00 00-04 00 00 00 02 00 00 00 ................
8996cdc8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996cdd8 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
8996cde8 44 00 00 00 00 90 96 89-b0 4b 97 89 b4 ce 96 89 D........K......

1: kd> g
Breakpoint 71 hit
ACPI!ACPIGet:
f74076b8 55 push ebp
1: kd> kc
#
00 ACPI!ACPIGet
01 ACPI!GetPciAddressWorker
02 ACPI!GetPciAddress
03 ACPI!PciConfigSpaceHandlerWorker
04 ACPI!PciConfigSpaceHandler
05 ACPI!InternalOpRegionHandler
06 ACPI!AccessBaseField
07 ACPI!AccessFieldData
08 ACPI!ReadFieldObj
09 ACPI!RunContext
0a ACPI!DispatchCtxtQueue
0b ACPI!StartTimeSlicePassive
0c ACPI!ACPIWorker
0d nt!PspSystemThreadStartup
0e nt!KiThreadStartup
1: kd> dv
Target = 0x8996cd78
ObjectID = 0x5244415f
Flags = 0x48040402
SimpleArgument = 0x00000000
SimpleArgumentSize = 0
CallBackRoutine = 0xf740ceea
CallBackContext = 0x899c6330
Buffer = 0x899c6348
BufferSize = 0x00000000
completionRoutine = 0xf74076b9

1: kd> db 0x8996cd78
8996cd78 38 cc 96 89 88 4f 97 89-ac ff 9a 89 f0 cd 96 89 8....O..........
8996cd88 50 32 50 30 30 f3 9a 89-38 cc 96 89 00 00 06 00 P2P00...8.......
8996cd98 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996cda8 a0 8e 96 89 00 00 00 00-48 4f 52 47 34 00 00 00 ........HORG4...
8996cdb8 00 90 96 89 00 00 00 00-04 00 00 00 02 00 00 00 ................
8996cdc8 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
8996cdd8 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO
8996cde8 44 00 00 00 00 90 96 89-b0 4b 97 89 b4 ce 96 89 D........K......
1: kd> r
eax=00000000 ebx=00000000 ecx=899c6348 edx=899c6330 esi=899c6330 edi=00000103
eip=f74076b8 esp=f791ab24 ebp=f791ab9c 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!ACPIGet:
f74076b8 55 push ebp
1: kd> db f791ab24
f791ab24 5e cf 40 f7 78 cd 96 89-5f 41 44 52 02 04 04 48 ^.@.x..._ADR...H


1: kd> g
Breakpoint 55 hit
ACPI!ACPIGet+0x248:
f7407900 e83dd90000 call ACPI!AMLIAsyncEvalObject (f7415242)
1: kd> g
Breakpoint 33 hit
ACPI!AMLIAsyncEvalObject:
f7415242 55 push ebp
1: kd> g
Breakpoint 37 hit
ACPI!AsyncEvalObject:
f741f8c9 55 push ebp
1: kd> be 42
1: kd> be 39
1: kd> be 11
1: kd> be 45
1: kd> be 54
1: kd> g
Breakpoint 42 hit
ACPI!RestartContext:
f74207d4 55 push ebp
1: kd> kc
#
00 ACPI!RestartContext
01 ACPI!AsyncEvalObject
02 ACPI!AMLIAsyncEvalObject
03 ACPI!ACPIGet
04 ACPI!GetPciAddressWorker
05 ACPI!GetPciAddress
06 ACPI!PciConfigSpaceHandlerWorker
07 ACPI!PciConfigSpaceHandler
08 ACPI!InternalOpRegionHandler
09 ACPI!AccessBaseField
0a ACPI!AccessFieldData
0b ACPI!ReadFieldObj
0c ACPI!RunContext
0d ACPI!DispatchCtxtQueue
0e ACPI!StartTimeSlicePassive
0f ACPI!ACPIWorker
10 nt!PspSystemThreadStartup
11 nt!KiThreadStartup
1: kd> dv
pctxt = 0x8984f000
fDelayExecute = 0x00 ''
1: kd> gu
ACPI!AsyncEvalObject+0x28c:
f741fb55 59 pop ecx

http://www.cnnetsun.cn/news/833037.html

相关文章:

  • 不止是传感器:智能井盖如何作为边缘节点融入城市IoT平台?
  • 宇宙正在缓慢旋转
  • OpenCV:超分辨率、超采样及测试性能
  • SGMICRO圣邦微 SGM2033-3.0XN5G/TR SOT-23-5 线性稳压器(LDO)
  • 计算机毕业设计|基于springboot + vue智能农田管理系统(源码+数据库+文档)
  • 【阿根廷】Docusign 电子签名的合法性指南
  • 5分钟教你如何在HarmonyOS高效中使用sklll
  • 企业人力资源管理规划战略设计方案(431页PPT)
  • 百考通AIGC检测功能:免费、精准、专为中文教育打造的AI内容“验真守门人”
  • 百考通AIGC检测功能:免费、专业、专为中文教育打造的AI内容“验真罗盘”
  • springboot校园二手交易平台系统设计实现
  • 百考通AI:引领智能学习新纪元,打造个性化备考全能助手
  • 百考通AI:您的智能文献研究伙伴,从标题到参考文献一站智成
  • 百考通AI:您的智能问卷设计专家,让调研从“耗时耗力”到“一键生成”
  • HoRain云--高效管理多版本开发环境全攻略
  • U+0000 – U+007F的庖丁解牛
  • 跨平台统一测试框架构建方法论
  • ERP系统升级:企业运营流程的华丽转身
  • 【Matlab】MATLAB rand函数:从随机矩阵生成到实验数据模拟,解锁随机数应用核心
  • VirtualLab Fusion应用:随机分布公差分析
  • 信创 + AI 双轮驱动:2026 计算机板块高景气赛道前瞻
  • 工程设计类学习(DAY9):印刷电路板(PCB)材料选择、工艺特性与制造技术综合详解
  • pythondjango基于python技术的学生成绩管理系统的设计与开发
  • GitHub 热榜项目 - 日榜(2026-01-27)
  • 杰理之绑定功能中TX生成配对码的方式RX无法获取配对码问题【篇】
  • 杰理之常用工具下载获取方式【篇】
  • 基于PHP、asp.net、java、Springboot、SSM、vue3的可视化流量统计分析系统的设计与实现
  • 11110000 10011111 10011001 10000010的庖丁解牛
  • 自动化测试代码重构黄金法则:提升效率与可维护性的实战指南
  • 椰子树病害检测数据集VOC+YOLO格式2601张4类别