AnsweredAssumed Answered

Changing user/kernel virtual memory split to 2GB/2GB

Question asked by yoav rubin on Sep 17, 2019
Latest reply on Oct 4, 2019 by yoav rubin

I'm using the P4080DS SoC with 32bit 4.18 Linux kernel + RT Patch.

 

While using the Real Time Patch I can't work with HIGHMEM regions (CONFIG_HIGHMEM is disabled by default)

so I've changed the virtual memory address space user/kernel split from 3gb/1gb to 2gb/2gb in order to be able to work with more than 1GB RAM Size. (changed the CONFIG_PAGE_OFFSET , CONFIG_TASK_SIZE and others to 0x80000000)

 

The problem is that following the relocation of the KERNELBASE from 0xC0000000 to 0x80000000 the kernel tries to read the spin table (using SMP) but can't and gets sig 11.

 

Before the change everyting worked fine and the kernel searched for spin table in addresses starting with 0xa...

Now it search in addresses starting with 0x6 (because of the kernel relocation).

 

I changed the source code so the kernel continue reading addresses starting with 0xa.. and it worked but now is says that the first cpu isn't spinning and: RAMDISK: Couldn't find valid RAM disk image starting at 0.

 

Maybe someone knows what are the proper changes I have to make in order everything will work fine with the split and kernel relocation changes?

 

thanks!

Outcomes