ACPI!ACPIBuildProcessRunMethodPhaseRunMethod函数对_SB总线_INT方法的调用

ACPI!ACPIBuildProcessRunMethodPhaseRunMethod函数对_SB总线_INT方法的调用

//
// Call the function
//
status = (buildFunction)( buildRequest ); 调用下一步:

0: kd> g
Breakpoint 5 hit
eax=00000004 ebx=00000004 ecx=89906e40 edx=00000001 esi=89906e30 edi=80b019f4
eip=f73fb911 esp=f789ef68 ebp=f789ef84 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!ACPIBuildProcessGenericList+0x4d:
f73fb911 ff55f4 call dword ptr [ebp-0Ch] ss:0010:f789ef78={ACPI!ACPIBuildProcessRunMethodPhaseCheckBridge (f73fbb44)}
0: kd> t
eax=00000004 ebx=00000004 ecx=89906e40 edx=00000001 esi=89906e30 edi=80b019f4
eip=f73fbb44 esp=f789ef64 ebp=f789ef84 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!ACPIBuildProcessRunMethodPhaseCheckBridge:
f73fbb44 55 push ebp
0: kd> kc
#
00 ACPI!ACPIBuildProcessRunMethodPhaseCheckBridge
01 ACPI!ACPIBuildProcessGenericList
02 ACPI!ACPIBuildDeviceDpc
03 nt!KiRetireDpcList
04 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
05 0x0
0: kd> dv
BuildRequest = 0x89906e30


//
// These are the flags that we use in the RunRequest case
//
#define RUN_REQUEST_CHECK_STATUS 0x01
#define RUN_REQUEST_MARK_INI 0x02
#define RUN_REQUEST_RECURSIVE 0x04
#define RUN_REQUEST_CHECK_WAKE_COUNT 0x08
#define RUN_REQUEST_REG_METHOD_ON 0x10
#define RUN_REQUEST_REG_METHOD_OFF 0x20
#define RUN_REQUEST_STOP_AT_BRIDGES 0x40

0: kd> dx -r1 ((ACPI!_ACPI_BUILD_REQUEST *)0x89906e30)
((ACPI!_ACPI_BUILD_REQUEST *)0x89906e30) : 0x89906e30 [Type: _ACPI_BUILD_REQUEST *]
[+0x000] ListEntry [Type: _LIST_ENTRY]
[+0x008] Signature : 0x5f534750 [Type: unsigned long]
[+0x00c] Flags : 0xc [Type: unsigned long] [+0x00c] Flags : 0xc
[+0x00c] UFlags [Type: __unnamed]
[+0x010] WorkDone : 0x1 [Type: unsigned long]
[+0x014] CurrentWorkDone : 0x4 [Type: unsigned long]
[+0x018] NextWorkDone : 0x5 [Type: unsigned long]
[+0x01c] BuildContext : 0x89981a18 [Type: void *]
[+0x020] Status : 0 [Type: long]
[+0x024] CurrentObject : 0x0 [Type: _NSObj *]
[+0x028] CallBack : 0x0 [Type: void (*)(void *,void *,long)]
[+0x02c] CallBackContext : 0x0 [Type: void *]
[+0x030] DeviceRequest [Type: __unnamed]
[+0x030] RunRequest [Type: __unnamed]
[+0x030] SynchronizeRequest [Type: __unnamed]
[+0x044] Integer : 0xf [Type: unsigned long]
[+0x044] String : 0xf : Unable to read memory at Address 0xf [Type: unsigned char *]
[+0x044] TargetListEntry : 0xf [Type: _LIST_ENTRY *]

[+0x00c] Flags : 0xc

#define RUN_REQUEST_RECURSIVE 0x04
#define RUN_REQUEST_CHECK_WAKE_COUNT 0x08

//
// Call the function
//
status = (buildFunction)( buildRequest );

0: kd> g
Breakpoint 5 hit
eax=00000005 ebx=00000005 ecx=89906e40 edx=00000001 esi=89906e30 edi=80b019f4
eip=f73fb911 esp=f789ef68 ebp=f789ef84 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!ACPIBuildProcessGenericList+0x4d:
f73fb911 ff55f4 call dword ptr [ebp-0Ch] ss:0010:f789ef78={ACPI!ACPIBuildProcessRunMethodPhaseRunMethod (f73fbcf2)}


0: kd> t
Breakpoint 7 hit
eax=00000005 ebx=00000005 ecx=89906e40 edx=00000001 esi=89906e30 edi=80b019f4
eip=f73fbcf2 esp=f789ef64 ebp=f789ef84 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!ACPIBuildProcessRunMethodPhaseRunMethod:
f73fbcf2 55 push ebp
0: kd> kc
#
00 ACPI!ACPIBuildProcessRunMethodPhaseRunMethod
01 ACPI!ACPIBuildProcessGenericList
02 ACPI!ACPIBuildDeviceDpc
03 nt!KiRetireDpcList
04 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
05 0x0
0: kd> dv
BuildRequest = 0x89906e30
nsObj = 0x00000000
status = 0n8
objData = struct _ObjData [2]
numArgs = 0xf73fbcf2
args = 0x89906e30


0: kd> g
Breakpoint 33 hit
eax=899afccc ebx=89981a18 ecx=0041e000 edx=00000000 esi=89906e30 edi=00000000
eip=f7415242 esp=f789ef04 ebp=f789ef60 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!AMLIAsyncEvalObject:
f7415242 55 push ebp
0: kd> kc
#
00 ACPI!AMLIAsyncEvalObject
01 ACPI!ACPIBuildProcessRunMethodPhaseRunMethod
02 ACPI!ACPIBuildProcessGenericList
03 ACPI!ACPIBuildDeviceDpc
04 nt!KiRetireDpcList
05 nt!KiDispatchInterrupt
WARNING: Frame IP not in any known module. Following frames may be wrong.
06 0x0
0: kd> dv
pns = 0x899afccc
pdataResult = 0x00000000
icArgs = 0n0
pdataArgs = 0x00000000
pfnAsyncCallBack = 0xf73fa5bc
pvContext = 0x89906e30
pHData = 0x00000008
0: kd> db 0x899afccc
899afccc 88 fc 9a 89 4c ff 9a 89-f0 f0 9a 89 00 00 00 00 ....L...........
899afcdc 5f 49 4e 49 30 f3 9a 89-88 fc 9a 89 00 00 08 00_INI0...........
899afcec 00 00 00 00 00 00 00 00-30 02 00 00 10 fd 9a 89 ........0.......
899afcfc 00 00 00 00 00 00 00 00-48 4d 45 54 3c 02 00 00 ........HMET<...
899afd0c 00 f0 9a 89 00 00 00 00-00 00 00 00 00 00 00 00 ................
899afd1c 00 00 00 00 00 a0 0b 92-93 46 4c 41 47 0a 00 a4 .........FLAG...
899afd2c 00 70 0a 01 46 4c 41 47-a0 49 11 5b 12 5c 5f 4f .p..FLAG.I.[.\_O
899afd3c 53 49 60 a0 15 5c 5f 4f-53 49 0d 4c 69 6e 75 78 SI`..\_OSI.Linux
0: kd> dx -r1 ((ACPI!_NSObj *)0x899afccc)
((ACPI!_NSObj *)0x899afccc) : 0x899afccc [Type: _NSObj *]
[+0x000] list [Type: _List]
[+0x008] pnsParent : 0x899af0f0 [Type: _NSObj *]
[+0x00c] pnsFirstChild : 0x0 [Type: _NSObj *]
[+0x010] dwNameSeg : 0x494e495f [Type: unsigned long]
[+0x014] hOwner : 0x899af330 [Type: void *]
[+0x018] pnsOwnedNext : 0x899afc88 [Type: _NSObj *]
[+0x01c] ObjData [Type: _ObjData]
[+0x030] Context : 0x0 [Type: void *]
[+0x034] dwRefCount : 0x0 [Type: unsigned long]
0: kd> db 0x899af0f0
899af0f0 ac f0 9a 89 34 f1 9a 89-24 f0 9a 89 74 f4 9a 89 ....4...$...t...
899af100 5f 53 42 5f 00 00 00 00-00 00 00 00 00 00 00 00 _SB_............
899af110 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899af120 18 1a 98 89 00 00 00 00-48 4e 53 4f 44 00 00 00 ........HNSOD...
899af130 00 f0 9a 89 f0 f0 9a 89-78 f1 9a 89 24 f0 9a 89 ........x...$...
899af140 00 00 00 00 5f 53 49 5f-00 00 00 00 00 00 00 00 ...._SI_........
899af150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
899af160 00 00 00 00 00 00 00 00-00 00 00 00 48 4e 53 4f ............HNSO

Scope (_SB)
{

。。。
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
If (LNotEqual (FLAG, 0x00))
{
Return (Zero)
}

Store (0x01, FLAG)
If (CondRefOf (\_OSI, Local0))
{
If (\_OSI ("Linux"))
{
Store (0x0F00, TOOS)
}
Else
{
If (\_OSI ("Windows 2006"))
{
Store (0x0C00, TOOS)
}
Else
{
If (\_OSI ("Windows 2001.1 SP1"))
{
Store (0x0A00, TOOS)
}
Else
{
If (\_OSI ("Windows 2001.1"))
{
Store (0x0900, TOOS)
}
Else
{
If (\_OSI ("Windows 2001 SP2"))
{
Store (0x0700, TOOS)
}
Else
{
If (\_OSI ("Windows 2001 SP1"))
{
Store (0x0600, TOOS)
}
Else
{
If (\_OSI ("Windows 2001"))
{
Store (0x0500, TOOS)
}
Else
{
If (\_OSI ("Windows 2000"))
{
Store (0x0400, TOOS)
}
Else
{
Store (0xFE00, TOOS)
}
}
}
}
}
}
}
}
}
Else
{
If (CondRefOf (\_OS, Local0))
{
If (STRC (\_OS, "Microsoft Windows NT"))
{
Store (0x0300, TOOS)
}
Else
{
If (STRC (\_OS, "Microsoft WindowsME:Millennium Edition"))
{
Store (0x0200, TOOS)
}
Else
{
If (STRC (\_OS, "Microsoft Windows"))
{
Store (0x0100, TOOS)
}
Else
{
If (STRC (\_OS, "NetWare"))
{
Store (0x0B00, TOOS)
}
Else
{
If (STRC (\_OS, "FreeBSD"))
{
Store (0x1000, TOOS)
}
Else
{
Store (0xFD00, TOOS)
}
}
}
}
}
}
Else
{
Store (0xFF00, TOOS)
}
}

Return (0x00)
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1169190.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型增强之道:RAG技术详解与应用实践

本文系统解读了《A Survey on Knowledge-Oriented Retrieval-Augmented Generation》论文&#xff0c;详细介绍了RAG&#xff08;检索增强生成&#xff09;技术如何解决传统语言模型无法动态访问外部知识的局限。文章全面解析了RAG的核心组件、关键步骤&#xff08;用户意图理解…

ACPI!ACPIBuildProcessRunMethodPhaseCheckSta函数对_SB总线的状态的确定

ACPI!ACPIBuildProcessRunMethodPhaseCheckSta函数对_SB总线的状态的确定 0: kd> kc# 00 ACPI!ACPIGet 01 ACPI!ACPIBuildProcessRunMethodPhaseCheckSta 02 ACPI!ACPIBuildProcessGenericList 03 ACPI!ACPIBuildDeviceDpc 04 nt!KiRetireDpcList 05 nt!KiDispatchInterrupt…

Java毕设项目:基于SpringBoot+Vue的中青年人员招聘平台(源码+文档,讲解、调试运行,定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

无人机螺距设计要点与技术解析

无人机螺距设计的核心&#xff0c;是在拉力、效率和飞行速度之间找到最佳平衡。你需要先明确无人机的用途&#xff0c;然后针对性地选择桨叶尺寸与螺距&#xff0c;有时还需考虑采用变桨距等高级技术。螺旋桨核心参数与设计选择首先是桨叶的关键参数&#xff1a;直径&#xff1…

表驱动法:告别 if-else(案例:查月份天数、成绩分级)

把「输入→输出」的对应关系做成一张 “表”&#xff08;数组 / 哈希表都行&#xff09;&#xff0c;不用写一堆条件判断&#xff0c;直接拿输入当索引去表里查结果#include<stdio.h>#define MONTH_COUNT 12 #define GRADE_COUNT 11int is_leap_year(int year); int get_…

协同过滤算法 基于django框架和python的 在线音乐推荐系统的设计与实现

目录 协同过滤算法在在线音乐推荐系统中的设计与实现 关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 协同过滤算法在在线音乐推荐系统中的设计与实现 基于Django框架和Python的在…

小程序 django基于django的助农商城销售系统

目录基于Django的助农商城销售系统摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;基于Django的助农商城销售系统摘要 助农商城销售系统基于Django框架开发&#xff0c;旨在通过…

【iManus】勾股定理的多种经典证明方法

勾股定理的多种经典证明方法 文章目录 勾股定理的多种经典证明方法引言勾股定理的基本表述经典证明方法1. 欧几里得几何法&#xff08;Euclids Proof&#xff09;证明原理证明步骤适用场景直观程度 2. 代数法&#xff08;Algebraic Proof&#xff09;证明原理证明步骤适用场景直…

小程序 基于django的大学生支教管理系统设计与实现

目录摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要 随着教育信息化的快速发展&#xff0c;大学生支教活动的管理效率亟待提升。传统的支教管理多依赖人工操作&#xff0c…

探索 5KW 混合储能系统:从架构到功率板的技术之旅

5KW 混合储能系统48V电池500V光伏220V逆变&#xff08;AD格式&#xff09;&#xff08;功率板&#xff09; 光伏逆变器资料不带程序 在能源领域的发展浪潮中&#xff0c;混合储能系统逐渐崭露头角&#xff0c;今天咱们就来深入探讨一款 5KW 的混合储能系统&#xff0c;它融合了…

【毕业设计】基于SpringBoot+Vue的中青年人员招聘平台(源码+文档+远程调试,全bao定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

CANopen 转 Modbus TCP 工业数据采集网关:PLC 与工控机实时数据同步方案

项目背景某自动化生产线企业的车间控制系统中&#xff0c;核心控制单元采用 CANopen 协议的 PLC&#xff08;如巴赫曼 PLC&#xff09;&#xff0c;负责控制输送带、机械手、传感器等设备的协同运行&#xff0c;实时采集设备运行状态数据&#xff08;如电机转速、气缸位置、物料…

视频融合平台EasyCVR构建智慧林业一体化监测防护体系

林业作为生态安全的核心屏障&#xff0c;其管护工作面临林区范围广袤、地形复杂、人力巡检效率低下、火情病虫害等风险突发性强等诸多难题。在这样的背景下&#xff0c;视频融合平台EasyCVR智能监控技术成为推动林业现代化管理的关键技术支撑&#xff0c;正在智慧林业建设中发挥…

从CC-Link IE FB转ProfiNet:一条网关线串起德系日系变频“朋友圈”

一、项目背景 华东某大型电子厂房&#xff0c;全年恒温恒湿需求刚性&#xff0c;中央空调一次回风系统配置 6 台 45 kW 离心风机&#xff0c;原由三菱 Q03UDE CPU 通过 CC-Link IE Field Basic 网络直接控制三菱 FR-A800 变频器。2024 年工厂扩产&#xff0c;新增 3 条贴片线&a…

视频汇聚平台EasyCVR如何运用全域轨迹跟踪技术构建主动式安防新体系?

在安防监控领域&#xff0c;单纯“看得见”已远不能满足日益复杂的安全管理需求。当事件发生时&#xff0c;我们更迫切需要知道&#xff1a;“目标从哪来&#xff1f;到哪去&#xff1f;”这正是轨迹跟踪技术的核心价值。本文将深度解析视频融合平台EasyCVR如何凭借其强大的轨迹…

【课程设计/毕业设计】基于SpringBoot+Vue的中青年人员招聘平台SpringBoot+Vue的人才招聘平台系统【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

Django模板变量操作全指南

一、定义变量 在 Django 模板中,你可以使用不同的方法来定义变量。这些方法可以帮助你在模板中存储和展示数据。下面我将结合详细的代码描述几种定义变量的方法。 1.直接赋值 这是最简单的定义变量的方法。你可以在模板中使用"="符号来直接给变量赋值。 <!-- 模…

伺服电机控制:从 PLC 程序案例看门道

伺服电机控制伺服电机案例程序整套伺服电机PLC程…伺服电机在工业自动化领域可是相当重要的角色&#xff0c;它能实现精准的位置、速度和转矩控制。今天咱就来聊聊一套伺服电机 PLC 控制案例程序&#xff0c;揭开它神秘的面纱。伺服电机控制伺服电机案例程序整套伺服电机PLC程……

LLM解析电子鼻数据呼吸预警提速

&#x1f4dd; 博客主页&#xff1a;Jax的CSDN主页 LLM赋能电子鼻&#xff1a;呼吸预警分析提速的范式革新目录LLM赋能电子鼻&#xff1a;呼吸预警分析提速的范式革新 引言&#xff1a;呼吸预警的紧迫性与技术瓶颈 维度一&#xff1a;技术应用场景——呼吸预警全流程提速 从诊断…

酒店管理系统java和mysql,零基础入门到精通,收藏这篇就够了

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;本文将详细解析如何使用Java和MySQL构建高效的酒店管理系统&#xff0c;包括系统架构、关键功能模块以及开发过程中应考虑的关键因素&#xff0c;如安全性、异常处理和性能优化。Java用于处理业务逻辑和用户交互…