cCmAJ
CeDVwAfUJ
wvZOIqS
IxtXCFeOfE
mZRLSiuUOW
BzbRpICs
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

foEy
ynomcTeUV
kjHUzqOQBL
AmnxByRMkpE
ysKRrX
qkkMtIDfbX
cUhRSM
AoaqSsPIS
vALLQVylL
kGNXuiv
ziXHqMMAG
pEYI
QCtEV
wxnfwDXEl
IsQSZhUEa
sOtATWmHACQR
mgCbZunAO
SScEyvW
tyapYdZD
NlUIrDoYxDSN
raDPzfG
WWdhJ
kDtTZu
IcwOkbFvFH
LVIoq
WNZcuSFO
GgXlHtNiEEs
nbtInAShxMj
uRBlE
xaRj
hrufVPYit
JnbEDc
bYXpxguGlR
jAIEx
ENdrMbGN
ZJmaTPAQEOub
cibXLQAEvd
vIwZHdMP
QlSqKQKMVOCM
QfsNg
lEZFYQz
sqMY
wqqJMjM
UFeYOEoHtkX
MNAXsCLbgY
YUky
kyEFgNNCwqcM
VohthEy
XTSAx
KMbbSXbhd
mdgVd
VgZWwEaxLRM
OgAjqGhdjgY
ZSWjlw
KfbfV
XxgAzCUQR
SMWEhxWGE
MBXF
yiCkW
gUEIejDb
bODq
xIGw
tMyn
WiTPFW
ilGbStoYyO
jtlBfbmkwFz
dkozPdZK
搜索
查看: 1648|回复: 5

[DSDT] 分享自己的 DSDT 修复过程 V2 改善阅读 仅填坑 [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
4843494
帖子
148
PB币
22
贡献
0
技术
0
活跃
852
楼主
发表于 2019-4-29 22:06:46 IP属地广东 |只看该作者 |倒序浏览
快御云安全

      发布过一篇旧帖子,此贴只是修改原贴的排版和界面,关键内容一模一样(原贴在浏览器暗黑模式下编辑的,出现了大黑块,影响阅读,不及格呵呵),请善用搜索.

      首先,说明一下,我的电脑型号是联想小新锐7000 i5-7300HQ, 我针对的是这个机型并修复的所有红色错误Errors和黄色警告Warnings(强迫症警告).其次,我已经弄好DSDT很久了,应该是在2018年内,现在发的是以前的笔记,所以只能列出我遇到的问题代码和解决方案,当然这是我自己总结过的方法,并不能保证每一个现在也同样适用.在着手修复DSDT,请一定要将相应的工具升级到最新版,最好顺便用较新版本的Clover提取DSDT,这可以避免很多问题.时间关系,我没有区分ErrorsWarnings,索性一起发了.


++++++++++++++++++++++++++++++++++

1088, Not all control paths return a value ()

##在出现该问题的Method最后的括号内加上Return(Zero)

##add Return(Zero) at the end


Method (THDS, 1, Serialized)

{

         If (LNot (THEN ()))

         {

                   Return(Zero)

         }

    ......

         Store (Zero, DO30)

         Return (Zero)

}


++++++++++++++++++++++++++++++++++

4057, Name already exists in scope ()

##提示已经存在,故注销此行

##Block it


//BNUM,   8,


++++++++++++++++++++++++++++++++++

4064, Object does not exist ()

##在最前面的DefinitionBlock之中加上相应的External()

##add External()


DefinitionBlock ("", "DSDT", 2,"LENOVO", "SKL     ",0x00000000)

{   

         External (PICM)

         External (NHPG)

    ......

}


++++++++++++++++++++++++++++++++++

4066, Not a control method, cannot invoke ( is a Untyped)

##对应报错项添加MethodObj即可

##add ",MethodObj"


DefinitionBlock ("", "DSDT", 2,"LENOVO", "SKL     ",0x00000000)

{   

         External (PICM)

         External(NHPG,MethodObj)

         External(NPME,MethodObj)

         ......

}


++++++++++++++++++++++++++++++++++

13143, 4065, Object not found or not accessible from scope ()

##类似的,按正确格式加上External(),注意有MethodObj,例如

##add External(),such as

##13143, 4065, Object not found or not accessible from scope (^^GEXP.SGEP)


External(_SB_.PCI0.GEXP.SGEP, MethodObj)


++++++++++++++++++++++++++++++++++

Method Local is set but never used ()

##提示没有使用,那就加个空的if语句,避免报错,例如

##add if(){} to avoid it,such as

##Method Local is set but never used (Local7)


if(Local7){}


++++++++++++++++++++++++++++++++++

Switch expression is not a static Integer/Buffer/String data type,defaulting to Integer

##数据格式有误,改成匹配的格式,例如

##not a static data type, defaulting to Integer


Switch(ToInteger(PSH0))


++++++++++++++++++++++++++++++++++

syntax error, unexpected _onekind

##将单独的那个语句返回,例如

##There is only OLDV,return it,such as


Return (OLDV)



++++++++++++++++++++++++++++++++++

Unknown reserved name (_)

##删除方法名称里的横杠,例如

##delete "_", such as

##Method (_CFG, 0, NotSerialized)


Method(CFG, 0, NotSerialized)


++++++++++++++++++++++++++++++++++



      到这里,我的DSDT就修复完了,就这几个,没想到吧~

      最后我在笔记里还发现了,我曾经记录的几个修复DSDT的链接,他们肯定给我提供了很多帮助,感谢他们,都是很优秀的文章,不过现在没有细看了,索性发出来,你们也可以通过下面的链接多多尝试


https://bbs.pcbeta.com/viewthread-748485-1-1.html



https://bbs.pcbeta.com/viewthread-1277786-1-1.html



https://www.douban.com/note/539866675/




Rank: 2Rank: 2

UID
1234626
帖子
156
PB币
230
贡献
0
技术
0
活跃
174
沙发
发表于 2020-3-1 18:47:30 IP属地江苏 |只看该作者
你好 下面这个能说的再详细一点么 我遇到了同样的警告 但是下方的方法 我看不是很明白
能否解释的再详细一点 谢谢
++++++++++++++++++++++++++++++++++
Switch expression is not a static Integer/Buffer/String data type,defaulting to Integer
##数据格式有误,改成匹配的格式,例如
##not a static data type, defaulting to Integer

Switch(ToInteger(PSH0))

Rank: 5Rank: 5Rank: 5

UID
94551
帖子
1003
PB币
1011
贡献
0
技术
0
活跃
900
板凳
发表于 2020-3-2 14:12:58 IP属地湖北 |只看该作者
海娃bobo 发表于 2020-3-1 18:47
你好 下面这个能说的再详细一点么 我遇到了同样的警告 但是下方的方法 我看不是很明白
能否解释的再详细一 ...

他这个意思是,在原先的Switch(PSH0)这里,改成Switch(ToInteger(PSH0))这个样子。
我自己修改时,原先是这样的:Switch (DVID);然后改成这样:Switch (ToInteger(DVID));然后警告就消失了。

Rank: 2Rank: 2

UID
1234626
帖子
156
PB币
230
贡献
0
技术
0
活跃
174
4F
发表于 2020-3-2 20:58:16 IP属地江苏 |只看该作者
chinazhangfei 发表于 2020-3-2 14:12
他这个意思是,在原先的Switch(PSH0)这里,改成Switch(ToInteger(PSH0))这个样子。
我自己修改时,原先是 ...

谢谢~!大概明白了

Rank: 2Rank: 2

UID
792455
帖子
233
PB币
486
贡献
0
技术
0
活跃
226
5F
发表于 2020-8-2 22:04:14 IP属地山东 |只看该作者
好贴 收藏了。讲解的很细致

Rank: 2Rank: 2

UID
792455
帖子
233
PB币
486
贡献
0
技术
0
活跃
226
6F
发表于 2020-8-2 22:21:52 IP属地山东 |只看该作者

请问大佬这个如何不让他警告?Legacy Processor() keyword detected
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛