On 25.01.2024 14:26, Roger Pau Monne wrote: > --- a/xen/arch/x86/setup.c > +++ b/xen/arch/x86/setup.c > @@ -2138,6 +2138,54 @@ int __hwdom_init xen_in_range(unsigned long mfn) > return 0; > } > > +int __hwdom_init remove_xen_ranges(struct rangeset *r) > +{ > + paddr_t start, end; > + int rc; > + > + /* S3 resume code (and other real mode trampoline code) */ > + rc = rangeset_remove_range(r, PFN_DOWN(bootsym_phys(trampoline_start)), > + PFN_DOWN(bootsym_phys(trampoline_end) - 1));
As per further v5 comments this wants to be rc = rangeset_remove_range(r, PFN_DOWN(bootsym_phys(trampoline_start)), PFN_DOWN(bootsym_phys(trampoline_start))); or some such, with suitable cross-referencing comments added here and on the other side as to this only being a single page (unless this is already somehow abstracted; I can't spot any respective assertion in xen.lds.S though, for example). Jan