Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
    
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 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 Jan 31 '13 at 23:33

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.