AWARD ACPITBL 动态法已经研究透了,换研究AMI动态法,由于AMIBIOS主模块1B模块映射到内存是离散的,所以修改的代码最好不要乱跳转,否则极易出现一些无法预知的情况。

1、还是采用XSDT前移、SLIC随后的方法。由于空间限制,所以只能把SLIC加到RSDT里,RSDT长度增加4,即为0X28+0X4=0X2C;接下来就要修正XSDT相关的操作
3edd751ex8c4a7b83eba1.jpg
2、修正XSDT在 RSD PTR的指针,0X100改为0X3C
3edd751ex8c4a7d6c2d3e.jpg
3、修正FACP(相对RSDT 0X200)在XSDT的地址,0X124改为0X3C+0X24=0X60
3edd751ex8c4a7bdf88ff.jpg
4、修正XSDT校验,0X100改为0X3C
3edd751ex8c4a7c68d5f0.jpg
5、修正XSDT增加子表地址,把0X104改为0X40、0X100改为0X3C
3edd751ex8c4a7ca5cb92.jpg
6、以上的步骤完成了XSDT的修正,接下来就是想方设法把SLIC加到RSDT、XSDT中,可以考虑移除一些表的校验如OEMB,换成手工校验
3edd751ex8c4ac8b89afa.jpg
增加SLIC添加代码,移除OEMB的校验代码
3edd751ex8c4a7a715150.jpg
如果空间允许,甚至可以调用RSDT/XSDT增加子表的方法,直接在RSDT和XDST里增加SLIC引用

标签: none

添加新评论