64-bit EFI与SMM

                       64-bit EFI与SMM

        如果EFI支持64-bit的话,那么就可以启动Windows 7, 还不是因为MS不好好支持32-bit,这样就不需要CSM module了
        那么如果EFI支持64-bit的话,SMM driver也就变成64-bit了,这个时候SMM就必须从Real mode 转成64-bit protect mode,其实主要的问题就是CPU的mode是IA-32e mode,这是由CPU的一个寄存器来决定的,具体的就是MSR(C0000080h)的bit8,所以在SMI handler中就需要load 64-bit的GDT,然后切成保护模式之前,设置CPU的这个寄存器,使之变成64-bit,其他的和32-bit的一模一样,就可以去执行64-bit的C程序了
        需要强调的是,64-bit汇编code中,eax就用rax了,等等。
        贴一张图吧,说明一下CPU的不同模式:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值