Arthur Heymans has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/29667 )
Change subject: mb/emulation/qemu-q35,qemu-i440fx: Add x86_64 support ......................................................................
Patch Set 32:
(3 comments)
https://review.coreboot.org/c/coreboot/+/29667/32//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/29667/32//COMMIT_MSG@12 PS32, Line 12: x86_64 uses more than 0x4000 bytes aww... that's a lot. Any idea what is consuming this much?
https://review.coreboot.org/c/coreboot/+/29667/32/Documentation/mainboard/em... File Documentation/mainboard/emulation/qemu-q35.md:
https://review.coreboot.org/c/coreboot/+/29667/32/Documentation/mainboard/em... PS32, Line 42: operating system and -bios for what matters.
https://review.coreboot.org/c/coreboot/+/29667/32/src/arch/x86/Kconfig File src/arch/x86/Kconfig:
https://review.coreboot.org/c/coreboot/+/29667/32/src/arch/x86/Kconfig@55 PS32, Line 55: PAGING_IN_CACHE_AS_RAM This symbol is used to set up linker symbols to set up PD in car. It uses 4096 * CONFIG_NUM_CAR_PAGE_TABLE_PAGES (5 by default), which is unused as page tables are set up with an entry in rom.
It's not a bad idea to think about using those. Do we want 1) Set up CAR first (32bit) such that page tables, which are linked in the bootblock can be placed there. Having the page tables in rom allows for more flexibility such as runtime modification them. It would be possible to set up a very simple page table before entering long mode. It needs to be set up again when entering ramstage, so a good location (aligned cbmem entry?) needs to be found again.
2) keep the ROM page table and rename PAGING_IN_CACHE_AS_RAM to IA32_PAGING_IN_CACHE_AS_RAM to avoid confusing people.