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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

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

1,263 次查看
yoav_rubin2
Contributor I

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!

标签 (1)
标记 (2)
0 项奖励
2 回复数

1,062 次查看
yoav_rubin2
Contributor I

problem solved after changing the user/kernel virtual address space split

0 项奖励

1,062 次查看
yipingwang
NXP TechSupport
NXP TechSupport

Please modify CONFIG_KERNEL_START and CONFIG_PHYSICAL_START

0 项奖励