(P1020 RDB) 2.6.31ではCONFIG_FSL_BOOKE
、RAM の内容が存続するように、U-Boot または bootmem アロケーターによって触れられない、手付かずの固定位置 (場所は関係ありません) に 1MB の RAM を予約する必要があります。ウォームリブート。CONFIG_PRAM
/を使用するように U-boot を変更できないことに注意してくださいmem=
。
再配置可能なカーネルのコンパイルは、arc/powerpc 2.6.31 ではオプションではありません。memmap
arch/powerpc/kernel/setup_32.c ではサポートされていません。
理想的には、この領域は、割り込みコンテキストからの ramoops を格納するために使用できるように、L1 d キャッシュではなく予約する必要があります。
_end
bootmem の前に 0x600000 に移動して、誰も触れない穴を作成する方法はありますか? つまり、カーネルをだまして、それ_end
がはるかに外れていると思わせるためですか?
vmlinux.lds.SI で次のようなことを試しました:
. = ALIGN(PAGE_SIZE);
_end = . ;
PROVIDE32 (end = .);
に変更
. = ALIGN(PAGE_SIZE);
_start_unused_ram = .;
. = ALIGN(0x400000);
_end = . ;
PROVIDE32 (end = .);
ただし、__bss_stop
~ 0x400000 の領域は上書きされました。