On Thu, May 14, 2026 at 1:03 PM Alex Hung <[email protected]> wrote: > > cpu_data().topo.apicid and kfd_fill_iolink_info_for_cpu() rely on > x86-specific structs not present on UML. The kfd_topology.c and > kfd_crat.c were guarded by CONFIG_X86_64 alone, causing build > failures when CONFIG_DRM_AMDGPU is selected on UML. > > Update guards to '#if defined(CONFIG_X86_64) && !defined(CONFIG_UML)' > to ensure x86_64-only paths are excluded on UML builds. > > Fixes: e6b71bcdc409 ("drm/amdgpu: Remove UML build exclusion from Kconfig") > Reported-by: kernel test robot <[email protected]> > Closes: > https://lore.kernel.org/oe-kbuild-all/[email protected]/ > Cc: Harry Wentland <[email protected]> > Assisted-by: Copilot:Claude-Sonnet-4.6 > Signed-off-by: Alex Hung <[email protected]>
Acked-by: Alex Deucher <[email protected]> > --- > drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 6 +++--- > drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 2 +- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c > b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c > index a1087c13f241..cf7b1b038d5f 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c > @@ -1821,7 +1821,7 @@ static int kfd_fill_mem_info_for_cpu(int numa_node_id, > int *avail_size, > return 0; > } > > -#ifdef CONFIG_X86_64 > +#if defined(CONFIG_X86_64) && !defined(CONFIG_UML) > static int kfd_fill_iolink_info_for_cpu(int numa_node_id, int *avail_size, > uint32_t *num_entries, > struct crat_subtype_iolink *sub_type_hdr) > @@ -1880,7 +1880,7 @@ static int kfd_create_vcrat_image_cpu(void > *pcrat_image, size_t *size) > struct crat_subtype_generic *sub_type_hdr; > int avail_size = *size; > int numa_node_id; > -#ifdef CONFIG_X86_64 > +#if defined(CONFIG_X86_64) && !defined(CONFIG_UML) > uint32_t entries = 0; > #endif > int ret = 0; > @@ -1945,7 +1945,7 @@ static int kfd_create_vcrat_image_cpu(void > *pcrat_image, size_t *size) > sub_type_hdr->length); > > /* Fill in Subtype: IO Link */ > -#ifdef CONFIG_X86_64 > +#if defined(CONFIG_X86_64) && !defined(CONFIG_UML) > ret = kfd_fill_iolink_info_for_cpu(numa_node_id, &avail_size, > &entries, > (struct crat_subtype_iolink *)sub_type_hdr); > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c > b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c > index 46db0d65d242..87e13f021457 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c > @@ -2349,7 +2349,7 @@ static int kfd_cpumask_to_apic_id(const struct cpumask > *cpumask) > first_cpu_of_numa_node = cpumask_first(cpumask); > if (first_cpu_of_numa_node >= nr_cpu_ids) > return -1; > -#ifdef CONFIG_X86_64 > +#if defined(CONFIG_X86_64) && !defined(CONFIG_UML) > return cpu_data(first_cpu_of_numa_node).topo.apicid; > #else > return first_cpu_of_numa_node; > -- > 2.43.0 >
