From nobody Tue Dec 16 14:43:31 2025 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 2B95A280A5A for ; Sat, 6 Dec 2025 00:17:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764980279; cv=none; b=kdWcFoBPujbZeSbtMwwtDkcnpM7le7dzTpBrcmxtvBYC8xve8b5evGKTQA2lfislq4xSoxu4dzbOYYC9y77S7Mf/ekbx8/u23AYjXbicfzkB5v5eTuq3+GCIyI5bs4tIgq6FJp/0QjE4YrGN3OXOkn1YkwspSOp+Q5NndSmvp8g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764980279; c=relaxed/simple; bh=tj6t2t4Ed4eDjoeIXxejgP4HqHkh0nNCA/O27IqihCM=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=rQTJg3dB37Inpb+Xyx3+KpunhJcalYzKWAIqaTFEYKfRuhrvbc2Ge/yjIsAoIEsezNML9n0a+txKcd5WefphqpcyXE6ZPf5RtABBLHKHJCtBxCA6RJN26bgAgyn2wryT0DJ3+SSQdphjx5mPBv3qW0QNCL8OHQ4VfWFg/LYlL70= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=g7xckl+P; arc=none smtp.client-ip=209.85.214.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="g7xckl+P" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-2980ef53fc5so55548985ad.1 for ; Fri, 05 Dec 2025 16:17:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1764980276; x=1765585076; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=RvT5QOLTrPlZDM6KRmJviB3G20BHxxiuQcblXVA4XhQ=; b=g7xckl+P87b6HbODAOyT/O8Ipex0KWgqAc+ZzCIL9NjsLCFEDIRpfBYM9auy7pMQ5t VERXFbqzPC6PofStt7lVol1EdHMzHQCp9kT2JRovo5/3hbHsf8ttzfYqTRFK6TuBRAty Cu1XCTP1ut6Lb3EX2tlSoxtsd8Qke9ORXfEKFCmPRbxJVVq80Afom8vtxIQd9NOTti0t mCsRj+HiuWs/o8Vk7E3gcZuPygdMomU8BYMc+Faz0GzANqJuyWuK8OBumvj4uI7q48m0 djTghDTCuIMJucbuy8EibimzuBejPSuhkXunuW6vjD1hCThXPeqpqUzE2EKmosC67SNU Aygg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764980276; x=1765585076; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RvT5QOLTrPlZDM6KRmJviB3G20BHxxiuQcblXVA4XhQ=; b=Agzm8wd1v8CKYHm3hFlNbRdF75FR91hv8u3xL0OCKmRUALDd+IQUU2vKiqaKgyPDIi LKNlVXDY8AAq7SxRC4rE0HrLxXSGKF+iFdC3vpk4vwk35Ofb4OZXPNJBtEi8jF+BJ2Kb MPVp/K7swDIdSBI8oIV614oJOSNSsJHE2IXug+/fhb9XPUtsPeS6o9BRj1w8e0dkF+ZA 6ZmMIDuZFtFFVFwQBl1g5DNaxEYVTsfEEeeDVzDYUZAtPhTYrVYoGWi+6XTbysxPybrM Joxj1t9gCzh0u/Lgjyjj53bfuXlONRtjDJ43apM9rRhL1kp7u8joMiP1SMngv8e4EJWF UeFg== X-Forwarded-Encrypted: i=1; AJvYcCVoUFKBYcF1PvwLzmfKfjIRdHaGRIydswYxlhNdZiXFtwL9V/ue/rt9cOBkj/Aag6cZqMCZnSQ2kd1rTLE=@vger.kernel.org X-Gm-Message-State: AOJu0Yztkt6nNqnAeHuZOHbej3Bb/Ejvevjd+hRWR752IoHr85P/0l6i aqtX1b61LtHEZ2EzQn+DMUT4NSTJOsE97xpcDjcLY5aIfws36wQ8S/DnH0OylYXiUGwwIp3z3mP EqEKj6A== X-Google-Smtp-Source: AGHT+IGYBlCmb/gXYXB/w+eLYeN/6lSsoZJHvJE9tm9YKGnjFm45dzt4nCYHuTcqC75ktumYKLC92IIPc9g= X-Received: from plbko16.prod.google.com ([2002:a17:903:7d0:b0:29d:5afa:2c1]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:d488:b0:295:5668:2f2e with SMTP id d9443c01a7336-29df880d025mr4171385ad.37.1764980276326; Fri, 05 Dec 2025 16:17:56 -0800 (PST) Reply-To: Sean Christopherson Date: Fri, 5 Dec 2025 16:16:51 -0800 In-Reply-To: <20251206001720.468579-1-seanjc@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20251206001720.468579-1-seanjc@google.com> X-Mailer: git-send-email 2.52.0.223.gf5cc29aaa4-goog Message-ID: <20251206001720.468579-16-seanjc@google.com> Subject: [PATCH v6 15/44] KVM: x86/pmu: Snapshot host (i.e. perf's) reported PMU capabilities From: Sean Christopherson To: Marc Zyngier , Oliver Upton , Tianrui Zhao , Bibo Mao , Huacai Chen , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Xin Li , "H. Peter Anvin" , Andy Lutomirski , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Sean Christopherson , Paolo Bonzini Cc: linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, kvm@vger.kernel.org, loongarch@lists.linux.dev, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Mingwei Zhang , Xudong Hao , Sandipan Das , Dapeng Mi , Xiong Zhang , Manali Shukla , Jim Mattson Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Take a snapshot of the unadulterated PMU capabilities provided by perf so that KVM can compare guest vPMU capabilities against hardware capabilities when determining whether or not to intercept PMU MSRs (and RDPMC). Reviewed-by: Sandipan Das Tested-by: Xudong Hao Signed-off-by: Sean Christopherson --- arch/x86/kvm/pmu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c index 487ad19a236e..7c219305b61d 100644 --- a/arch/x86/kvm/pmu.c +++ b/arch/x86/kvm/pmu.c @@ -108,6 +108,8 @@ void kvm_init_pmu_capability(const struct kvm_pmu_ops *= pmu_ops) bool is_intel =3D boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL; int min_nr_gp_ctrs =3D pmu_ops->MIN_NR_GP_COUNTERS; =20 + perf_get_x86_pmu_capability(&kvm_host_pmu); + /* * Hybrid PMUs don't play nice with virtualization without careful * configuration by userspace, and KVM's APIs for reporting supported --=20 2.52.0.223.gf5cc29aaa4-goog