All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Cheatham <Benjamin.Cheatham@amd.com>
To: <pbonzini@redhat.com>, <zhao1.liu@intel.com>
Cc: <qemu-devel@nongnu.org>, Ben Cheatham <Benjamin.Cheatham@amd.com>
Subject: [PATCH 0/4] Update TSA mitigations for Zen3+
Date: Fri, 13 Nov 2026 11:49:22 -0600	[thread overview]
Message-ID: <20261113174926.1861-1-Benjamin.Cheatham@amd.com> (raw)

This set adds new model versions for Zen3 (EPYC-Milan) through Zen5
(EPYC-Turin) to bring TSA mitigations up to date. This is done in two
parts:

	1. Add a definition for the new TSA-FILL variant (Patch 1)

		Only Zen5 is vulnerable to this TSA variant. QEMU invocations for 
		Zen3 and Zen4 may add "+tsa-fill-no" to the "-cpu" argument to
		set this feature bit.

		This bit is not set by default because it's not supported
		by SEV firmware on Zen3 and Zen4. If you try to start a SEV-SNP
		VM with this bit set the guest will fail to boot due to the
		firmware rejecting the modified CPUID page.

	2. Set the "verw-clear" feature bit for Zen3 through Zen5
	(Patches 2, 3, and 4)

		This bit is used to mitigate the TSA-L1 and TSA-SQ vectors on
		Zen3 and Zen4, and the TSA-FILL variant on Zen5. The definition
		for verw-clear was already in place, but unused. This set
		rectifies that by setting the verw-clear bit in an updated model
		for Zen3, 4, and 5.

		Updated microcode is required for Zen5. Any revision later than
		0xb002175 for Turin Classic or 0x0B101066 for Turin Dense will
		work. Updated microcode is available in the latest PI release
		or from linux-firmware.

		Updated microcode has been available for Zen3 & Zen4 for a
		while, but there is a revision check performed by the Linux
		kernel. If QEMU is complaining about the "verw-clear" bit being
		missing, please update to the latest PI release or microcode in
		linux-firmware.

Linux kernel support for these changes was just merged, see [1].

Quick note: This set conflicts with the Venice & Turin v3 model I sent out
a few weeks ago[2]. The only conflicting portion is the Turin model patch,
either that patch's number can be bumped to v4 or the two patches can be
merged if both sets are picked up at the same time.

[1]:
Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cf27412f19c9cc5909b9107cd1b3f4ab7608e362
[2]:
Link: https://lore.kernel.org/qemu-devel/20261029195623.2209-1-Benjamin.Cheatham@amd.com/

Thanks,
Ben

Ben Cheatham (4):
  target/i386: Add TSA attack variant TSA-FILL
  target/i386: Add EPYC-Milan-v5 Model
  target/i386: Add EPYC-Genoa-v4 Model
  target/i386: Add EPYC-Turin-v3 Model

 target/i386/cpu.c | 32 +++++++++++++++++++++++++++++++-
 target/i386/cpu.h |  2 ++
 2 files changed, 33 insertions(+), 1 deletion(-)

base-commit: fd7ab698c921

-- 
2.53.0



             reply	other threads:[~2026-11-13 19:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-13 17:49 Ben Cheatham [this message]
2026-11-13 17:49 ` [PATCH 1/4] target/i386: Add TSA variant TSA-FILL Ben Cheatham
2026-11-13 17:49 ` [PATCH 2/4] target/i386: Add EPYC-Milan-v5 Model Ben Cheatham
2026-11-13 17:49 ` [PATCH 3/4] target/i386: Add EPYC-Genoa-v4 Model Ben Cheatham
2026-11-13 17:49 ` [PATCH 4/4] target/i386: Add EPYC-Turin-v3 Model Ben Cheatham

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261113174926.1861-1-Benjamin.Cheatham@amd.com \
    --to=benjamin.cheatham@amd.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=zhao1.liu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.