4

NEC VC26MB(VK26MB) 使用Clover提取DSDT及Patch修补笔记

 3 years ago
source link: https://www.itpwd.com/428.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
NEC VC26MB(VK26MB) 使用Clover提取DSDT及Patch修补笔记_黑苹果笔记_IT密码

纯粹记录,按以下步骤进行

开机到Clover引导界面,按F4保存原始DSDT文件

拷贝EFI-Clover-ACPI-Origin目录出来

进入macOS,参考教程使用iasl执行以下命令对Origin内的DSDT.aml文件进行转换,得到DSDT.dsl文件

./iasl -da -dl DSDT.aml

使用MaciASL(赠送上述使用的iasl程序)打开DSDT.dsl文件,点击编译会发现很多error

主要修改以下地方,代码位置可参考MaciASL提示错误位置或者搜索查找

修复一:删除这两段(因为站长不知道怎么修复,/偷笑)

            OperationRegion (\SCRP, SystemIO, 0x1280, 0x04)
            Field (SCRP, ByteAcc, NoLock, Preserve)
            {
                CR00,   8, 
                CR01,   8, 
                CR02,   8, 
                CR03,   8
            }
                            Name (_PLD, Buffer (0x10)  // _PLD: Physical Location of Device
                            {
                                /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */  0x20, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 
                            })

修复二:留意最后一行,主要是大写

            Device (SCM0)
            {
                Name (_HID, "pnp0c14")  // _HID: Hardware ID
            Device (SCM0)
            {
                Name (_HID, "PNP0C14")  // _HID: Hardware ID

修复三:注意,这里需要修改的有两坨一样的代码,以下只演示一坨,留意最后两行的数字

                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            )
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x01,               // Alignment
                            0x20,               // Length
                            )

修复四:可选步骤,如果用得上的话(看不懂请忽略),站长已经使用ACPIDebug测试得出NEC这台设备的亮度调节快捷键代码为亮度减QB7和亮度加QB7,使用Patch打入以下补丁

 into method label _QB7 replace_content
begin
// Brightness Down\n
    Notify(\_SB.PCI0.LPCB.PS2K, 0x0405)\n
end;
into method label _QB8 replace_content
begin
// Brightness Up\n
    Notify(\_SB.PCI0.LPCB.PS2K, 0x0406)\n
end;

再试下编译,发现已经没有error了,还有很多警告的内容可以忽略不用管

最后再另存文件格式为“ACPI Machine Language Binary”可以保存修复好的DSDT.aml文件使用


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK