|
orl %ebp, %ebp
andl %ebp, %ebp
在 AMD 和 Intel 两个厂家的 CPU 测试,证明可以清除 rep 的高32位.
test %ebp, %ebp
在 AMD 和 Intel 两个厂家的 CPU 测试,证明不能清除 rep 的高32位.
PAE分页到底可以支持多大内存,从网上没有查到准确信息。很早的帖子说是64GB。
karyonix 的代码有点特殊。没有采用常规的连续分页方法,而是采用分段方法。
每次填写分页表,修改虚拟地址为固定的16MB及32MB,读8MB长度。特点是分页表只使用了12KB,速度相对慢些。不使用64位代码。
不点采用连续分页方法,读512GB使用了2MB多分页表。可以直接读任意地址及长度。可以适用于多任务操作系统,各任务在自己的分页内运行,互不干扰。
实际上,从32位代码跳转到在64位代码,可以使用 %ebp而不使用%rbp(其高32位为零),就不会出问题了。 |
|