AMI BIOS ACPI 增加动态寻址的SLIC表
AWARD ACPITBL 动态法已经研究透了,换研究AMI动态法,由于AMIBIOS主模块1B模块映射到内存是离散的,所以修改的代码最好不要乱跳转,否则极易出现一些无法预知的情况。
1、还是采用XSDT前移、SLIC随后的方法。由于空间限制,所以只能把SLIC加到RSDT里,RSDT长度增加4,即为0X28+0X4=0X2C;接下来就要修正XSDT相关的操作
2、修正XSDT在 RSD PTR的指针,0X100改为0X3C
3、修正FACP(相对RSDT 0X200)在XSDT的地址,0X124改为0X3C+0X24=0X60
4、修正XSDT校验,0X100改为0X3C
5、修正XSDT增加子表地址,把0X104改为0X40、0X100改为0X3C
6、以上的步骤完成了XSDT的修正,接下来就是想方设法把SLIC加到RSDT、XSDT中,可以考虑移除一些表的校验如OEMB,换成手工校验
增加SLIC添加代码,移除OEMB的校验代码
如果空间允许,甚至可以调用RSDT/XSDT增加子表的方法,直接在RSDT和XDST里增加SLIC引用