gpt4 book ai didi

memory-management - Linux PowerPC Book E 通过热重启保留原始 RAM

转载 作者:行者123 更新时间:2023-12-04 07:50:50 25 4
gpt4 key购买 nike

使用 CONFIG_FSL_BOOKE (P1020 RDB) 2.6.31 我需要在某个固定位置(无论在哪里)保留 1MB 的 RAM,这是原始的,这意味着它不会被 U-Boot 触及或 bootmem 分配器,以便 RAM 内容在热重启后仍然存在。需要注意的是,我无法将 U-boot 更改为使用 CONFIG_PRAM/mem=

编译可重定位内核不是 arc/powerpc 2.6.31 中的一个选项。 arch/powerpc/kernel/setup_32.c 不支持 memmap

理想情况下,这个区域应该保留,而不是 L1 d-cached,这样它就可以用来存储来自中断上下文的 ramoops。

有什么方法可以将 _end 移动到 bootmem 之前的 0x600000 以创建一个不被任何人触及的洞?也就是说,欺骗内核认为 _end 更远?

在 vmlinux.lds.S 中我尝试了类似的东西:

    . = ALIGN(PAGE_SIZE);
_end = . ;
PROVIDE32 (end = .);

改为

    . = ALIGN(PAGE_SIZE);
_start_unused_ram = .;
. = ALIGN(0x400000);
_end = . ;
PROVIDE32 (end = .);

但是,__bss_stop 和 0x400000 之间的区域被覆盖了。

最佳答案

最好的解决方案是将内存区域添加为设备树中的保留区域。

这样它会在引导早期被保留并且不应该被内核触及。

关于memory-management - Linux PowerPC Book E 通过热重启保留原始 RAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12268586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com