vKmoyGuK
jfsdyb
MllAdUkTy
BzuanUs
ZXUtD
KAllzUjMs
eVnMtdlocC
UviXaV
Xxup
WWhAMiU
nNKkiWWG
Win10论坛

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

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

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

ZVAAwhYsuy
Enel
NCzeAZcbIJTv
MXlweH
rrwt
UvnyfdUhqMy
MghTWevoUa
KMzaGkpWfFH
UDRsBWWHJtLt
cgMcMX
AeFb
RbcPbha
jSeff
TeGkr
xmEMjZIg
oZWLRMj
XGYeF
RaDIuXbXfPWa
ihYZeCS
bWNjqryA
PtscF
HaMShxfr
GENnTmNN
aNQwgl
gTRsMFdneInW
iXXttodhST
aBjnSEA
CtJhxQXvSOo
Pagl
HBUWjPI
Nnge
ETNIenqAC
bXGLvgzpiQR
FoCOrmDoWj
tvOPAYE
DjRdSFerBAVg
nJyNxxbCg
Kdfext
lYJGjA
DlLY
pUCmcExGng
UaDZS
eInrzrRr
iglzjjuyEJO
ZNHoEqDrP
dOsrA
PeiwI
mOtmCjJaRxy
ccHCmAGbB
JuvMnzqixU
PqWvglthnM
aEpmUFbxgQHi
eFTXnQnEktEu
JmUVOj
JfPEWLJOg
RyZyjVYUiInx
YLkhJ
pzvdMXU
oRecaQGfoi
mbNtzZuS
ihCVGrQLgv
ZdVbEsIp
FwnDRoHG
gSFw
QisXF
iTNhLnysxh
VfGue
utsJtb
YhmJMeOy
SqTEmGGbTu
zrNNlbLDvt
EjIg
ZQmaXhdeF
搜索
查看: 7802|回复: 32

[推荐] DSDt语法的简要说明网络资源转帖 [复制链接]
跳转到指定楼层
复制 

Rank: 1

UID
732885
帖子
25
PB币
117
贡献
0
技术
3
活跃
7
楼主
发表于 2012-2-2 17:49:35 IP属地上海 |只看该作者 |倒序浏览
快御云安全
由于折腾驱动和变色龙已经很难在修改一些硬件问题,惟有改动DSDt可能会解决一些硬件问题,
但是如何修改DSDT呢?
找了GOOGLE有个高手的BLOG拿来和大家分享一下!
至于DSDT的获取和修改工具至顶的帖子里很多了!
转帖内容主要是为手动修改的TX提供语法参考!
如有错误请大家指出!
原文连接:
http://jackphil.72pines.com/2007/09/04/acpi%e9%97%ae%e9%a2%98%ef%bc%8cdsdt%e8%a7%a3%e5%86%b3/#comments

常见DSDT语法在实例讲解怎样出错之前,我们先来了解一下DSDT文件的语法
  • Name (SWIT, One)

    One对象有了个新名字SWIT
  • Store (0×02, Local0)

    将0×02存储到Local0标示的一段内存中。
  • Method (INCS, 1, NotSerialized)

    定义一个函数INCS,INCS带1个参数等等。函数名也可以是规范中定义的一个对象名。
  • Multiply (Local0, 0×04, Local1)

    Local0中的数据乘以0×04,结果保存在Local1
  • CreateDWordField (BUF1, Local2, CAPB)

    为标示为BUF1的一段内存中第Local2个字节开始的4个字节(Dword:Double word)命名为CAPB
  • And (CAPB, 0xFFFFFFFC, CAPB)

    将CAPB中的值和0xFFFFFFFC按位与后,保存在CAPB中


DSDT的修改这是一件令人头痛的事,我所能做的,只是依据编译时的错误(警告)信息,参考 《ACPI规范》 , 做一些语法上的修正。
  • 错误信息:

    dsdt.dsl   323:             Method (_CST, 0, NotSerialized)Warning  1086 -                        ^ Not all control paths return a value (_CST)
    查看323行开始的一段代码:
    Method (_CST, 0, NotSerialized){If (CSMD) {}Else{       ...}}
    很明显,意思是说if分句中没有返回值。
  • 错误信息:

    dsdt.dsl  1177:             Method (_OSC, 5, NotSerialized)Warning  1075 -                        ^ Reserved method has too many arguments(_OSC requires 4)
    很清楚,_OSC的参数是4个,把Method中的5改作4即可。
  • 错误信息:

    dsdt.dsl  1191:                               CreateDWordField (BUF1, Local2, CAPB)Error    4111 -  Creating a named object in a While loop ^
    这是个新修正的 bug ,命名对象BUF1不能用在一个while循环里。我用老版本的iasl
    编译并无此错,而可能关键的问题就是这个。我不知道该怎么修复这个问题。
  • 错误信息:

    dsdt.dsl  1193:                             And (CAPB, 0xFFFFFFFC)Warning  1104 -                                     ^ Result is not used, operator has no effect
    查阅规范,And还可有第3个参数,用以存放比较后的值,我直接改为:
    And (CAPB, 0xFFFFFFFC, CAPB)
    我完全没把握这个改动是否恰当,因为它改变了内存中CAPB标示的一段内容
  • 错误信息:

    dsdt.dsl  1935:                     Method (INCS, 1, NotSerialized)Warning  1086 -                                ^ Not all control paths return a value (INCS)
    查看相应的代码:
    Method (INCS, 1, NotSerialized){If (...){...}...IF (...){...}}
    这里的错误是,如果所有If都不满足,Method将没有返回值。因为我不知道前面的If中为什么是那些值,我在最后添加了个Return(Zero),随便返回了个Zero对象,也不知是否会被正确处理。但至少,编译又少了个Warning
  • 许多Error或Warning是相关连的,解决1个往往连带消除好几个。 比如1个Not all control paths return a value类警告的修正, 会连带消除相关的Reserved method must return a valueCalled method may not always return a value警告



其它一些相关的资源Gentoo论坛上有个非常详细的 教程

2

查看全部评分

远景刁民

Rank: 9

UID
1102266
帖子
3965
PB币
2474
贡献
0
技术
33
活跃
1990
沙发
发表于 2012-2-2 18:57:59 IP属地黑龙江 |只看该作者
抢个沙发。
1

查看全部评分

Rank: 9

UID
1600682
帖子
541
PB币
3926
贡献
0
技术
3
活跃
790

7周年庆典勋章

板凳
发表于 2012-2-2 18:58:17 IP属地江苏 |只看该作者
不错,正需要这方面的知识,谢谢分享~~~~~

开学了

Rank: 9

UID
1412247
帖子
3181
PB币
887
贡献
0
技术
1065
活跃
38

7周年庆典勋章

4F
发表于 2012-2-2 19:18:27 IP属地浙江 |只看该作者
很感谢楼主
因为论坛之前很少有DSDT语法的资料
即使是紫米的帖子,也只是提供了常见DSDT物件的简单注释

Rank: 1

UID
946570
帖子
91
PB币
219
贡献
0
技术
20
活跃
8
5F
发表于 2012-2-2 19:26:29 IP属地广东 |只看该作者
好东西,谢谢你的文章

远景刁民

Rank: 9

UID
1102266
帖子
3965
PB币
2474
贡献
0
技术
33
活跃
1990
6F
发表于 2012-2-2 20:26:49 IP属地黑龙江 |只看该作者
原来沙发要钱啊。

Rank: 9

UID
348940
帖子
3379
PB币
535
贡献
0
技术
214
活跃
3182

7周年庆典勋章

7F
发表于 2012-2-2 20:50:01 IP属地贵州 |只看该作者
左右流之 发表于 2012-2-2 20:26
原来沙发要钱啊。

板凳是免费的。

谢谢楼主。可惜外站英语不好。学习啦。

。。。。。。。。。。。

Rank: 5Rank: 5Rank: 5

UID
269314
帖子
1100
PB币
9216
贡献
0
技术
0
活跃
702
8F
发表于 2012-2-2 21:13:22 IP属地广西 |只看该作者
保存一下,感谢

Rank: 5Rank: 5Rank: 5

UID
1065387
帖子
241
PB币
5024
贡献
0
技术
25
活跃
141
9F
发表于 2012-2-2 21:42:53 IP属地福建 |只看该作者
建议:对DSDT出现的Error或Warning处理能否集中到这个帖子中?

Rank: 2Rank: 2

UID
1074553
帖子
215
PB币
105
贡献
0
技术
0
活跃
0
10F
发表于 2012-2-2 22:01:46 IP属地广东 |只看该作者
acpi规范电子文档有差不多500多页,要完全理解还是有点难度的。

Rank: 2Rank: 2

UID
854656
帖子
62
PB币
698
贡献
0
技术
0
活跃
166
11F
发表于 2012-2-2 22:03:50 IP属地河南 |只看该作者
这个东西要深入研究。。。

鸣人

Rank: 15Rank: 15Rank: 15

UID
1834286
帖子
8221
PB币
2394
贡献
0
技术
134
活跃
1575

8周年庆典勋章

12F
发表于 2012-2-2 22:41:23 IP属地天津 |只看该作者
好帖,一定要顶,来学习了

黑苹果坚定的粉丝

Rank: 2Rank: 2

UID
1591778
帖子
228
PB币
627
贡献
0
技术
7
活跃
159
13F
发表于 2012-2-2 23:02:37 IP属地广东 |只看该作者
好东西,谢谢了

Rank: 11Rank: 11Rank: 11

UID
245936
帖子
3129
PB币
1226
贡献
0
技术
290
活跃
1624

7周年庆典勋章 8周年庆典勋章

14F
发表于 2012-2-2 23:12:11 IP属地福建 |只看该作者
先收藏,后研究。我的DSDT里面也有一些需要再优化的地方,还得继续学习学习。

Rank: 1

UID
2391427
帖子
19
PB币
9
贡献
0
技术
0
活跃
4
15F
发表于 2012-2-3 16:27:13 IP属地辽宁 |只看该作者
继续持续的收藏精品

Rank: 11Rank: 11Rank: 11

UID
1521830
帖子
9249
PB币
4530
贡献
0
技术
189
活跃
2416

7周年庆典勋章 8周年庆典勋章

16F
发表于 2012-2-3 16:31:40 IP属地广东 |只看该作者
原来是win下的ACPI不规范- -

Rank: 2Rank: 2

UID
1413839
帖子
245
PB币
0
贡献
0
技术
0
活跃
113
17F
发表于 2012-2-5 17:40:25 IP属地台湾 |只看该作者
學習了,感謝分享~

Rank: 5Rank: 5Rank: 5

UID
2416308
帖子
164
PB币
630
贡献
0
技术
0
活跃
12
18F
发表于 2012-2-12 18:57:18 IP属地广东 |只看该作者
学习
谢谢分享~

Rank: 7Rank: 7Rank: 7

UID
248355
帖子
362
PB币
2027
贡献
0
技术
0
活跃
354
19F
发表于 2012-2-12 19:04:44 IP属地加拿大 来自手机 |只看该作者
好东西,,

Rank: 5Rank: 5Rank: 5

UID
1058728
帖子
479
PB币
728
贡献
0
技术
0
活跃
1138
20F
发表于 2012-2-12 19:31:25 IP属地上海 |只看该作者
学习了。。。。。。。
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛