uefi一开始就是32位保护模式,这个应该还是没啥争议的……(我刚查了一下,UEFI第一个指令位移内存映射地 ...
如果你对于启动的概念就是CPU启动直接就是UEFI那你的想法是有偏差的,在加载UEFI之前还可以有其他初始化,等到启动UEFI的时候模式早就切换过了 gnattu 发表于 2023-3-21 16:10
你怎么偷换概念
给一个硬件增加软件平台支持是需要大量工程的,这个根本不是“用的好好的为啥去掉支持” ...
楼主是气氛组,但是我喜欢看你的回复。 0xFFFFFFF0 和 uefi 又没关系, CPU 通电时就从这里开始执行, 无论 bios 还是 uefi, 这个地址直接映射到 bios 芯片
16 位实模式也一样能访问 32 位地址空间, 有段, 你本来就有 20 位地址空间, 在第一次 long jump 之前, 低于 0xFFF00000 的地址是不给访问的 本帖最后由 gnattu 于 2023-3-21 17:26 编辑
slymitec 发表于 2023-3-21 16:39
这可能需要进一步的考证,但是根据目前的理解,cpu上电、芯片组撤销reset信号后, cpu默认就从这个地址开 ...
我也没有说有什么技术问题啊 我的核心不就是 可以 但没必要
然后你否定这个理由 你觉得很有必要 我已经不知道该怎么讲了
你从头到尾觉得可以移除的理由非常不充分 因为你觉得这个东西没用了可以丢
然后我告诉你这个东西还在用 要丢掉不是不可以但是要改东西 没必要
然后你又说 对CPU进行修改就不是问题 那不就回到了 可以 但没必要了吗[震惊]
顺便 这个CPU上电以后直接读UEFI固件代码是非常理想化的一个想法,现代CPU并不这么初始化自己,只不过我们都假装是这么初始化的
举个实际的例子吧:一些AMD CPU, 比如Picasso,他们把部分AGESA功能放进了PSP,这样你的x86核心在第一个fetch之前面对的直接就是一个已经被初始化过的内存,并且CPU所期待的第一条指令也不会在0xfffffff0,而是PSP算出来的一个位置。PSP有自己的魔法,从flash当中读取BIOS,然后解密/解压到一个计算出的内存地址,然后丢回给x86 CPU进行接下来的加载,x86核心会假装自己启动在0xfffffff0,但是其实这个位置已经经过了一大堆的魔法
严格来讲,现在的intel cpu还运行在8080的兼容模式,所以这也不意外 本帖最后由 lh4357 于 2023-3-21 17:20 编辑
问题是,你装不上win98 95这种系统。
装win98安装到一半就提示非法操作。
装win95直接启动不了系统。
要16位有何用?
页:
1
[2]