From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f201.google.com (mail-pf1-f201.google.com [209.85.210.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 2BACC3630B7 for ; Wed, 11 Mar 2026 00:33:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773189236; cv=none; b=q7ldJx7MRbhQKm6R1gH4jtNJFVB2/BtI+Z27rVk/9qw/qql+6eAHPOtGgEfixKK9wmPr8fNPt1sh6Lq2DexctC2+YvrMQa5Gn1VZIjHgQ7T92C/JJ4AXHnR+AoEfyXGmp33oHjE0KPf8PrmQQ4cccApovx9ZyRpzDWrj3z/ubw8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773189236; c=relaxed/simple; bh=pkeFz4pHI1qOD1pZsBkP4yqTDQt6pCmcAwnlYpu37+c=; h=Date:Mime-Version:Message-ID:Subject:From:To:Cc:Content-Type; b=uHsqOlWBFIokN00wjiERCrsrB9oPx8HY0fs910lP6b8yu2EuH38/7p/7GOaoXbDD8OHQwK9speuR/hSaE5uGN4AcKhHx0+2aMTKPFYV5JxP1b+9y4hJVK0TM9nwp7SrJXxnjf73sJ5c5Fk4JPL/I14JrzVCbcDulKSH4kXJf9SY= 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=wGcITFs1; arc=none smtp.client-ip=209.85.210.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="wGcITFs1" Received: by mail-pf1-f201.google.com with SMTP id d2e1a72fcca58-829ba0e63e8so1352232b3a.2 for ; Tue, 10 Mar 2026 17:33:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1773189233; x=1773794033; darn=vger.kernel.org; h=cc:to:from:subject:message-id:mime-version:date:reply-to:from:to:cc :subject:date:message-id:reply-to; bh=Y8ZVaqYViHeyZ+pNLWaCA3L4wzmUu/H59FOP4fIvB28=; b=wGcITFs1X6yM+QWMZ6m7aEfsgZU+4AraMPtW8kjWyVImp4bMG7jOTe/utWSsdEKTDQ 0xoyA80JkZPFDG636xloK6p/I356amUSOAlyf9NfbAUdZgPQWDvi38Lj0JQe42+JKmcu O0C53FmFP04TriQKq3YCVSFDEXAKdpBvkkVVdrRf5HR5yIEgzWLvpvEu7bfzlmR5DMNw DEQF1KUBPwIHVgOWwJ6wZpxyX70qjJoih+w+SJ5nTrdNVxRVEbEOAZCZpwjRjq27p9K8 DQcgHExEa+/1ZUEnaBsc2hlYlzkLfMFCl9H88nHWN1fHYSfT/ydJSvHrjWjgAdOWPaNN d3Kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773189233; x=1773794033; h=cc:to:from:subject:message-id:mime-version:date:reply-to :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Y8ZVaqYViHeyZ+pNLWaCA3L4wzmUu/H59FOP4fIvB28=; b=m0tBGRObjIas2kwK5OtKbHE/IDNEXtIcq+eJdW1V55YjCPO/5Q7yR5WFQh4MgIYXmE UFTrEz7dlyGzxATWCAsomUbi0w1fDQ5b/H4CaLMMs6OYXU91dcAqAF7WCOFWSamMzj1r 9SAJojEyJbn3QAXsQcNmsDe00jRuNWtZBGZJ478Ro3TauuR9LKYEkOTyD4CtvvSmrX1b 6oDzDxC5hU0XkgGx1s6xYottomSJkVACiHvbFBkjC0HFvD7szRTBFrxCCmjMFa2URNCo hHjP2IRTW15UqaQf4bBVuMh/gPgmb8HvMaaK/7JKDwl3JxwsLnk9zYSRrX24ZXfSJymp GK8A== X-Forwarded-Encrypted: i=1; AJvYcCUcspvKV7vJiLXkrzB4nU85Sri2TXahwUL+RIgF57gcvCpuYyYjbHs0aHBAwtGtXqy3M2PdJAPey2ZgDsw=@vger.kernel.org X-Gm-Message-State: AOJu0Yyfm1do8xLVyvyVOHPjeOn/eHOjolHUAW242rVaDjBgW+KQ7ylb cSVdPWNL4Vxlyqsx7QIo23Adpju8S7JFtB5bU7LxMrKYVwHacn9dI98kMzFsnHRdgDEs8itUqzm 3nS8f7A== X-Received: from pfbde20.prod.google.com ([2002:a05:6a00:4694:b0:829:9167:6d5b]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:8017:b0:829:8c23:f70e with SMTP id d2e1a72fcca58-829f70ac57amr636536b3a.45.1773189233364; Tue, 10 Mar 2026 17:33:53 -0700 (PDT) Reply-To: Sean Christopherson Date: Tue, 10 Mar 2026 17:33:39 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 X-Mailer: git-send-email 2.53.0.473.g4a7958ca14-goog Message-ID: <20260311003346.2626238-1-seanjc@google.com> Subject: [PATCH 0/7] KVM: x86: APX reg prep work From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini , Kiryl Shutsemau Cc: kvm@vger.kernel.org, x86@kernel.org, linux-coco@lists.linux.dev, linux-kernel@vger.kernel.org, "Chang S . Bae" Content-Type: text/plain; charset="UTF-8" Clean up KVM's register tracking and storage in preparation for landing APX, which expands the maximum number of GPRs from 16 to 32. This is kinda sorta an RFC, as there are some very opinionated changes. I.e. if you dislike something, please speak up. My thought is to treat R16-R31 as much like other GPRs as possible (though maybe we don't need to expand regs[] as sketched out in the last patch?). Sean Christopherson (7): KVM: x86: Add dedicated storage for guest RIP KVM: x86: Drop the "EX" part of "EXREG" to avoid collision with APX KVM: nVMX: Do a bitwise-AND of regs_avail when switching active VMCS KVM: x86: Add wrapper APIs to reset dirty/available register masks KVM: x86: Track available/dirty register masks as "unsigned long" values KVM: x86: Use a proper bitmap for tracking available/dirty registers *** DO NOT MERGE *** KVM: x86: Pretend that APX is supported on 64-bit kernels arch/x86/include/asm/kvm_host.h | 53 +++++++++++++++++++-------- arch/x86/kvm/kvm_cache_regs.h | 64 +++++++++++++++++++++++---------- arch/x86/kvm/svm/sev.c | 2 +- arch/x86/kvm/svm/svm.c | 16 ++++----- arch/x86/kvm/svm/svm.h | 2 +- arch/x86/kvm/vmx/nested.c | 10 +++--- arch/x86/kvm/vmx/tdx.c | 36 +++++++++---------- arch/x86/kvm/vmx/vmx.c | 52 +++++++++++++-------------- arch/x86/kvm/vmx/vmx.h | 24 ++++++------- arch/x86/kvm/x86.c | 20 +++++------ 10 files changed, 166 insertions(+), 113 deletions(-) base-commit: 5128b972fb2801ad9aca54d990a75611ab5283a9 -- 2.53.0.473.g4a7958ca14-goog