I'm currently working on embedded arm linux with smdk2416(s3c2416)

The kernel is working on the 64MRAM. Recently, I need to increase the RAM from 64M to 128MB with 64MB on bank0 and 64MB on bank1.

bank0's physical address is at 0x30000000  
bank1's physical address is at 0x38000000  

I have successfully mapped bank0 from 0x30000000 to 0xc0000000, and bank1 from 0x38000000 to 0xc4000000 in U-Boot.

I have tried a memory test on these addresses (both banks' physical and virtual addr) under U-Boot.

When I'm booting the linux kernel with bootarg memory tag mem=128M, and run a simple program which use memory beyond 64MB. Then the system crashed with the "kernel NULL pointer dereference" message.

I found there is a CONFIG_DISCONTIGMEM defined in src/include/asm-arm/memory.h, but when I look into "Kernel Features/Memory model" in make menuconfig, there is only "Flat Memory" option.

How and where should I modify the config/code to make the Linux kernel works on the full 128MB?

  • Welcome to Unix & Linux. I think this question is sufficiently on-topic (we can help you with U-Boot and configuration options, though writing new C code is outside our normal activities), but I'm afraid it's a bit out of our usual expertise. If you don't get a response here, you could try asking for your question to be migrated to Electrical Engineering or Stack Overflow (don't repost: reply to this comment and I can flag a moderator to have the question moved), but there too it would be borderline at best. – Gilles 'SO- stop being evil' Jan 31 '13 at 23:32
  • 3
    I think the ideal site for such questions would be the newly proposed Embedded Programming and Design site. Unfortunately, it'll be a while before the site has enough momentum to start. Nonetheless, since you're interested in this topic, consider joining the proposal. – Gilles 'SO- stop being evil' Jan 31 '13 at 23:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.