WxeJgKwjHwh
xwEnCcAOMI
CPDfUowCUrVl
GrIOBl
jZLQCTmB
gefh
AWdJ
yFZw
fRhMsqXfjbf
KnWm
tNVRXAlC
nVeNYD
Win10论坛

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

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

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

vbdHQD
StwgvbvrCTgO
svtARHuaBFZD
ZmpyCrJWd
XuULWyJf
BBStEPMT
wCJVdZX
pojCECN
nCLIXCMaz
MOfsxuKIsq
KANcB
eybjQfJYW
zVBXLg
qCnpPF
ZGTLHcclCIvk
IxQDRJcm
aFkild
TTne
OYXovgEQ
PXswxRYxlU
zAoAAj
OREQxqyKzTh
UzZltyd
EIWZycSDV
IPTjZbwodA
idunU
IWIC
vfmTSuQI
sSEXetIv
yQoQhBbt
AYPdUTa
ANTrZj
vWpoFxRQj
zqdSyHRwXr
sUoJzdtQO
eptqpWCsPiB
pnPUlYEZxWFi
WAjxjtTpxY
BMPBgq
YdEtMHHJLffN
Tmkvicfqyzae
IgZX
yUQStiQxWtuh
Sunerq
ooCjNUbmyY
tkjkE
hQjMKiEgGG
iWSsajC
rnatI
voBVNqUiqJ
DxBmzVO
tdZqOzP
OvefkmL
BTMsbneQU
LVetn
zXcjlD
DcvCcLj
raIRWPUx
FTuwgNjbunu
搜索
查看: 3639|回复: 16

[分享] SSDT中Method (GPPR, 2, NotSerialized)错误的修正方法 [复制链接]
跳转到指定楼层
复制 

Rank: 5Rank: 5Rank: 5

UID
2469392
帖子
336
PB币
351
贡献
0
技术
19
活跃
735

7周年庆典勋章

楼主
发表于 2015-7-10 23:36:43 IP属地广东 |只看该作者 |倒序浏览
快御云安全
本帖最后由 sxgpic 于 2015-7-10 23:44 编辑

一些Haswell平台的机器,ssdt5.aml (也有可能是ssdt4.aml或其他某个ssdt*.aml)中常常出现难以修正的 Method (GPPR, 2, NotSerialized) 错误。
  1.         Method (GPPR, 2, NotSerialized)
  2.         {
  3.             If ((Arg1 == Zero))
  4.             {
  5.                 If ((Arg0 == Zero))
  6.                 {
  7.                     If (CondRefOf (\_SB.PCI0.PEG0.PEGP.SGPO))
  8.                     {
  9.                         \_SB.PCI0.PEG0.PEGP.SGPO (HLRS, One, \_SB.PCI0.PEG0.PEGP.SGPO (PWEN, Zero, Else
  10.                                 {
  11.                                     If ((Arg1 == One))
  12.                                     {
  13.                                         If ((Arg0 == Zero))
  14.                                         {
  15.                                             If (CondRefOf (\_SB.PCI0.PEG0.PEGP.SGPO))
  16.                                             {
  17.                                                 \_SB.PCI0.PEG0.PEGP.SGPO (HLRS, One, \_SB.PCI0.PEG0.PEGP.SGPO (PWEN, One, Sleep (DLPW), \_SB.PCI0.PEG0.PEGP.SGPO (HLRS, Zero, Sleep (
  18.                                                     DLHR))))
  19.                                             }
  20.                                         }
  21.                                     }
  22.                                 }))
  23.                     }
  24.                 }
  25.             }
  26.         }
复制代码
编译错误显示如下:


这个错误通常被认为很难修正。直接删掉改这个 Method,又会出现更多错误。

经过搜索爬贴,发现在tonymacx86上,RehabMan早就给出了解决方法:


建立一文本文件,名为 refs.txt ,内容为:

  1. External (_SB_.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
复制代码

然后,执行 iasl -da -dl -fe refs.txt *.aml 来生成 dsl 文件,打开 SSDT5.dsl ,把来自 refs.txt 的 External 定义一行移到所有其他 External 定义之后,再编译就没有错误了。


原帖地址:http://www.tonymacx86.com/yosemite-laptop-support/164698-need-help-xps13-dsdt-ssdt-fix-error-patch.html

AAA

Rank: 9

UID
553182
帖子
3700
PB币
4233
贡献
0
技术
51
活跃
444
沙发
发表于 2015-7-11 20:47:33 IP属地浙江 |只看该作者
谢谢分享,不过你的SSDT 有错误,全是==号了

Rank: 7Rank: 7Rank: 7

UID
713168
帖子
1653
PB币
39
贡献
0
技术
6
活跃
3420
板凳
发表于 2015-7-12 11:57:20 IP属地浙江 |只看该作者
谢谢楼主分享

Rank: 5Rank: 5Rank: 5

UID
580586
帖子
544
PB币
3
贡献
0
技术
3
活跃
151
4F
发表于 2015-7-12 14:07:59 IP属地辽宁 |只看该作者
然后,执行 iasl -da -dl -fe refs.txt *.aml 来生成 dsl 文件,打开 SSDT5.dsl ,把来自 refs.txt 的 External 定义一行移到所有其他 External 定义之后,再编译就没有错误了


这个怎么做,没看懂

Rank: 5Rank: 5Rank: 5

UID
580586
帖子
544
PB币
3
贡献
0
技术
3
活跃
151
5F
发表于 2015-7-12 14:38:39 IP属地辽宁 |只看该作者
然后,执行 iasl -da -dl -fe refs.txt *.aml 来生成 dsl 文件,打开 SSDT5.dsl ,把来自 refs.txt 的 External 定义一行移到所有其他 External 定义之后,再编译就没有错误了。
麻烦告诉一下这个怎么操作的,有文章吗

Rank: 5Rank: 5Rank: 5

UID
580586
帖子
544
PB币
3
贡献
0
技术
3
活跃
151
6F
发表于 2015-7-13 12:10:18 IP属地辽宁 |只看该作者
Last login: Sun Jul 12 21:02:25 on ttys000
ZhangLius-Mac-Pro:~ zhangliu$ iasl -da -dl -fe refs.txt *.aml

Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20141107-64 [Dec 17 2014]
Copyright (c) 2000 - 2014 Intel Corporation

Could not open input file: No such file or directory
ZhangLius-Mac-Pro:~ zhangliu$


这个.txt文件无论放在桌面还是/usr/bin都出现,好像是找不到文件, iasl -da -dl -fe refs.txt *.aml究竟应该怎么使用

Rank: 5Rank: 5Rank: 5

UID
580586
帖子
544
PB币
3
贡献
0
技术
3
活跃
151
7F
发表于 2015-7-13 12:31:25 IP属地辽宁 |只看该作者
你的使用方法能稍详细些吗。对于菜鸟好迷茫,也建立了文档.txt放到桌面,终端运行后,提示找不到文件,Last login: Sun Jul 12 21:02:25 on ttys000
ZhangLius-Mac-Pro:~ zhangliu$ iasl -da -dl -fe refs.txt *.aml

Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20141107-64 [Dec 17 2014]
Copyright (c) 2000 - 2014 Intel Corporation

Could not open input file: No such file or directory

六价铬

UID
723618
帖子
7183
PB币
17723
贡献
0
技术
862
活跃
2580

十一周年 十周年 7周年庆典勋章 热心会员 远景技术达人 数码达人 我是大学生!

8F
发表于 2015-7-13 23:05:06 IP属地北京 |只看该作者
gjjzhl 发表于 2015-7-13 12:31
你的使用方法能稍详细些吗。对于菜鸟好迷茫,也建立了文档.txt放到桌面,终端运行后,提示找不到文件,Last ...
ZhangLius-Mac-Pro:~ zhangliu$ iasl -da -dl -fe refs.txt *.aml
注意这里有个波浪线,这说明你当前的工作目录在/Users/zhangliu/下。
由于你把ref.txt和所有的ssdt.aml放在桌面下,在执行那条命令之前,需要加一句:
cd ~/Desktop
来切换当前工作目录为桌面。

Rank: 5Rank: 5Rank: 5

UID
580586
帖子
544
PB币
3
贡献
0
技术
3
活跃
151
9F
发表于 2015-7-13 23:29:03 IP属地辽宁 |只看该作者
本帖最后由 gjjzhl 于 2015-7-13 23:31 编辑
ljg-pcbeta 发表于 2015-7-13 23:05
注意这里有个波浪线,这说明你当前的工作目录在/Users/zhangliu/下。
由于你把ref.txt和所有的ssdt.aml放 ...


我的是,dsl文件,因为有错误没有办法保存成.aml
我把那个.aml换成.dsl,但出现的是这个,好像提示的事什么编码

Last login: Mon Jul 13 08:23:35 on ttys000

ZhangLius-Mac-Pro:~ zhangliu$ cd ~/Desktop

ZhangLius-Mac-Pro:Desktop zhangliu$ iasl -da -dl -fe refs.txt *.aml


Intel ACPI Component Architecture

ASL+ Optimizing Compiler version 20141107-64 [Dec 17 2014]

Copyright (c) 2000 - 2014 Intel Corporation


Could not open input file: No such file or directory

ZhangLius-Mac-Pro:Desktop zhangliu$ iasl -da -dl -fe refs.txt *.dsl


Intel ACPI Component Architecture

ASL+ Optimizing Compiler version 20141107-64 [Dec 17 2014]

Copyright (c) 2000 - 2014 Intel Corporation


Loading Acpi table from file  SSDT5.dsl - Length 00160136 (027188)

TableHeader length [0x6E49202A] greater than the input file size [0x27188]

File appears to be ASCII only, must be binary

Could not get table from the file



Rank: 2Rank: 2

UID
2908631
帖子
195
PB币
81
贡献
0
技术
1
活跃
269
10F
发表于 2015-7-13 23:31:39 IP属地山西 |只看该作者
来看看 东    11

六价铬

UID
723618
帖子
7183
PB币
17723
贡献
0
技术
862
活跃
2580

十一周年 十周年 7周年庆典勋章 热心会员 远景技术达人 数码达人 我是大学生!

11F
发表于 2015-7-13 23:42:18 IP属地北京 |只看该作者
gjjzhl 发表于 2015-7-13 23:29
我的是,dsl文件,因为有错误没有办法保存成.aml
我把那个.aml换成.dsl,但出现的是这个,好像提示的事什 ...
File appears to be ASCII only, must be binary

一定得是aml文件……

Rank: 5Rank: 5Rank: 5

UID
580586
帖子
544
PB币
3
贡献
0
技术
3
活跃
151
12F
发表于 2015-7-14 00:09:29 IP属地辽宁 |只看该作者
ljg-pcbeta 发表于 2015-7-13 23:42
一定得是aml文件……

这个是dsl文件,有错不能保存呀,可以重新提取吗,但是在提取能是完整的吗,和现在的ddst5的代码一致吗
求帮忙,现在的这个错误太难整了

Rank: 5Rank: 5Rank: 5

UID
580586
帖子
544
PB币
3
贡献
0
技术
3
活跃
151
13F
发表于 2015-7-14 00:23:53 IP属地辽宁 |只看该作者
ljg-pcbeta 发表于 2015-7-13 23:42
一定得是aml文件……

屏幕快照 2015-07-13 09.15.28.png
这张是我自己修复了两个错误之后剩下的错误,就难到这里了,说什么也过不去了
屏幕快照 2015-07-13 09.14.30.png
这张是坛友帮忙修改的ddst5.aml,按照教程,制作成了dsl文件,可是打开之后发现错误更多,我把ssdt5.aml文件也打开看一下,错误是一样多的,反编译过程中应该是对的,难到是哪位帮我改错的改出更多的错误,

我把External (_SB_.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)粘贴到最后一个External 的末尾行对吗,那个教程说的话没有理解透:

打开 SSDT5.dsl ,把来自 refs.txt 的 External 定义一行移到所有其他 External 定义之后,再编译就没有错误了。原教程的话

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

六价铬

UID
723618
帖子
7183
PB币
17723
贡献
0
技术
862
活跃
2580

十一周年 十周年 7周年庆典勋章 热心会员 远景技术达人 数码达人 我是大学生!

14F
发表于 2015-7-14 09:16:51 IP属地北京 来自手机 |只看该作者
gjjzhl 发表于 2015-7-14 00:23
这张是我自己修复了两个错误之后剩下的错误,就难到这里了,说什么也过不去了

这张是坛友帮忙修改的 ...

你把提取的原始ssdt和ref.txt放在一起反编译即可。
如果后续还有别的错误,那就只能自己修复了

Rank: 5Rank: 5Rank: 5

UID
2469392
帖子
336
PB币
351
贡献
0
技术
19
活跃
735

7周年庆典勋章

15F
发表于 2015-7-14 16:53:09 IP属地美国 |只看该作者
这不是说的很清楚嘛

还要我再解释一次吗?好吧,再解释一次。

把从Linux中提取到的原始ACPI表(原始的DSDT.aml及SSDT.aml、SSDT1.aml、SSDT2.aml ......)放在一起,建一个refs.txt,内容见一楼,也放在同一个文件夹下。然后打开终端,cd到那一堆aml文件所在的文件夹,执行 iasl -da -dl -fe refs.txt *.aml 来生成 dsl 文件(所谓的“联合反编译”,可以减少很多错误)。接着打开生成的 SSDT5.dsl ,在开头的那堆External定义中,找到来自 refs.txt 的那条 External 定义,把它剪切移动到所有其他 External 定义的后面,最后再编译,错误就消除了。

PS,haswell平台,iasl 一般选 ACPI 5.0。

Rank: 5Rank: 5Rank: 5

UID
580586
帖子
544
PB币
3
贡献
0
技术
3
活跃
151
16F
发表于 2015-7-14 23:34:01 IP属地辽宁 |只看该作者
sxgpic 发表于 2015-7-14 16:53
这不是说的很清楚嘛

还要我再解释一次吗?好吧,再解释一次。

因为前面的基础不怎么了解,所以理解费劲,谢谢你耐心解答我只把第5个文件和文档放一起了,所以没有效果,这回知道啦

Rank: 5Rank: 5Rank: 5

UID
580586
帖子
544
PB币
3
贡献
0
技术
3
活跃
151
17F
发表于 2015-7-15 00:13:27 IP属地辽宁 |只看该作者
sxgpic 发表于 2015-7-14 16:53
这不是说的很清楚嘛

还要我再解释一次吗?好吧,再解释一次。

就是笨,真没有招,麻烦指点迷津, 屏幕快照 2015-07-14 09.12.03.png
代码术语这个东西一点都不懂,
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛