On 07.03.2024 11:00, Roger Pau Monné wrote: > On Wed, Mar 06, 2024 at 01:50:29PM -0500, Jason Andryuk wrote: >> Xen tries to load a PVH dom0 kernel at the fixed guest physical address >> from the elf headers. For Linux, this defaults to 0x1000000 (16MB), but >> it can be configured. >> >> Unfortunately there exist firmwares that have reserved regions at this >> address, so Xen fails to load the dom0 kernel since it's not RAM. >> >> The other issue is that the Linux PVH entry point is not >> position-independent. It expects to run at the compiled >> CONFIG_PHYSICAL_ADDRESS. >> >> This patch set expands the PVH dom0 builder to try to relocate the >> kernel if needed and possible. XENFEAT_pvh_relocatable is added for >> kernels to indicate they are relocatable. However, we may want to >> switch to an additional ELF note with the kernel alignment. Linux >> specifies a kernel alignment in the bzImage boot_params.setup_header, >> but that is not present the ELF vmlinux file. > > I wonder whether we need a pair of notes, to signal the min/max > addresses the kernel supports being relocated to.
Plus, as per your other reply, a 3rd one to specify alignment needs. Then again - a single note can have multiple values. So perhaps it doesn't need to be more than one new notes (except if dealing with multi-value ones is deemed too complicated). Jan