cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

boot-time-mm.rst (1399B)


      1.. include:: ../disclaimer-zh_CN.rst
      2
      3:Original: Documentation/core-api/boot-time-mm.rst
      4
      5:翻译:
      6
      7 司延腾 Yanteng Si <siyanteng@loongson.cn>
      8
      9:校译:
     10
     11 时奎亮 <alexs@kernel.org>
     12
     13.. _cn_core-api_boot-time-mm:
     14
     15================
     16启动时的内存管理
     17================
     18
     19系统初始化早期“正常”的内存管理由于没有设置完毕无法使用。但是内核仍然需要
     20为各种数据结构分配内存,例如物理页分配器。
     21
     22一个叫做 ``memblock`` 的专用分配器执行启动时的内存管理。特定架构的初始化
     23必须在setup_arch()中设置它,并在mem_init()函数中移除它。
     24
     25一旦早期的内存管理可用,它就为内存分配提供了各种函数和宏。分配请求可以指向
     26第一个(也可能是唯一的)节点或NUMA系统中的某个特定节点。有一些API变体在分
     27配失败时panic,也有一些不会panic的。
     28
     29Memblock还提供了各种控制其自身行为的API。
     30
     31Memblock概述
     32============
     33
     34该API在以下内核代码中:
     35
     36mm/memblock.c
     37
     38
     39函数和结构体
     40============
     41
     42下面是关于memblock数据结构、函数和宏的描述。其中一些实际上是内部的,但由于
     43它们被记录下来,漏掉它们是很愚蠢的。此外,阅读内部函数的注释可以帮助理解引
     44擎盖下真正发生的事情。
     45
     46该API在以下内核代码中:
     47
     48include/linux/memblock.h
     49mm/memblock.c