From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A0BE346FD0 for ; Fri, 27 Mar 2026 03:05:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774580756; cv=none; b=SorY0mistHr76Ek8V9QLIZALloBSK3d3ulWHvfe0++OREET1tFsTR15S13mZTLffw6tglhrJvdFd4vpf3UT/DM+W5BteJ4D/yVpCzvH7g+tMvPgNVVh0AoXkqDD27DmCHhf3Hon+SwO1WkDgceZ1qlk6ZP1cef9HvxK7BjXAYbc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774580756; c=relaxed/simple; bh=1tnxdXpMi1S5/+66dwL7MnH9uofYW/fF2PlOqgMX4q8=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=JT/XHHm7Jrz/nVqk3nm4q+/3bE0yPhPZY34VuGOmtmrj0+wE79azrPofkhwDKrDcOhJNjl7E5aSWfnUeI1dVSiypdQl6L2NwG1/Wjiny970pAbHoWfjxOIAwiYv3/GKcmNbD0dY41TEkWVM2R19/lLGAxmbKFsUgaXaHYQbjm3c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=cvymaYow; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=+hCJtgZt; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="cvymaYow"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="+hCJtgZt" Date: Fri, 27 Mar 2026 04:05:50 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1774580751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type; bh=qnZB5smBrh9LBmRAPa3eES7xJrkoaSDuJEFmbxegSTk=; b=cvymaYowFro+cgh9RL71/bMp4DsApmUMMA9aBKtZ0YQXYRoTidSB7BVQ67MzBs9yBlFumn Ix9dAYixiOHdf9mt9IHKTmByuDE+KvWBm8qaCJI4249UU8n4upwu5F2fQX5ta0Bn1v42b/ WobLGte9RNOKgxvxNChVzPqe4xhmzEL2OIzt1ccNCHY7FzkPMyks6OOOp7WjcbO9k2j7hr zXak792K1KXM6bzYVX+8Aef8UducsjyudGhqbR7KAtx7RGfc/axOF9NM0Lm3Oh4WDkhV+W NhFrt6Zu0pLe+lG7ZSujUa7aWb6PPkYmO3C3it4FO2Nvh6e0vuVkj10lTlj1GQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1774580751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type; bh=qnZB5smBrh9LBmRAPa3eES7xJrkoaSDuJEFmbxegSTk=; b=+hCJtgZt9Hh5sbzmU4x2jLW7XX8nF8P0ZGzasrDOMfVNcPSZSDun1Lqf1kURGYlzcNWF1F tGNR6ypsuV18NrCQ== From: "Ahmed S. Darwish" To: Borislav Petkov , Dave Hansen , Ingo Molnar Cc: Thomas Gleixner , Andrew Cooper , "H. Peter Anvin" , Sean Christopherson , David Woodhouse , Peter Zijlstra , Christian Ludloff , Sohil Mehta , Maciej Wieczor-Retman , John Ogness , x86@kernel.org, x86-cpuid@lists.linux.dev, LKML Subject: [ANNOUNCE] x86-cpuid-db: Release v3.0 Message-ID: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, I'm happy to announce release 3.0 of the x86-cpuid-db project: https://gitlab.com/x86-cpuid.org/x86-cpuid-db https://gitlab.com/x86-cpuid.org/x86-cpuid-db/-/releases/v3.0 Changelog v3.0 -------------- Introduce the Linux-defined synthetic CPUID leaves 0x4c780001 and 0x4c780002. The range ID prefix 0x4c78 is for Linux in its shorthand ASCII form "Lx", where Linux becomes a virtual vendor akin to hardware vendors like AMD or Intel. In these leaves, provide a 1:1 bitfield mapping for what Linux defines in its synthetic X86_FEATURE words at . Designate leaf 0x4c780001 for feature words in a linear order; i.e., subleaf 0 registers EAX to EDX, then subleaf 1 registers, and so on. Similarly, designate leaf 0x4c780001 for the X86_BUG words. Here is the synthetic leaves bitfield listing: https://gitlab.com/x86-cpuid.org/x86-cpuid-db/-/blob/v3.0/db/xml/leaf_4c780001.xml https://gitlab.com/x86-cpuid.org/x86-cpuid-db/-/blob/v3.0/db/xml/leaf_4c780002.xml With that, the Linux kernel x86 feature query code can have zero special cases. The synthetic CPUID leaves and X86_FEATURE words are collected, parsed, modified, and queried just like their hardware-backed counterparts. Update the CPUID database: - Leaf 0x23: Introduce subleaf 2, Auto Counter Reload (ACR) - Leaf 0x23: Introduce subleaf 4/5, PEBS capabilities and counters - Leaf 0x1c: Return LBR depth as a bitmask instead of individual bits - Leaf 0x0a: Define more descriptive PMU bitfield names Thanks to Dave Hansen (Intel), also add the bits: - Leaf 0x0a: Various missing PMU events - Leaf 0x06: Missing IA32_HWP_CTL flag - Leaf 0x0f: Missing non-CPU (IO) Intel RDT bits Release coverage ---------------- CPUID leaves: 64 leaves CPUID bitfields: 1104 entries Linux feature flags: 465 entries Xen feature flags: 198 entries Artifacts --------- The generated CSV and C header files can be quickly checked in full from the release artifacts at: https://gitlab.com/x86-cpuid.org/x86-cpuid-db/-/releases/v3.0 Thanks! Ahmed