cpu_x86_support_mca_broadcast() excludes AMD CPUs because QEMU handles AMD injected MCEs as local machine checks, not as Intel-style broadcast MCEs. Hygon Dhyana missed that exclusion: it is not an AMD vendor CPU and its family is greater than 6, so QEMU reported MCA broadcast support. This affects QEMU's synthetic MCE injection paths. KVM memory-failure injection uses this helper to decide whether to set MCE_INJECT_BROADCAST. HMP 'mce -b' uses it to decide whether a broadcast request is valid. With a multi-vCPU Dhyana guest, QEMU could fan out an injected MCE to secondary vCPUs and populate extra bank records. Linux routes Hygon through the AMD MCE feature initialization path and does not use Intel/Zhaoxin LMCE broadcast handling for Hygon. Do not advertise Intel-style MCA broadcast support for Hygon in QEMU's injected MCE paths. This is limited to the MCE broadcast-support decision. It does not claim that all Hygon MCE/MCA behavior is identical to AMD. Signed-off-by: Tina Zhang --- target/i386/helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/i386/helper.c b/target/i386/helper.c index 6836214162..c5bbe9715b 100644 --- a/target/i386/helper.c +++ b/target/i386/helper.c @@ -95,7 +95,7 @@ int cpu_x86_support_mca_broadcast(CPUX86State *env) int family = 0; int model = 0; - if (IS_AMD_CPU(env)) { + if (IS_AMD_CPU(env) || IS_HYGON_CPU(env)) { return 0; } -- 2.43.7