uboot下init_sequence_f函数之setup_dest_addr
来源:互联网 发布:linux shell 参数 编辑:程序博客网 时间:2024/06/05 22:42
setup_dest_addr:
static int setup_dest_addr(void){ debug("Monitor len: %08lX\n", gd->mon_len); /* * Ram is setup, size stored in gd !! */ debug("Ram size: %08lX\n", (ulong)gd->ram_size);#ifdef CONFIG_SYS_MEM_RESERVE_SECURE /* Reserve memory for secure MMU tables, and/or security monitor */ gd->ram_size -= CONFIG_SYS_MEM_RESERVE_SECURE; /* * Record secure memory location. Need recalcuate if memory splits * into banks, or the ram base is not zero. */ gd->arch.secure_ram = gd->ram_size;#endif /* * Subtract specified amount of memory to hide so that it won't * get "touched" at all by U-Boot. By fixing up gd->ram_size * the Linux kernel should now get passed the now "corrected" * memory size and won't touch it either. This has been used * by arch/powerpc exclusively. Now ARMv8 takes advantage of * thie mechanism. If memory is split into banks, addresses * need to be calculated. */ gd->ram_size = board_reserve_ram_top(gd->ram_size);
#ifdef CONFIG_SYS_SDRAM_BASE gd->ram_top = CONFIG_SYS_SDRAM_BASE;#endif gd->ram_top += get_effective_memsize(); gd->ram_top = board_get_usable_ram_top(gd->mon_len); gd->relocaddr = gd->ram_top; debug("Ram top: %08lX\n", (ulong)gd->ram_top);#if defined(CONFIG_MP) && (defined(CONFIG_MPC86xx) || defined(CONFIG_E500)) /* * We need to make sure the location we intend to put secondary core * boot code is reserved and not used by any part of u-boot */ if (gd->relocaddr > determine_mp_bootpg(NULL)) { gd->relocaddr = determine_mp_bootpg(NULL); debug("Reserving MP boot page to %08lx\n", gd->relocaddr); }#endif return 0;}
- uboot下init_sequence_f函数之setup_dest_addr
- uboot下init_sequence_f函数之init_func_i2c
- uboot下init_sequence_f函数之init_func_spi
- uboot下init_sequence_f函数之announce_dram_init
- uboot下init_sequence_f函数之dram_init
- uboot下init_sequence_f函数之init_func_ram
- uboot下init_sequence_f函数之post_init_f
- uboot下init_sequence_f函数之INIT_FUNC_WATCHDOG_RESET
- uboot下init_sequence_f函数之INIT_FUNC_WATCHDOG_INIT
- uboot下init_sequence_f函数之testdram
- uboot下init_sequence_f函数之init_post
- uboot下init_sequence_f函数之reserve_logbuffer
- uboot下init_sequence_f函数之reserve_pram
- uboot下init_sequence_f函数之reserve_round_4k
- uboot下init_sequence_f函数之reserve_mmu
- uboot下init_sequence_f函数之reserve_video
- uboot下init_sequence_f函数之reserve_lcd
- uboot下init_sequence_f函数之reserve_legacy_video
- uboot下init_sequence_f函数之init_post
- Could not load codec 'Lucene54'. Did you forget to add lucene-backward-codecs.jar?
- trim方法(自己实现,存在问题tab留下的空格无法去掉)
- 用nodeJS搭建本地文件服务器的几种方法
- Tomcat服务器下部署项目几种方式
- uboot下init_sequence_f函数之setup_dest_addr
- http跨域请求
- C语言的关键字有几个
- 使用Python实现无交互sftp上传、下载
- 蓝桥杯 C/C++ B组 剪邮票
- 郁金香论坛_Lua 标准库 文件读写操作及 输入输出处理
- reverse方法(自己实现)
- sigaction()函数的调用以及在调用过程中,未决集和阻塞集的变化情况
- 行为识别笔记:improved dense trajectories算法(iDT算法)