build_mem_type_table

Posted 天地有大美而不言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了build_mem_type_table相关的知识,希望对你有一定的参考价值。

1.函数调用关系

start_kernel
    -->setup_arch
        -->paging_init
            -->build_mem_type_table

2.全局变量

在arch/arm/mm/mmu.c中定义以下全局变量

2.1 int cachepolicy

static unsigned int cachepolicy __initdata = CPOLICY_WRITEBACK;

指定缓冲策略,可选值如下宏定义

#define CPOLICY_UNCACHED    0
#define CPOLICY_BUFFERED    1
#define CPOLICY_WRITETHROUGH    2
#define CPOLICY_WRITEBACK    3
#define CPOLICY_WRITEALLOC    4

2.1 struct cachepolicy cache_policies[]

static struct cachepolicy cache_policies[] __initdata = {
    {
        .policy        = "uncached",
        .cr_mask    = CR_W|CR_C,
        .pmd        = PMD_SECT_UNCACHED,
        .pte        = L_PTE_MT_UNCACHED,
    }, {
        .policy        = "buffered",
        .cr_mask    = CR_C,
        .pmd        = PMD_SECT_BUFFERED,
        .pte        = L_PTE_MT_BUFFERABLE,
    }, {
        .policy        = "writethrough",
        .cr_mask    = 0,
        .pmd        = PMD_SECT_WT,
        .pte        = L_PTE_MT_WRITETHROUGH,
    }, {
        .policy        = "writeback",
        .cr_mask    = 0,
        .pmd        = PMD_SECT_WB,
        .pte        = L_PTE_MT_WRITEBACK,
    }, {
        .policy        = "writealloc",
        .cr_mask    = 0,
        .pmd        = PMD_SECT_WBWA,
        .pte        = L_PTE_MT_WRITEALLOC,
    }
};

 

以上是关于build_mem_type_table的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器