Does fixmap pages for fdt require 4MB memory?

Chan Kim ckim at
Fri Mar 4 02:18:40 EST 2022

Hello all,


I'm porting linux on an FPGA board which has only 8MB SRAM in place of DDR
address range for now. (using linux-5.4.21)

So this means, seen from software, the DDR memory exists only for 0x80000000
~ 0x807fffff.

I loaded kernel image (Image) at 0x80080000 and it takes space to
0x8061d008. For there is so scare space, I loaded the dtb at 0x807fd000.

Now the kernel stops during setup_machine_fdt in setup_arch. I guess maybe
it's because the kernel could not setup fixmap for fdt. 

(I recently learned the kernel uses fixmap for the fdt and it requires 4MB
separate pages)

I just started to look into early_fixmap_init function but can anyone tell
me if this can be the real problem? 

Isn't it possible to use 8MB memory to run linux? (I'm doing this before the
board is fully ready)


Thank you!

Chan Kim


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Kernelnewbies mailing list