[tip: x86/urgent] x86/cpu/hygon: Add missing resctrl_cpu_detect() in bsp_init helper

From: tip-bot2 for Tianxiang Peng
Date: Mon Aug 18 2025 - 06:28:24 EST


The following commit has been merged into the x86/urgent branch of tip:

Commit-ID: d8df126349dad855cdfedd6bbf315bad2e901c2f
Gitweb: https://git.kernel.org/tip/d8df126349dad855cdfedd6bbf315bad2e901c2f
Author: Tianxiang Peng <txpeng@xxxxxxxxxxx>
AuthorDate: Mon, 23 Jun 2025 17:31:53 +08:00
Committer: Borislav Petkov (AMD) <bp@xxxxxxxxx>
CommitterDate: Mon, 18 Aug 2025 12:09:26 +02:00

x86/cpu/hygon: Add missing resctrl_cpu_detect() in bsp_init helper

Since

923f3a2b48bd ("x86/resctrl: Query LLC monitoring properties once during boot")

resctrl_cpu_detect() has been moved from common CPU initialization code to
the vendor-specific BSP init helper, while Hygon didn't put that call in their
code.

This triggers a division by zero fault during early booting stage on our
machines with X86_FEATURE_CQM* supported, where get_rdt_mon_resources() tries
to calculate mon_l3_config with uninitialized boot_cpu_data.x86_cache_occ_scale.

Add the missing resctrl_cpu_detect() in the Hygon BSP init helper.

[ bp: Massage commit message. ]

Fixes: 923f3a2b48bd ("x86/resctrl: Query LLC monitoring properties once during boot")
Signed-off-by: Tianxiang Peng <txpeng@xxxxxxxxxxx>
Signed-off-by: Borislav Petkov (AMD) <bp@xxxxxxxxx>
Reviewed-by: Hui Li <caelli@xxxxxxxxxxx>
Cc: <stable@xxxxxxxxxx>
Link: https://lore.kernel.org/20250623093153.3016937-1-txpeng@xxxxxxxxxxx
---
arch/x86/kernel/cpu/hygon.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/x86/kernel/cpu/hygon.c b/arch/x86/kernel/cpu/hygon.c
index 2154f12..1fda6c3 100644
--- a/arch/x86/kernel/cpu/hygon.c
+++ b/arch/x86/kernel/cpu/hygon.c
@@ -16,6 +16,7 @@
#include <asm/spec-ctrl.h>
#include <asm/delay.h>
#include <asm/msr.h>
+#include <asm/resctrl.h>

#include "cpu.h"

@@ -117,6 +118,8 @@ static void bsp_init_hygon(struct cpuinfo_x86 *c)
x86_amd_ls_cfg_ssbd_mask = 1ULL << 10;
}
}
+
+ resctrl_cpu_detect(c);
}

static void early_init_hygon(struct cpuinfo_x86 *c)