DSDT修改教程
原创DSDT最完整的修改教程

DSDT修改教程这就是重点了,实际上整个一个星期的工作绝大部分都是在如果驱动硬件上做文章了,虽然期间重装了三遍系统,但感觉轻车熟路,玩一样的。
在驱动问题上确实走了很多的弯路,但是这个弯路有时候有事必须的,因为人总想做的完美一些,只有不停地尝试才能找到更好的办法。
1、显卡装完雪豹第一个想法就是希望能看到华丽的而且和windows不一样的界面,但事实又总是和想象的有所区别,界面是变了,但是连进入系统式欢迎动画都是卡卡卡!!所以第一个想法也是把显卡的驱动装上,于是google,一堆的驱动,一堆的方法,只是没有哪个具体说了怎样驱动 9300m gs的,没办法只好一个一个的试了,几乎把所有的驱动都试过了(没找到的,不知道的,不算),NVkushInstaller、NVinstaller v.52、NVIDIA_9000_Series_Driver_v2、NVdarwinInstaller1.2.5、Natit.kext一样的不一样的都试了一遍,统统不行!!然后又试EFI String,用OSX86Tools_1.0.150(这是个好东西),但是顶多就是强制分辨率,驱动的不能。
还有人介绍的就是在 com.apple.Boot.plist里面加入1.<key>GraphicsEnabler</key>2.<string>y</string>不知是不是人品不好,这个东东在别人那挺好,在我这统统不管用。
pcbeta逛了逛才接触到通过dsdt的修改来驱动显卡,让我兴奋的不得了,凭直觉觉得用dsdt来驱动硬件应该是比较完美的方法,于是全身心投入到了dsdt的研究当中,由于之前一点都没有接触过dsdt(java编程还是会的),只能在网上找方法然后依葫芦画瓢,但是开始根本不知道从何入手,比较简单的方法就是威廉的acpi patch,但是又不支持我这个类型的bios,只能手动修改!彷徨中一个大侠的出现让我看到了曙光,[url=space.php?uid=487636]xchobits[/url]大侠把他自己的dsdt文件给了我,因为我们的本子都是差不多的,我把他的dsdt.aml放入drawn文件夹下后,奇迹出现了,透明效果一下出来了,高兴的不得了!!!甚至安装了legacyHDA后,声卡也出声了!!!但问题也接踵而来,就是每次进系统时总是先要五国一次,然后强制重启就能正常进入,郁闷的不得鸟!!我分析,毕竟我的硬件不完全就是他的硬件,是不是某些地方的不同导致了五国,于是我决定自己修改dsdt!!==========================================================2、DSDT首先要把xchobits的 aml文件反编译,干吗?学习!!下载了iasl-win-20080729,反编译命令1.2.iasl -d dsdt.aml得到dsdt.dsl 文件,一开始我一直用写字板编辑,后来发现用UltraEdit-32相当的方便,在视图里面选择查看方式选择perl,看到左边的加号了,确保了每个{ }都不会错,大大降低了出错的几率。
DSDT

DSDT百科名片DSDT是主板BIOS中ACPI的一个表。
什么是ACPI呢,它是BIOS的一个高级功能模块。
黑苹果由于硬件兼容性问题,多使用修改DSDT的方法来解决。
例如显卡,声卡驱动。
那什么是DSDT呢,我们先需要了解一下它。
下面咱稍微详细的从最大的开始说:一、首先,BIOS(略)二、ACPIACPI是Hewlett-Packard, Intel, Microsoft, Phoenix, 和Toshiba共同制定的一个开放的行业规范。
是The Advanced Configuration and Power Interface 的缩写,也就是“电源管理模式和配置管理的接口规范”。
从名字可以看出主要是“电源管理”和“配置管理”。
更多详细描述可以访问Intel technology 下载PDF描述文档。
它主要涵盖的功能包括:System power management(系统电源管理)Device power management(设备电源管理)Processor power management(处理器电源管理)Device and processor performance management(设备及处理器性能管理)Configuration / Plug and Play(配置/即插即用)System Events(系统事件)Battery management(电池管理)Thermal management(温度管理)Embedded Controller(嵌入式控制器)SMBus Controller(SMBus控制器)在计算机应用平台,ACPI越来越重要。
ACPI由很多表组成,包括:RSDP,SDTH,RSDT,F ADT,F ACS,DSDT,SSDT,MADT,SBST,XSDT,ECDT,SLIT,SRAT。
(略写了,不用太详细介绍)其中DSDT就是它的一个重要的描述表。
三、DSDT它是The Differentiated System Description Table的简写。
五步教你用idsdt软件来驱动你的显声卡驱动(更新cedoc文件)

本帖最后由c24047 于2011-10-5 18:07 编辑现在idsdt这个软件,越来越成熟,我感觉我的教程可能是要过时了!而且现在出现一些同学无法提取rom,这个我也没办法,可以尝试一下网上搜索一下关于软件问题不要向我求助,毕竟软件不是我编写,如果发现程序友什么bug,可以向hjmac求助显卡的rom50楼上有hjmac的新版本介绍,关于声卡驱动的,有兴趣的可以翻页去看看,新版已经支持声卡前后面板切换了!关于这个帖子,我准备从写一下,美化一下帖子,更新更多的cedoc文件!我正在准备资源,学习如何排版,各位静候佳音把--------------------------------在教程之前我还要说一句dsdt只是描述你硬件的文件,他起不到驱动硬件的功效,他只是告诉你的mac系统你的主板上都有什么然而你的操作系统不支持某一硬件,即使你使用了正确的dsdt 文件还是有可能无法驱动你的显卡所以,我不建议过分依赖于dsdt 文件,毕竟你的电脑不是真正的mac--------------------------------windows下!--------------------------------第一步.下载所需软件首先我们下载我们所需要的工具(提供下载链接)下载EVEREST Ultimate Edition(非常专业的硬件检测软件)/soft/6501.htmlgpu-z(非常专业的显卡检测软件)/soft/61779.htmidsdt软件最新版本链接/folder/f682566642a----------------------------------第二步.提取主板bios文件打开我们刚才下载的软件EVEREST Ultimate Edition 在软件的状态栏(或称信息栏点击鼠标右键,选择acpi tool)这时会出现一大堆的信息,我们无视他直接按save dsdt保存到此我们就拿到了我们主板的bios文件,好啦关闭软件-------------------------------------------------第三步.提取显卡rom文件这时就需要我们下载的gpu-z软件了,软件界面如下点击我们图上的绿色按钮,然后点击保存为文件这里注意一下,gpu-z默认保存的显卡rom文件扩展名为bin,但是idsdt软件所识别的格式为rom所以在保存之后要更改文件扩展名为rom到此win的工作就结束了-----------------------------------------------第四步.提取声卡ceodc文件对于这个codec文件对新手来说真是一头雾水,究竟这个codec是个什么玩意呢?我们来看看网上的说法在声卡上往往可以找到1颗或者2颗甚至3颗4面有引脚的正方形芯片,面积一般为0.5-1.0平方厘米。
MAC关于DSDT的修改及一些问题

MAC关于DSDT的修改及一些问题一、如果3项都选择会出现2个Errors 如果是3项都不选 0 Errors 通过实验是HPET 补丁的问题选的话有2个Errors不选无Errors 。
而 Aliases补丁和RTC补丁选不选都没有错误出现。
问:Aliases补丁和RTC补丁在修补的时候选还是不选?二、我提取的DSDT中有 13个Warnings 如果 4个都选上变为 7个。
于是开始尝试单个的选。
local0 与 DGPT 选不选无影响。
单独选WAK 为14个Warnings。
单独选 MUTE 为6个Warnings问:local0 与 DGPT 选与不选?三、本人把不影响错误警告之类的修复都选上了最终0 Errors, 6 Warnings, 25 Remarks, 98 Optimizations四、开始纠错。
1.Remarks 的修改我的DSDT 中有25个类似的错误dsdt.dsl 2254: Name (_T_0, Zero)Remark 5110 - Use of compiler reserved name ^ (_T_0)例子: If (LEqual (_T_0, 0x03)){SIT3 (PRM0, PRM1, PRM2)}Else{If (LEqual (_T_0, 0x04))………………}将其中的 _T_0 都改为 T_0 即可或者将_T_0 改为 T0_0好了 25个 Remarks 消失了。
2. Warnings 的修改这个错误有很多种类。
我的DSDT 中有两种第一种: dsdt.dsl 7668: Method (TGET, 1, NotSerialized) Warning 1087 - ^ Not all control paths return a value (TGET) 第二种 dsdt.dsl 7827: Store (FGET (Local0), Local1)Warning 1092 - ^ Called method may not always return a value 先来第一种:Method (FGET, 1, NotSerialized){If (LEqual (Arg0, Zero)){Return (^^SIOR.HWF1 ())}If (LEqual (Arg0, One)){Return (^^SIOR.HWF2 ())}If (LEqual (Arg0, 0x02)){Return (^^SIOR.HWF3 ())}}有两种改法一种是:在末加入 Return (Zero) 一种是在末尾加入Else{Return(Package(0x02){0x00, 0x00})}Method (FGET, 1, NotSerialized) {If (LEqual (Arg0, Zero)){Return (^^SIOR.HWF1 ())}If (LEqual (Arg0, One)){Return (^^SIOR.HWF2 ())}If (LEqual (Arg0, 0x02)){Return (^^SIOR.HWF3 ())}Return (Zero)}或者Method (FGET, 1, NotSerialized) {If (LEqual (Arg0, Zero)){Return (^^SIOR.HWF1 ())}If (LEqual (Arg0, One)){Return (^^SIOR.HWF2 ())}If (LEqual (Arg0, 0x02)){Return (^^SIOR.HWF3 ())}Else{Return(Package(0x02){0x00, 0x00})}}两种都能解决 Warnings 但是究竟用那个? 爬文中例子都是用第二中由于最先看到的是第一种方法所以两个都尝试了一下。
威廉第三的MAC系列教程(一) ——使用ACPI Patcher制作DSDT补丁

威廉第三的MAC系列教程(一)——使用ACPI Patcher制作DSDT补丁很早就开始接触Hacintosh了,也经常出没在各个hacintosh论坛,因此也积累了不少知识,但是很多东西都是英文的,却没有人引进到国内,导致很多人都不了解Hacintosh社区最新的进展,或者知其然不知其所以然,因此我在这里抛砖引玉,把自己知道的一些知识写出来和大家分享,也是想引出更多高手来。
第一篇我想给大家介绍如何使用ACPI Pa tcher制作DS DT补丁。
很多人都知道使用DSDT补丁可以开双核,但DS DT的功能不仅仅如此,除了开双核,还可以可以修复A CPI缺陷(不需要Disabler.kext,原版cpupowermanagement正常使用),RTC,HPET缺陷(原版kext正常工作),显卡(代替efistring),声卡(只是代替了HDAEna bler.kext),网卡(包括TimeMachine问题),此外还可以解决其他很多奇奇怪怪的问题,因此建议尽可能使用DS DT补丁。
但是DSDT到底是什么东西,怎么这么神奇呢?这个要从ACPI说起了,ACPI是Intel(i386,x86_64,IA64)平台的标准固件规范,绝大部分OS 需要从BIOS得到的信息都可以从ACPI得到,并且现在的趋势是未来的任何新的特性相关的信息都只能从ACPI得到。
ACPI的信息包括:配置信息:这些信息从legacy PNP设备的配置,到多处理器,到NUMA,比如现在的MultipleCore的信息就只能从A CPI得到。
Linux启动很多代码就是处理这些配置信息,比如A PIC,I OAPIC设置等。
ACPI相关设备,主要是笔记本电脑相关的设备,包括电源按钮,电池,外接电源,风扇,热键等。
底层硬件,比如PCI中断路由,chipset(主要是南桥PCI-to-LPCbridge)操作等。
电源管理,A CPI定义的电源管理包括CPU的电源管理(调频率P-state,idleC-state,throtting T-sta te),设备电源管理(D-state),系统电源管理(Suspend-to-Ram,Suspend-to-Disk, power off)等。
DSDT修改

在此之前先说说DSDT的作用吧= =很多人老是问为什么在系统信息里面显示了,但是就是没法驱动。
我再次声明:DSDT没有驱动功能,说白了它只是用来告诉Mac,电脑里面有某些硬件,所以在系统信息里面就能显示了~但是有没有驱动这要看Mac的有没有驱动可以支持你的硬件了。
还有我们使用的DSDT文件是DSDT.aml(dsdt.aml)不是DSDT.dsl(dsdt.dsl)=========================================================DSDT如何使用变色龙引导或者HJmac引导的话直接放到Mac盘的Extra文件夹的根目录,重启就行了~====================================================如何提取DSDT?提取DSDT主要分为2种~第一种:Win下提取。
第二种:Mac下提取。
这2种有什么提取出来的DSDT有什么区别么~~说实话:其实没多大区别~只要你的Mac 没有用DSDT启动的话,提取出来的和Win是一样的(我是没发现什么不同,若是真有什么不同,请指正~)如果你的Mac已经加载了修改过的DSDT再来提取DSDT那么生成的DSDT就会和Win下提取的不同了。
=========================================================Win下提取DSDT:1.使用AIDA64 Extrem Edition(原名:EVEREST Ultimate Edition)2.使用DSDT Editor(需安装JAVA)使用AIDA64提取:1.在状态栏空白处右键,如图:2.选择ACPI Tool,如图:3.这时会出现一大堆的信息,我们无视他直接按Save DSDT保存至此我们就把DSDT提取出来了~不过提取出来的DSDT是bin后缀的,自行把后缀改为aml(此时请不要直接拿去用,一般提取出来的DSDT都是有错误的),便可在DSDT Editor 软件打开修改了。
使用ACPI_Patcher制作DSDT补丁

威廉第三的MAC系列教程(一)——使用ACPI Patcher制作DSDT补丁很早就开始接触Hacintosh了,也经常出没在各个hacintosh论坛,因此也积累了不少知识,但是很多东西都是英文的,却没有人引进到国内,导致很多人都不了解Hacintosh社区最新的进展,或者知其然不知其所以然,因此我在这里抛砖引玉,把自己知道的一些知识写出来和大家分享,也是想引出更多高手来。
第一篇我想给大家介绍如何使用ACPI Patcher制作DSDT补丁。
很多人都知道使用DSDT补丁可以开双核,但DSDT的功能不仅仅如此,除了开双核,还可以可以修复ACPI缺陷(不需要Disabler.kext,原版cpupowermanagement正常使用),RTC,HPET缺陷(原版kext正常工作),显卡(代替efistring),声卡(只是代替了HDAEnabler.kext),网卡(包括TimeMachine问题),此外还可以解决其他很多奇奇怪怪的问题,因此建议尽可能使用DSDT补丁。
但是DSDT到底是什么东西,怎么这么神奇呢?这个要从ACPI说起了,ACPI是Intel(i386,x86_64,IA64)平台的标准固件规范,绝大部分OS需要从BIOS得到的信息都可以从ACPI得到,并且现在的趋势是未来的任何新的特性相关的信息都只能从ACPI得到。
ACPI的信息包括:配置信息,这些信息从legacyPNP设备的配置,到多处理器,到NUMA,比如现在的MultipleCore的信息就只能从ACPI得到。
Linux启动很多代码就是处理这些配置信息,比如APIC,IOAPIC设置等。
ACPI相关设备,主要是笔记本电脑相关的设备,包括电源按钮,电池,外接电源,风扇,热键等。
底层硬件,比如PCI中断路由,chipset(主要是南桥PCI-to-LPCbridge)操作等。
电源管理,ACPI定义的电源管理包括CPU的电源管理(调频率P-state,idleC-state,throttingT-state),设备电源管理(D-state),系统电源管理(Suspend-to-Ram,Suspend-to-Disk, power off)等。
Windows下无需BIOS文件,使用Everest和ACPI Patcher轻松生成dsdt.aml

不知道有没有人发过,最近看到网上一些有关dsdt的帖子,在存在windows操作系统的情况下,个人感觉这是最简便的制作打好补丁的dsdt.aml的方法。
未在XP下测试过。
不需要bios文件,所以不受Award和AMI的限制,任何主板都可以搞定。
有了可用的dsdt.aml,就不用冒险刷BIOS。
需要Everest软件和威廉第三关于dsdt帖子里的ACPI Patcher,两者都是windows下运行。
总共两步。
第一步来自这个帖子:使用Everest提取系统的DSDT在Everest底部状态栏右键弹出菜单,点击ACPI tool。
点击Save DSDT,选择存放到一个指定地点,生成的是后缀为bin的文件,这个就是一个类似于未打补丁的dsdt.aml的文件。
注意:需要修复BIOS重置或其他dsl修正的跳过第二步到P.S.查看。
第二步:使用ACPI Patcher对第一步生成的bin文件打补丁并生成aml文件选择DSDT Patch这个菜单,指定源文件为上述的bin文件,再指定一个输出路径,点击Patch AML即可。
找到生成的aml文件,将其改名为dsdt.aml,即可复制到苹果系统的根目录下使用,我一般将它的ownership改为0:0(root:wheel)。
P. S. 关于修复BIOS重置及其他出错信息我的情况是不需要更正.如果你的dsdt需要修正,可以使用ACPIPatcher的D/C DSDT菜单项将第一步的bin文件先decompile为dsl文件编辑好之后,仍然使用D/C DSDT菜单项将该dsl文件打补丁并编译为aml文件. 注意,如下图中所示,一定要勾上左侧窗口里的Patch before compile,否则右边所有的patch选项不起作用。
BIOS重置的修订是找到RTC段,将//length之前的一个值改为0x02,详情见youminbuluo的帖子。
对于其他出错信息,当你编译为aml文件,如果不成功,请在ACPI Patcher左下角的窗口里查看出错信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DSDT修改教程本人机子配置:ACER Aspire 4930G主板:处理器名称Mobile DualCore Intel Core 2 Duo T5800, 2000 MHz (10 x 200)主板名称 Acer Aspire 4930主板芯片组Intel Cantiga PM45系统内存 3072 MB (DDR2-667 DDR2 SDRAM)DIMM1: Hynix HYMP125S64CP8-Y5 2 GB DDR2-667 DDR2 SDRAMDIMM3: Nanya NT1GT64U8HB0BN-3C 1 GB DDR2-667 DDR2 SDRAMBIOS 类型 Insyde (03/11/09)显示设备:显示卡 NVIDIA GeForce 9300M GS (256 MB)显示卡 NVIDIA GeForce 9300M GS (256 MB)3D 加速器 nVIDIA GeForce 9300M GS显示器 Samsung LTN141W3-L01 [14.1" LCD]多媒体:声卡nVIDIA HDMI @ Intel 82801IB ICH9 - High Definition Audio Controller [A-3]声卡Realtek ALC888/1200 @ Intel 82801IB ICH9 - High Definition Audio Controller [A-3]存储器:IDE 控制器Intel(R) ICH9M/M-E Family 4 Port SATA AHCI Controller - 2929IDE 控制器JMB38X MS Host ControllerIDE 控制器JMB38X SD Host ControllerIDE 控制器JMB38X SD/MMC Host ControllerIDE 控制器JMB38X xD Host Controller硬盘驱动器WDC WD2500BEVT-22ZCT0 ATA Device (232 GB, IDE)硬盘驱动器JMCR SD/MMC SCSI Disk Device (61 MB)光盘驱动器HL-DT-ST DVDRAM GSA-T50N ATA Device (DVD+R9:6x, DVD-R9:6x,DVD+RW:8x/8x, DVD-RW:8x/6x, DVD-RAM:5x, DVD-ROM:8x, CD:24x/24x/24x DVD+RW/DVD-RW/DVD-RAM)硬盘SMART 状态 OK网络设备:网络适配器Intel(R) WiFi Link 5100 AGN (192.168.1.106)网络适配器Realtek RTL8168C(P)/8111C(P) Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)调制解调器Agere Systems HDA Modem一,安装关于安装,我完全参考了samsonwtsui的置顶帖/thread-592288-1-1.html采用bootthink2.3引导,成功安装,但仅仅是安装系统,驱动方面并未完全采用samsonwtsui的方法。
另外samsonwtsui安装的分区是主分区,而我安装的逻辑分区,而且不是第一逻辑分区,实践证明是没有任何问题的。
6.5G的分区是安装镜像,17.86G用来安装snow leopard,主系统是windows7.安装过程一切顺利,未出现五国或禁止标志等问题,安装完毕用windows7的安装光盘进入系统修复,回复C 盘为活动分区,重启后两个系统均可正常进入。
snow leopard显卡不能驱动,声卡不能驱动,无线不用想了,有线直接驱动,接下来就是驱动的安装了。
(这里注意,如果今后重装系统,只要不重新分区,c盘就会一直为活动分区,而不需每次修复二,驱动安装这就是重点了,实际上整个一个星期的工作绝大部分都是在如果驱动硬件上做文章了,虽然期间重装了三遍系统,但感觉轻车熟路,玩一样的。
在驱动问题上确实走了很多的弯路,但是这个弯路有时候有事必须的,因为人总想做的完美一些,只有不停地尝试才能找到更好的办法。
1、显卡装完雪豹第一个想法就是希望能看到华丽的而且和windows不一样的界面,但事实又总是和想象的有所区别,界面是变了,但是连进入系统式欢迎动画都是卡卡卡!!所以第一个想法也是把显卡的驱动装上,于是google,一堆的驱动,一堆的方法,只是没有哪个具体说了怎样驱动 9300m gs的,没办法只好一个一个的试了,几乎把所有的驱动都试过了(没找到的,不知道的,不算),NVkushInstaller、NVinstaller v.52、NVIDIA_9000_Series_Driver_v2、NVdarwinInstaller1.2.5、Natit.kext一样的不一样的都试了一遍,统统不行!!然后又试EFI String,用OSX86Tools_1.0.150(这是个好东西),但是顶多就是强制分辨率,驱动的不能。
还有人介绍的就是在 com.apple.Boot.plist里面加入1.<key>GraphicsEnabler</key>2.<string>y</string>不知是不是人品不好,这个东东在别人那挺好,在我这统统不管用。
pcbeta逛了逛才接触到通过dsdt的修改来驱动显卡,让我兴奋的不得了,凭直觉觉得用dsdt来驱动硬件应该是比较完美的方法,于是全身心投入到了dsdt的研究当中,由于之前一点都没有接触过dsdt(java编程还是会的),只能在网上找方法然后依葫芦画瓢,但是开始根本不知道从何入手,比较简单的方法就是威廉的acpi patch,但是又不支持我这个类型的bios,只能手动修改!彷徨中一个大侠的出现让我看到了曙光,[url=space.php?uid=487636]xchobits[/url]大侠把他自己的dsdt文件给了我,因为我们的本子都是差不多的,我把他的dsdt.aml放入drawn文件夹下后,奇迹出现了,透明效果一下出来了,高兴的不得了甚至安装了legacyHDA后,声卡也出声了但问题也接踵而来,就是每次进系统时总是先要五国一次,然后强制重启就能正常进入,郁闷的不得鸟!!我分析,毕竟我的硬件不完全就是他的硬件,是不是某些地方的不同导致了五国,于是我决定自己修改dsdt!!==========================================================2、DSDT首先要把xchobits的 aml文件反编译,干吗?学习!!下载了iasl-win-20080729,反编译命令1.2.iasl -d dsdt.aml得到dsdt.dsl 文件,一开始我一直用写字板编辑,后来发现用UltraEdit-32相当的方便,在视图里面选择查看方式选择perl,看到左边的加号了,确保了每个{ }都不会错,大大降低了出错的几率。
开始也不知道xchobits到底修改了哪里,就上网找教程,很多,就按教程修改!!首先提取自己的dsdt,用everestultimate+ACPI Patcher,先用everestultimate导出acpi_dsdt.bin,然后用ACPI Patcher点D/C按钮就得到dsl文件了。
GTGP 是最基本的一个方法,很多函数都需要它,加入的位置只要不是放在子函数块里就ok了,我插入的位置:1.DefinitionBlock ("dsdt.aml", "DSDT", 2, "Intel ", "CANTIGA ",0x06040000)2.{3.4.Method (DTGP, 5, NotSerialized) //dtgp函数5. {6.If (LEqual (Arg0, Buffer (0x10)7. {8./* 0000 */ 0xC6, 0xB7, 0xB5,0xA0, 0x18, 0x13, 0x1C, 0x44,9./* 0008 */ 0xB0, 0xC9, 0xFE,0x69, 0x5E, 0xAF, 0x94, 0x9B10. }))11.{12.If (LEqual (Arg1, One))13.{14. If (LEqual (Arg2, Zero))15. {16.Store (Buffer (One)17.{18. 0x0319.}, Arg4)20.Return (One)21. }22. If (LEqual (Arg2, One))23. {24.Return (One)25. }26.}27.}28.Store (Buffer (One)29.{30. 0x0031.}, Arg4)32.Return (Zero)33. }34..........................................35. External (PDC1)36. External (PDC0)37. External (CFGD)38. External (\_PR_.CPU0._PPC)RTC听说这个是防止bios重置的,(我到现在也不知道bios重置是个什么东西)1.2. Device (RTC)3. { (_HID, EisaId ("PNP0B00")) (BUF0, ResourceTemplate ()6.{7.IO (Decode16,8. 0x0070,// Range Minimum9. 0x0070,// Range Maximum10. 0x01,// Alignment11. 0x02,// Length 这里由0x08改成0x0212. )13.}) (BUF1, ResourceTemplate ()15.{16.IO (Decode16,17. 0x0070,// Range Minimum18. 0x0070,// Range Maximum19. 0x01,// Alignment20. 0x08,// Length 这个不知道改不改21. )22.// IRQNoFlags () 直接用"//"屏蔽就是了23.// {8}24.})25.Method (_CRS, 0, Serialized)26.{27....................................28.}29. }HPET 听说这个是能解决cpu电源管理的1. Device (HPET)2. { (_HID, EisaId ("PNP0103")) (_CID, EisaId ("PNP0C01")) (BUF0, ResourceTemplate ()6.{7.IRQNoFlags () //就是加入这四行的东西8. {0}//9.IRQNoFlags () //10. {8}//11.Memory32Fixed (ReadOnly,12. 0xFED00000,// Address Base13. 0x00000400,// Address Length14. )15.})16.Method (_STA, 0, NotSerialized)17.{18...................................//此处略19.}20.Method (_CRS, 0, Serialized)21.{22..................................... // 此处略23.}24. }至于_WAK里面的两个Return(zero),我的dsdt里面自带了。