ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

LittleKernel学习笔记(3)

2021-08-31 14:02:09  阅读:198  来源: 互联网

标签:enable cache 笔记 学习 init LittleKernel scu arch arm


好哦,前面分析到了arch_early_init

 1 void arch_early_init(void) {
 2     /* turn off the cache */
 3     arch_disable_cache(UCACHE);//关闭cache,不想细看了
 4 #if WITH_DEV_CACHE_PL310  //如果是PL310则关闭
 5     pl310_set_enable(false);
 6 #endif
 7 
 8     arm_basic_setup();//arm 基本设置
 9 
10 #if WITH_SMP && ARM_CPU_CORTEX_A9//如果是A9且SMP
11     /* enable snoop control */
12     addr_t scu_base = arm_read_cbar();
13     *REG32(scu_base) |= (1<<0); /* enable SCU */
14 #endif
15 
16 #if ARCH_HAS_MMU//如果有MMU
17     arm_mmu_early_init();
18 
19     platform_init_mmu_mappings();
20 #endif
21 
22     /* turn the cache back on */
23 #if WITH_DEV_CACHE_PL310//如果CACHE 310,则打开
24     pl310_set_enable(true);
25 #endif
26     arch_enable_cache(UCACHE);
27 }

 

void arch_early_init(void) {    /* turn off the cache */    arch_disable_cache(UCACHE);#if WITH_DEV_CACHE_PL310    pl310_set_enable(false);#endif
    arm_basic_setup();
#if WITH_SMP && ARM_CPU_CORTEX_A9    /* enable snoop control */    addr_t scu_base = arm_read_cbar();    *REG32(scu_base) |= (1<<0); /* enable SCU */#endif
#if ARCH_HAS_MMU    arm_mmu_early_init();
    platform_init_mmu_mappings();#endif
    /* turn the cache back on */#if WITH_DEV_CACHE_PL310    pl310_set_enable(true);#endif    arch_enable_cache(UCACHE);}

 

标签:enable,cache,笔记,学习,init,LittleKernel,scu,arch,arm
来源: https://www.cnblogs.com/zhougong12/p/15210007.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有