linux kernel virtual memory layout


I'm using the 32bit 4.1.8 linux kernel , RT patch (no high memory) and changing the following configurations:

  • CONFIG_LOWMEM_SIZE (Maximum low memory size)
  • CONFIG_PAGE_OFFSET (Virtual address of memory base)
  • CONFIG_TASK_SIZE (Size of user task space)

My goal is to increase low memory size by reducing size of user task space and shifting the memory base virtual address. In other words I'm changing the user/kernel virtual address space split.

My question is: in the init_32.c file it's written that the following must apply: LOWMEM_SIZE <= 0xF0000000 - PAGE_OFFSET why its 0xF0000000 and not 0xFFFFFFFF? for what purpose the last 256MB reserved for? (from my understanding when not using high memory there is no need for high memory page tables)


asked on Stack Overflow Oct 23, 2019 by hutcruchi

0 Answers

Nobody has answered this question yet.

User contributions licensed under CC BY-SA 3.0