On 31.03.2025 18:17, Julien Grall wrote: > On 31/03/2025 17:14, Jan Beulich wrote: >> On 31.03.2025 17:20, Oleksii Kurochko wrote: >>> A randconfig job failed with the following issue: >>> riscv64-linux-gnu-ld: Xen too large for early-boot assumptions >>> >>> The reason is that enabling the UBSAN config increased the size of >>> the Xen binary. >>> >>> Increase XEN_VIRT_SIZE to reserve enough space, allowing both UBSAN >>> and GCOV to be enabled together, with some slack for future growth. >> >> At some point you may want to use 2M mappings for .text (rx), .rodata >> (r), and .data (rw). > > OOI, why would we want to switch to 2MB? At least on Arm, Xen is tiny > enough that it can fit in less than a couple of MB. I would expect the > same for RISC-V.
For TLB efficiency reasons for example. On x86 we switched to using 2Mb pages quite some time back, just to find that (at least) one of the bootloaders choked on the then larger binary. Hence we ended up with the XEN_ALIGN_2M Kconfig symbol plus the unconditional use of 2Mb mappings for xen.efi. For the original change see cf393624eec3 ("x86: use 2M superpages for text/data/bss mappings"). Jan