On 02.10.2025 15:05, Andrew Cooper wrote:
> On 12/06/2025 11:07 am, Frediano Ziglio wrote:
>> For xen.gz file we strip all symbols and have an additional
>> xen-syms file version with all symbols.
>> Make xen.efi more coherent stripping all symbols too.
>> xen.efi.elf can be used for debugging.
>>
>> Signed-off-by: Frediano Ziglio <[email protected]>
>> ---
>> Changes since v1:
>> - avoid leaving target if some command fails
> 
> CC-ing the EFI maintainers, as this is an EFI change.
> 
> At the recent QubesOS hackathon, Michał Żygowski (3mdeb) found that
> stripping Xen was the difference between the system booting and not.
> 
> With debugging symbols, xen.efi was ~32M and is placed above the 4G
> boundary by the EFI loader, hitting Xen's sanity check that it's below 4G.
> 
> Xen does still have a requirement to live below the 4G boundary.  At a
> minimum, idle_pg_table needs to be addressable with a 32bit %cr3, but I
> bet that isn't the only restriction we have.
> 
> So, either we find a way of telling the EFI loader (using PE+ headers
> only) that we require to be below 4G (I have no idea if this is
> possible), or we strip xen.efi by default.

In principle not setting the large-address-aware flag ought to have such
an effect, except that (a) I'm in doubt as to EFI loaders actually
looking at the flag and (b) having this flag clear in an image with an
image base address far beyond the 4Gb boundary is likely at least
contradictory.

Jan

Reply via email to