From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) (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 8BB0D4534A3 for ; Wed, 27 May 2026 17:44:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779903849; cv=none; b=sE+KvfqUBA8RCxwDJj0VsBwvlZK8WFd4yMuKlj/MgBGKYmUiFhcFO0B7Qmm6eHyiKzNaNDCbUL7bcJ3kzusG/AnXrzrhagodvQmajqz5kzem8HQsEwD2Qd2J4IHAsaLcGZO/ACZxXMkcr/FYhTjiSHG2nh9e4s0LJ299UQ2qPfI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779903849; c=relaxed/simple; bh=77ZuH98Z/7cwSOPku138FSNXa6+3lR22DIlZyZ/iZdU=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=Ha9/GmTx8PMwz9IO4YqEeO5goIiwXFT2JjaWf/T797/MEqxidpc6/kQv8pdmj/Y0pJqbA5cgu2ZZe1ho824m8DOSSXSyGA0XEsBNp5Td07cR61lfI4ets4sk9jL3UwYzFpghyMBuv2ReXPiN7tN0WuP3Jw/cKG013mZ2mi4fya4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jmattson.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=K73a8olv; arc=none smtp.client-ip=209.85.214.202 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--jmattson.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="K73a8olv" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-2baf7378ad0so127433335ad.0 for ; Wed, 27 May 2026 10:44:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1779903847; x=1780508647; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=O7VlkQudn+G7xM0z/ouPzrwYiSQV/Sy22jTIFn2bz+c=; b=K73a8olvk3exIXE3XtX0zm8DdFXDZEh21iOfYy4tWd5kxu8HRSfSBnCfVoAeIDlozU q9ER81R+SDzc9nxC5PTKzTLGqRxrjpcFvdufSziAWcD7yjTcJfFeUFuiGMQgNibuDpIy NwIClkkIxE6uFptUtLW62Zl2Gerfxt6b0nNEd/VX5ApeVHunjMbHcWfD1+7ef2T6rbiO Beag8V9xjM8zgc/LsubV9EDbd3OUN1J5K1cAZyDgVHdZCieCC0J1U8WKOlEQmcKs3ych JONQgrEm19EnklUI3y/vPKLXohQczQvp6IWA09svUUopLhDUdNsVNstBwcAyEn07nAmR IXFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779903847; x=1780508647; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=O7VlkQudn+G7xM0z/ouPzrwYiSQV/Sy22jTIFn2bz+c=; b=RVZBCXirScCahwB/0VEZ5LZdgjthzjmWHhmx8buL4HEX6WKa8fPFYcjYFToBL81PKO bMt6hI6+GDA84Ca1ldPMhNjkc94ALd7zVSzNvTlrgcTwfsXeid4+WLToozn6ySJV/E2D UGlSTnWY1Dx4+Wq9CkmtlBf8twtT10m/R4gf0lV1I1DoBbwD3eO/b4NxmG/MReWcBhW9 9K8f2pBqZvstc7b3KXGP980WGpvkOAcX7/vgnrirDyYHBPRbbSRLlOV9Rlx8A23ixc5t OS5lnP41ZfWmI8eEV4sN/H29RLpJNXjWf0tM9lv7pK7QM0f1Bb8ehcxHrI0Oc7AbTBjt R0xg== X-Forwarded-Encrypted: i=1; AFNElJ8fLtwrw9c8Y/KNHkSpSlx2g1idLuk4mA9IYq4/Xes6wr9A5ejzF+B3Kig4LSxpkkKyyqSUdqrq+priztM=@vger.kernel.org X-Gm-Message-State: AOJu0YydIHQ/pcyMODgfpdk2Dbe3z4peu+mV6hVITODEDQVQgFKQm3X2 gvwIP0dgXnf9tJzHff9OlESwkeHP9FcyPpz1bmc/XpYsfB9iVX7hha5lp5CEUD/fMu9+ydVDjB4 VZ7YUyOTSF1Gpqw== X-Received: from plkz6.prod.google.com ([2002:a17:902:7086:b0:2b2:488e:b71]) (user=jmattson job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:ebcd:b0:2b7:88d8:efde with SMTP id d9443c01a7336-2beb0365d7bmr270523025ad.7.1779903846519; Wed, 27 May 2026 10:44:06 -0700 (PDT) Date: Wed, 27 May 2026 10:43:47 -0700 In-Reply-To: <20260527174347.2356165-1-jmattson@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260527174347.2356165-1-jmattson@google.com> X-Mailer: git-send-email 2.54.0.794.g4f17f83d09-goog Message-ID: <20260527174347.2356165-6-jmattson@google.com> Subject: [PATCH v4 5/5] KVM: selftests: Update hwcr_msr_test for CPUID faulting bit From: Jim Mattson To: seanjc@google.com, pbonzini@redhat.com, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, shuah@kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, ctpence@google.com, David.Kaplan@amd.com, binbin.wu@linux.intel.com Cc: Jim Mattson Content-Type: text/plain; charset="UTF-8" Add BIT_ULL(35) (CpuidUserDis) to the valid mask in hwcr_msr_test, now that KVM accepts writes to this bit when the guest CPUID advertises CpuidUserDis. Signed-off-by: Jim Mattson --- tools/testing/selftests/kvm/include/x86/processor.h | 1 + tools/testing/selftests/kvm/x86/hwcr_msr_test.c | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/kvm/include/x86/processor.h b/tools/testing/selftests/kvm/include/x86/processor.h index 06878e7c7347..513e4a1075fa 100644 --- a/tools/testing/selftests/kvm/include/x86/processor.h +++ b/tools/testing/selftests/kvm/include/x86/processor.h @@ -226,6 +226,7 @@ struct kvm_x86_cpu_feature { #define X86_FEATURE_SEV KVM_X86_CPU_FEATURE(0x8000001F, 0, EAX, 1) #define X86_FEATURE_SEV_ES KVM_X86_CPU_FEATURE(0x8000001F, 0, EAX, 3) #define X86_FEATURE_SEV_SNP KVM_X86_CPU_FEATURE(0x8000001F, 0, EAX, 4) +#define X86_FEATURE_GP_ON_USER_CPUID KVM_X86_CPU_FEATURE(0x80000021, 0, EAX, 17) #define X86_FEATURE_PERFMON_V2 KVM_X86_CPU_FEATURE(0x80000022, 0, EAX, 0) #define X86_FEATURE_LBR_PMC_FREEZE KVM_X86_CPU_FEATURE(0x80000022, 0, EAX, 2) diff --git a/tools/testing/selftests/kvm/x86/hwcr_msr_test.c b/tools/testing/selftests/kvm/x86/hwcr_msr_test.c index 8e20a03b3329..53b7971aa072 100644 --- a/tools/testing/selftests/kvm/x86/hwcr_msr_test.c +++ b/tools/testing/selftests/kvm/x86/hwcr_msr_test.c @@ -11,12 +11,17 @@ void test_hwcr_bit(struct kvm_vcpu *vcpu, unsigned int bit) { const u64 ignored = BIT_ULL(3) | BIT_ULL(6) | BIT_ULL(8); - const u64 valid = BIT_ULL(18) | BIT_ULL(24); - const u64 legal = ignored | valid; + u64 valid = BIT_ULL(18) | BIT_ULL(24); u64 val = BIT_ULL(bit); u64 actual; + u64 legal; int r; + if (kvm_cpu_has(X86_FEATURE_GP_ON_USER_CPUID)) + valid |= BIT_ULL(35); + + legal = ignored | valid; + r = _vcpu_set_msr(vcpu, MSR_K7_HWCR, val); TEST_ASSERT(val & ~legal ? !r : r == 1, "Expected KVM_SET_MSRS(MSR_K7_HWCR) = 0x%lx to %s", -- 2.54.0.794.g4f17f83d09-goog