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 (1442B)


      1===========================
      2Boot time memory management
      3===========================
      4
      5Early system initialization cannot use "normal" memory management
      6simply because it is not set up yet. But there is still need to
      7allocate memory for various data structures, for instance for the
      8physical page allocator.
      9
     10A specialized allocator called ``memblock`` performs the
     11boot time memory management. The architecture specific initialization
     12must set it up in :c:func:`setup_arch` and tear it down in
     13:c:func:`mem_init` functions.
     14
     15Once the early memory management is available it offers a variety of
     16functions and macros for memory allocations. The allocation request
     17may be directed to the first (and probably the only) node or to a
     18particular node in a NUMA system. There are API variants that panic
     19when an allocation fails and those that don't.
     20
     21Memblock also offers a variety of APIs that control its own behaviour.
     22
     23Memblock Overview
     24=================
     25
     26.. kernel-doc:: mm/memblock.c
     27   :doc: memblock overview
     28
     29
     30Functions and structures
     31========================
     32
     33Here is the description of memblock data structures, functions and
     34macros. Some of them are actually internal, but since they are
     35documented it would be silly to omit them. Besides, reading the
     36descriptions for the internal functions can help to understand what
     37really happens under the hood.
     38
     39.. kernel-doc:: include/linux/memblock.h
     40.. kernel-doc:: mm/memblock.c
     41   :functions: