The kernel source in RAM is covered by data
Nicolas Mederle
mederle_nicolas at yahoo.fr
Fri Jul 13 00:30:12 EST 2007
Hi,
I have port Linux on a PowerPc board. I have the following problems,
the kernel source is covered by data.
For example, after the kernel unzip by the loader, I have this mapping :
_start:
00000000: nop
00000004: nop
00000008: nop
__start:
0000000c: mr r31,r3
00000010: mr r30,r4
00000014: li r24,0
00000018: bl early_init
0000001c: bl mmu_off
__after_mmu_off:
00000020: bl clear_bats
00000024: bl flush_tlbs
00000028: bl initial_bats
0000002c: bl setup_disp_bat
00000030: bl reloc_offset
When the kernel launch the init process, I have an PageFault error. And
the mapping is the following :
_start:
00000000: .long 0
00000004: .long 0xB0
00000008: .long 0x67DC28
__start:
0000000c: .long 0x3C5FD0
00000010: .long 0x1031C
00000014: .long 0x8001032
00000018: .long 0
0000001c: .long 4
__after_mmu_off:
00000020: .long 1
00000024: .long 0x10590
00000028: .long 0x1032
0000002c: .long 0x1031C
00000030: .long 0x320000
Why the kernel space is modified? I have forgot a config in the kernel
config? the advanced setup kernel config is the following :
CONFIG_ADVANCED_OPTIONS=y
CONFIG_HIGHMEM_START=0xfe000000
CONFIG_LOWMEM_SIZE_BOOL=y
CONFIG_LOWMEM_SIZE=0x30000000
CONFIG_KERNEL_START_BOOL=y
CONFIG_KERNEL_START=0x0
# CONFIG_TASK_SIZE_BOOL is not set
CONFIG_TASK_SIZE=0x80000000
CONFIG_BOOT_LOAD_BOOL=y
CONFIG_BOOT_LOAD=0x00400000
Thanks for your feedback,
Nicolas MEDERLE.
--
Cordialement,
Nicolas MEDERLE.
More information about the Linuxppc-embedded
mailing list