mirror of
https://github.com/MintCN/linux-insides-zh.git
synced 2026-04-26 11:41:53 +08:00
Update Booting/linux-bootstrap-2md.md
This commit is contained in:
@@ -378,10 +378,10 @@ if (cpu_level < req_level) {
|
||||
|
||||
`check_cpu`方法做了大量的检测和设置工作,下面就简单介绍一些:1)检查cpu标志,如果cpu是64位cpu,那么就设置[long mode](http://en.wikipedia.org/wiki/Long_mode), 2) 检查CPU的制造商,根据制造商的不同,设置不同的CPU选项。比如对于AMD出厂的cpu,如果不支持SSE+SSE2,那么就禁止这些选项。
|
||||
|
||||
Memory detection
|
||||
内存侦测
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
The next step is memory detection by the `detect_memory` function. `detect_memory` basically provides a map of available RAM to the cpu. It uses different programming interfaces for memory detection like `0xe820`, `0xe801` and `0x88`. We will see only the implementation of **0xE820** here.
|
||||
接下来,内核调用`detect_memory`方法进行内存侦测,以得到系统当前内存的使用分布。It uses different programming interfaces for memory detection like `0xe820`, `0xe801` and `0x88`. We will see only the implementation of **0xE820** here.
|
||||
|
||||
Let's look into the `detect_memory_e820` implementation from the [arch/x86/boot/memory.c](https://github.com/torvalds/linux/blob/master/arch/x86/boot/memory.c) source file. First of all, the `detect_memory_e820` function initializes the `biosregs` structure as we saw above and fills registers with special values for the `0xe820` call:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user