Linux x86/x86_64现在将始终保留前1MB的内存

系统 Linux
Linux x86/x86_64内核代码已经有了保留前1MB内存部分的逻辑,以避免BIOS或内核有可能破坏这些空间,而自Linux 5.13开始将无条件地始终保留前1MB内存。Linux内核已经满足了英特尔Sandy Bridge图形访问低于1MB的内存,已知前64K的内存被一些BIOS损坏,以及类似的问题出现在内存的低区域。

Linux x86/x86_64内核代码已经有了保留前1MB内存部分的逻辑,以避免BIOS或内核有可能破坏这些空间,而自Linux 5.13开始将无条件地始终保留前1MB内存。Linux内核已经满足了英特尔Sandy Bridge图形访问低于1MB的内存,已知前64K的内存被一些BIOS损坏,以及类似的问题出现在内存的低区域。

[[404241]]

但是,与其分别处理所有这些逻辑和除了EGA/VGA帧缓冲区和BIOS之外的其他可能的小众情况,内核团队更愿意做出一些保守的做法,例如总是保留前1MB的内存,这样它就不会被内核破坏。

现在,Linux 5.13的做法是为Linux x86/x86_64无条件保留1MB,这一决定源于一个关于AMD Ryzen系统在Linux 5.13上无法启动的错误报告,因为该报告整合了其早期内存保留处理,而只需要无条件地做第一个1MB的保留,事情处理起来更简单,而且潜在解决了其它的问题。

这个变化是今天早上作为x86/urgent的紧急改进请求被送进来的。团队认为,"摒弃所有在第一个MB中预留一定量的内存以防止BIOS损坏的愚蠢做法,简单无条件地预留整个MB是最好的做法。"

今天上午的x86拉动请求还包括禁用英特尔即将推出的Sapphire Rapids服务器CPU的新ENQCMD功能,直到该内核代码能够被适当清理和修复。x86版本还涉及第一代Hygon(基于AMD Zen)CPU不支持AMD64_SEV MSR的问题,因此Linux AMD SEV代码首先会检查CPUID位。

责任编辑:未丽燕 来源: cnBeta.COM
相关推荐

2009-06-25 09:03:42

Linux

2023-09-25 10:29:21

CPUAArch64x86_64

2011-12-01 11:09:48

AMDx86服务器英特尔

2009-06-12 09:10:35

Windows 7微软下载

2011-12-09 21:10:50

Android

2020-09-23 12:42:08

Linux

2022-06-09 12:45:42

WWDC苹果MacOS 13

2021-07-07 11:35:17

Linux内存段寻址

2014-10-10 14:18:58

2014-12-24 09:41:05

x86C#

2011-11-10 09:26:48

Solaris 11

2009-08-28 14:38:33

2011-12-19 10:55:58

云计算中国电信

2011-02-20 22:23:43

X86虚拟化XenServer

2011-08-24 15:55:04

2013-08-08 11:01:11

谷歌Android 4.3

2011-04-25 14:51:59

Linux任务切换TSS

2013-03-08 10:36:25

XEN虚拟机 CentOS 5.8

2009-08-05 09:02:26

Microsoft FIIS 7.0

2010-03-20 11:03:13

VMControl虚拟化管理
点赞
收藏

51CTO技术栈公众号