Re: [RFC][PATCH 02/34] x86/xen: Remove early "debug" physical address lookups

From: Jürgen Groß
Date: Mon Mar 11 2024 - 09:16:21 EST


On 22.02.24 19:39, Dave Hansen wrote:
From: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>

The __pa() facility is subject to debugging checks if CONFIG_DEBUG_VIRTUAL=y.
One of those debugging checks is whether the physical address is valid
on the platform. That information is normally available via CPUID. But
the __pa() code currently looks it up in 'boot_cpu_data' which is not
fully set up in early Xen PV boot.

The Xen PV code currently tries to get this info with
get_cpu_address_sizes() which also depends on 'boot_cpu_data' to be at
least somewhat set up. The result is that the c->x86_phys_bits gets a
sane value, but not one that has anything to do with the hardware. In
other words, the CONFIG_DEBUG_VIRTUAL checks are performed with what
amounts to garbage inputs.

Garbage checks are worse than no check at all. Move over to the
"nodebug" variant to axe the checks.

Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
Cc: Juergen Gross <jgross@xxxxxxxx>

Reviewed-by: Juergen Gross <jgross@xxxxxxxx>


Juergen