void __init early_init_fdt_scan_reserved_mem(void) { int n; u64 base, size; if (!initial_boot_params) return; /* Reserve the dtb region */ early_init_dt_reserve_memory_arch(__pa(initial_boot_params), fdt_totalsize(initial_boot_params), 0); /* Process header /memreserve/ fields */ for (n = 0; ; n++) { fdt_get_mem_rsv(initial_boot_params, n, &base, &size); if (!size) break; early_init_dt_reserve_memory_arch(base, size, 0); } of_scan_flat_dt(__fdt_scan_reserved_mem, NULL); fdt_init_reserved_mem(); }
时间: 2024-04-23 20:29:08 浏览: 123
void __init early_init_fdt_scan_reserved_mem(void)
{
int n;
u64 base, size;
// 如果没有初始引导参数,则直接返回
if (!initial_boot_params)
return;
// 保留 dtb 区域
early_init_dt_reserve_memory_arch(__pa(initial_boot_params),
fdt_totalsize(initial_boot_params),
0);
// 处理 /memreserve/ 字段
for (n = 0;; n++) {
fdt_get_mem_rsv(initial_boot_params, n, &base, &size);
if (!size)
break;
early_init_dt_reserve_memory_arch(base, size, 0);
}
// 扫描保留的内存区域
of_scan_flat_dt(__fdt_scan_reserved_mem, NULL);
// 初始化保留的内存
fdt_init_reserved_mem();
}
相关问题
SET_FDT_INIT_HOOK(read_pcba_config, read_pcba_config);
这行代码使用了宏 `SET_FDT_INIT_HOOK`,并将函数 `read_pcba_config` 作为参数传递给它。它的作用是设置 FDT(Flattened Device Tree)初始化钩子函数。
FDT 是一种用于描述硬件设备和资源配置的数据结构,通常在嵌入式系统中使用。而 FDT 初始化钩子函数则是在系统初始化过程中执行的回调函数,用于在设备树初始化期间执行一些额外的配置或操作。
具体来说,`SET_FDT_INIT_HOOK` 宏可能是一个系统或框架提供的宏,用于注册 FDT 初始化钩子函数。它接受两个参数,第一个参数是要注册的钩子函数,第二个参数是传递给钩子函数的参数(如果有的话)。
在这个例子中,`read_pcba_config` 函数被注册为 FDT 初始化钩子函数,并被传递给 `SET_FDT_INIT_HOOK` 宏作为参数。这意味着在设备树初始化过程中,当系统执行到相应的位置时,会调用 `read_pcba_config` 函数来执行特定的操作或配置。具体 `read_pcba_config` 函数的功能需要查看函数的实现代码来确定。
set_fdt_emi_info
set_fdt_emi_info是一个命令,用于设置Flattened Device Tree (FDT)的EMI信息。FDT是一种数据结构,用于描述硬件设备和系统配置信息。EMI信息是与存储设备和存储子系统相关的配置信息,包括EMI时钟频率、EMI时序等。通过set_fdt_emi_info命令,可以将这些配置信息写入FDT中,以便在系统启动时使用。具体的用法和参数可以参考所引用的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [《Linux操作系统-系统移植》第4章 内核移植(IMX283+Linux3.14)](https://blog.csdn.net/u013162035/article/details/79874046)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文