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