From nobody Sat Oct 25 16:57:14 2025 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A8B416D321 for ; Fri, 5 Apr 2024 12:34:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.130 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712320486; cv=none; b=KDzk015i1V0xgNy+ZLkVouq8GCsqVCK384KsY/joIxRhOSsc/Td3WTelEB2QuGHAD+vR+eZHbR4Tl+PTPSTvr2TxrjM0FldF79hn3rmn2Rgb7TyMN2QfMlVTVkWIRb/9Vd6pqba9azVLTvHUBwMyzumsjkFdMX+KavK+2xuHqAk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712320486; c=relaxed/simple; bh=yaS5FbovQH9/Auz/WAqnBZgj/Sj2LwFyQC3zGZWmp24=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=RLVSO6AkvTns8p8NbiEVBJrQ8eSKWubzbOJyD4DYz5fH/y7rKHagYIcZ2Vj1m3gTooLEwUKMMFXw4GDYQieAplgYC6SXpKxhDGvp6AmTpRJrIZU9w8xd8XTdsHzETo8pc+pe03RVELrvRAVCUjLcBlxcvnxVU7Kkxdua3Kyr3kg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (1024-bit key) header.d=suse.com header.i=@suse.com header.b=lEuSHVAI; dkim=pass (1024-bit key) header.d=suse.com header.i=@suse.com header.b=lEuSHVAI; arc=none smtp.client-ip=195.135.223.130 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=suse.com header.i=@suse.com header.b="lEuSHVAI"; dkim=pass (1024-bit key) header.d=suse.com header.i=@suse.com header.b="lEuSHVAI" Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 9114121A3D; Fri, 5 Apr 2024 12:34:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1712320482; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MdgprpQ24t5nWyEyGzsG9noWxLeH6m4PgtqIZBKgW8o=; b=lEuSHVAIBU6dCMAXHOCGccMqXxdUd0Wjmctmk27IlNyLpPiDPbp8ck74aZiMEns6kDvoM2 xHYkVofeqi3pCDiIXeEKCZw8byMXwtO+vyBLTYsDddlJ9z+FIumeMvTMdau3P24Y4spx+z ou3mjOc0A9xcWpYqMdU1Tm9Zcsin+iA= Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1712320482; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MdgprpQ24t5nWyEyGzsG9noWxLeH6m4PgtqIZBKgW8o=; b=lEuSHVAIBU6dCMAXHOCGccMqXxdUd0Wjmctmk27IlNyLpPiDPbp8ck74aZiMEns6kDvoM2 xHYkVofeqi3pCDiIXeEKCZw8byMXwtO+vyBLTYsDddlJ9z+FIumeMvTMdau3P24Y4spx+z ou3mjOc0A9xcWpYqMdU1Tm9Zcsin+iA= Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 4E871139E8; Fri, 5 Apr 2024 12:34:42 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap2.dmz-prg2.suse.org with ESMTPSA id QLOLEeLvD2aVGgAAn2gu4w (envelope-from ); Fri, 05 Apr 2024 12:34:42 +0000 From: Juergen Gross To: linux-kernel@vger.kernel.org, x86@kernel.org Cc: Juergen Gross , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" Subject: [PATCH 1/2] x86/cpu: fix BSP detection when running as Xen PV guest Date: Fri, 5 Apr 2024 14:34:33 +0200 Message-Id: <20240405123434.24822-2-jgross@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20240405123434.24822-1-jgross@suse.com> References: <20240405123434.24822-1-jgross@suse.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Flag: NO X-Spam-Score: -5.40 X-Spam-Level: X-Spamd-Result: default: False [-5.40 / 50.00]; REPLY(-4.00)[]; BAYES_HAM(-1.60)[92.42%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; MIME_TRACE(0.00)[0:+]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; ARC_NA(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_SEVEN(0.00)[8]; RCVD_COUNT_TWO(0.00)[2]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,imap2.dmz-prg2.suse.org:helo,imap2.dmz-prg2.suse.org:rdns] Content-Type: text/plain; charset="utf-8" When booting as a Xen PV guest the boot processor isn't detected correctly and the following message is shown: CPU topo: Boot CPU APIC ID not the first enumerated APIC ID: 0 > 1 Additionally this results in one CPU being ignored. Fix that by calling the BSP detection logic when registering the boot CPU's APIC, too. Fixes: 5c5682b9f87a ("x86/cpu: Detect real BSP on crash kernels") Signed-off-by: Juergen Gross --- arch/x86/kernel/cpu/topology.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/topology.c b/arch/x86/kernel/cpu/topology.c index aaca8d235dc2..23c3db5e6396 100644 --- a/arch/x86/kernel/cpu/topology.c +++ b/arch/x86/kernel/cpu/topology.c @@ -255,7 +255,7 @@ void __init topology_register_boot_apic(u32 apic_id) WARN_ON_ONCE(topo_info.boot_cpu_apic_id !=3D BAD_APICID); =20 topo_info.boot_cpu_apic_id =3D apic_id; - topo_register_apic(apic_id, CPU_ACPIID_INVALID, true); + topology_register_apic(apic_id, CPU_ACPIID_INVALID, true); } =20 /** --=20 2.35.3 From nobody Sat Oct 25 16:57:14 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1712320532; cv=none; d=zohomail.com; s=zohoarc; b=ICzoTFLl+ju3b8ZBS79wJH3kpKY9zgQmVHWTO5uiI+tCui3wXe2Tfhg4Lv3oFNwhDp0zQtuANYE3T0ADQvNN7r5PYV16QMxQ5YpKic7vmgHYj6P5hREQQexSDHGUz6AIpSU/uCq1Bk9TPImhi5gNRLdxN+sYqXU7fZKhO2NLMlQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1712320532; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=c0jyNvKTHax+A0LD2eIp7A6uzmXI0s1Z7nkLE2AaG4I=; b=HW5yUoQtSAqXDbvf5F+akN/TvgGHAWL3k0SIx8JUGT5gpsUbp02Jek0V7xAJHboPkybXY/9v/nYhNN0w8+cpEadToFU9iTKwGlIl7M9dVMQRKAVXFVaUFPk2T0WAiEGFfeTm/eVP6rJ7MxDhBYNrRPGU3eqbW/ySS2B7UiSuc7I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1712320532777967.444416404286; Fri, 5 Apr 2024 05:35:32 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.701245.1095561 (Exim 4.92) (envelope-from ) id 1rsimR-0005tJ-GX; Fri, 05 Apr 2024 12:34:51 +0000 Received: by outflank-mailman (output) from mailman id 701245.1095561; Fri, 05 Apr 2024 12:34:51 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rsimR-0005tC-Di; Fri, 05 Apr 2024 12:34:51 +0000 Received: by outflank-mailman (input) for mailman id 701245; Fri, 05 Apr 2024 12:34:50 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rsimQ-0005d8-8o for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 12:34:50 +0000 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id e42f39c2-f348-11ee-a1ef-f123f15fe8a2; Fri, 05 Apr 2024 14:34:48 +0200 (CEST) Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 51D5821A42; Fri, 5 Apr 2024 12:34:48 +0000 (UTC) Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id E9EF1139E8; Fri, 5 Apr 2024 12:34:47 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap2.dmz-prg2.suse.org with ESMTPSA id VZuqN+fvD2adGgAAn2gu4w (envelope-from ); Fri, 05 Apr 2024 12:34:47 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: e42f39c2-f348-11ee-a1ef-f123f15fe8a2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1712320488; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=c0jyNvKTHax+A0LD2eIp7A6uzmXI0s1Z7nkLE2AaG4I=; b=AubcmXMIMx2JuozlxaVZ6aoO1vmLMUD9McUXagcomdrknSUs72w/jRG5+BoqixzGF0Ynsw cmF67Yy8MEYjggWpzTKsZzIbF3YbDaUtLurvHF8BAWTkjzVGze/+nrAloogUfDHSOItTDP iSROy7dI6S/oknWyfBY5jJI1PiOF/E4= Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1712320488; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=c0jyNvKTHax+A0LD2eIp7A6uzmXI0s1Z7nkLE2AaG4I=; b=AubcmXMIMx2JuozlxaVZ6aoO1vmLMUD9McUXagcomdrknSUs72w/jRG5+BoqixzGF0Ynsw cmF67Yy8MEYjggWpzTKsZzIbF3YbDaUtLurvHF8BAWTkjzVGze/+nrAloogUfDHSOItTDP iSROy7dI6S/oknWyfBY5jJI1PiOF/E4= From: Juergen Gross To: linux-kernel@vger.kernel.org, x86@kernel.org Cc: Juergen Gross , Boris Ostrovsky , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , xen-devel@lists.xenproject.org Subject: [PATCH 2/2] x86/xen: return a sane initial apic id when running as PV guest Date: Fri, 5 Apr 2024 14:34:34 +0200 Message-Id: <20240405123434.24822-3-jgross@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20240405123434.24822-1-jgross@suse.com> References: <20240405123434.24822-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Flag: NO X-Spam-Score: -6.80 X-Spam-Level: X-Spamd-Result: default: False [-6.80 / 50.00]; REPLY(-4.00)[]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; MIME_TRACE(0.00)[0:+]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; ARC_NA(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_SEVEN(0.00)[10]; RCVD_COUNT_TWO(0.00)[2]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap2.dmz-prg2.suse.org:helo,imap2.dmz-prg2.suse.org:rdns,suse.com:email] X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1712320533511100001 Content-Type: text/plain; charset="utf-8" With recent sanity checks for topology information added, there are now warnings issued for APs when running as a Xen PV guest: [Firmware Bug]: CPU 1: APIC ID mismatch. CPUID: 0x0000 APIC: 0x0001 This is due to the initial APIC ID obtained via CPUID for PV guests is always 0. Avoid the warnings by synthesizing the CPUID data to contain the same initial APIC ID as xen_pv_smp_config() is using for registering the APIC IDs of all CPUs. Fixes: 52128a7a21f7 ("86/cpu/topology: Make the APIC mismatch warnings comp= lete") Signed-off-by: Juergen Gross --- arch/x86/xen/enlighten_pv.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c index ace2eb054053..965e4ca36024 100644 --- a/arch/x86/xen/enlighten_pv.c +++ b/arch/x86/xen/enlighten_pv.c @@ -219,13 +219,20 @@ static __read_mostly unsigned int cpuid_leaf5_edx_val; static void xen_cpuid(unsigned int *ax, unsigned int *bx, unsigned int *cx, unsigned int *dx) { - unsigned maskebx =3D ~0; + unsigned int maskebx =3D ~0; + unsigned int or_ebx =3D 0; =20 /* * Mask out inconvenient features, to try and disable as many * unsupported kernel subsystems as possible. */ switch (*ax) { + case 0x1: + /* Replace initial APIC ID in bits 24-31 of EBX. */ + maskebx =3D 0x00ffffff; + or_ebx =3D smp_processor_id() << 24; + break; + case CPUID_MWAIT_LEAF: /* Synthesize the values.. */ *ax =3D 0; @@ -248,6 +255,7 @@ static void xen_cpuid(unsigned int *ax, unsigned int *b= x, : "0" (*ax), "2" (*cx)); =20 *bx &=3D maskebx; + *bx |=3D or_ebx; } =20 static bool __init xen_check_mwait(void) --=20 2.35.3