[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/3] x86: Add bit definitions for Automatic IBRS
- To: Alejandro Vallejo <alejandro.vallejo@xxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
- Date: Fri, 26 May 2023 17:46:51 +0100
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MEMqJE2mFYOW2UV5EWUK73CYF5A4qYWDRnHheCtco0c=; b=gdaJJJbC8OKFYN8M+S5G/J4d9bgrnYzATHrJjfpsgsEPQjiI1rP1dyx+LvO+FMj61Xc7XvPAiVtCvK4AsHlrzseU+DfUj2uZpZ2eCHI9EfpOFfHmpf8qcaBrpY4Z8fqs3kchjWFikjhyv3ZiQoHhj0o/0yDQ6WM+MSw5ZBhLgOXps8XD/v+Y8T5IzXlkTw0KC31cQPYLJlaLi/DMp/qpyX+2p6QmouQiW0wtvuU0/IGFNpWM8c1CiboKP+d8wlwHf7LvrPJo8EdWuTq84+qPajjzYDP69+Bk0VOZ8UEs3QoL4smQMkWj7rq/FhRm7bXHMErteVSiRTEgQDTTgbkp5g==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d1JIEWfiGq5PJT5guKHvoA8bvNrPAWmVgkbKuu2k21ooBJyJSFlHQyq4RL+mMKUy+Qq4ydG8mKiFTwMgxNgjSqDbeZQnEbQb7wji5uh3qb+tbhoM9VHb4ZA6SnC1v0MsKnnHF2ZkyVW/yQ9JMvDWF+T/yA2L7EOfhW7649XX9qHOKg5zwdQClvwyqFojje2HfunOg9w5JTL0B4ClpyhSjnXPRxnK2ARXqGo/bwbrg+OAEtsMsntHToyff1mdib5yBhleRvjTHrIkv7VxNoOaoERf8mynrAcEP89qPxKGaNay09YkfXLlkMuJmpc92Td+tZQSabXYUhfNrtW3Fo57zQ==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: Wei Liu <wl@xxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>
- Delivery-date: Fri, 26 May 2023 16:47:51 +0000
- Ironport-data: A9a23:FksOvq50F2FRZKGUuyxtTAxRtOjGchMFZxGqfqrLsTDasY5as4F+v jcbC2nSPPfYZzGmc9glO4u29E4A6pbUnIRhSFQ6+XwzHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0 fv/uMSaM1K+s9JOGjt8B5mr9lU35JwehBtC5gZlPa0R4geE/5UoJMl3yZ+ZfiOQrrZ8RoZWd 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m8 LsZB28gZQK6hcmwmL+6ZuRtvOYoBZy+VG8fkikIITDxK98DGcqGaYOToNhS0XE3m9xEGuvYa 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OlUotj9ABM/KMEjCObexTklyVu STt+GPhDwtBHNee1SCE4jSngeqncSbTAdtKSe3lpqIz6LGV7lQxNhgZahywm/yopU6yWOl6J VVK3RN7+MDe82TuFLERRSaQqXqJvBcaV8BXVfMz7AWAyK386AKeG2RCRTlEAPQ2uclzSTE02 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9BXAGTT8JS00C+daLiIM8lBXUVf54DbW4yNbyHFnYw TqHsSw/jLU7ltMQ2uOw+lWvvt63jp3ATwpw7AOOWGugtll9fNT9O9Pu7kXH5/FdKorfVkOGo HUPh8mZ6qYJEI2JkyuOBu4KGdlF+sq4DdEVunY3d7FJythn0y/LkVx4iN2mGHpUDw==
- Ironport-hdrordr: A9a23:Kp85tqkVWd4qKMtmKxCWwem6Qo3pDfMxiWdD5ihNYBxZY6Wkfp +V8cjzhCWftN9OYhodcLC7V5Voj0msjKKdkrNhWotKOzOWxVdATbsSl7cKpgeNJ8SQzJ8/6U 4NSdkaNDS0NykAsS+Y2njHLz9D+rm6GcmT7I+xrkuFDzsaE52Ihz0JdTpzeXcGIDWua6BJcq Z0qvA3xQZJLh8sH7iG7zQ+LqD+T5qhruOVXTc2QzocrCWehzKh77D3VzCewxclSjtKhZsy7G TflAT9x6O799W20AXV2WP/54lf3IKJ8KoOOOW8zuwubhn8gAehY4psH5WEoTAOuemqrHo6jd XWpB8kHsJrr1fcZHu8rxfB0xTplBwu93jh41mFhmaLm721eBsKT+56wa5JeBrQ7EQt+Pl6za Jwxmqc875aFwnJkijR78XBE0gCrDv/nVMS1cooy1BPW4oXb7Fc6aQZ4UNuCZ8FWAb38pouHu VCBNzVoNxWbVSZRXbEuXQH+q3mYl0DWjO9BmQSsM2c1DZb2Fh/0ksj3cQa2kwN8ZosIqM0kN jsA+BNrvVjX8UWZaVyCKMqWs2sEFHARhrKLSa7PUnnPLtvAQOMl7fHpJEOoM26cp0By5U/3L 7bVklDiGI0c0XyTeWTwZxw9AzXSmnVZ0Wt9ihn3ek6hlTAfsuvDcXaI2pe1/dI4s9vTPEzYs zDe66/WJTYXCzT8YUg5XyLZ3AdEwhZbCQvgKdJZ7u/mLO7FmTUjJ2qTB/yHsuaLd92YBK3Pl IzGB7OGe5n0meHHlfFvTm5YQKZRqW4x+M+LJTn
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 26/05/2023 4:00 pm, Alejandro Vallejo wrote:
> This is AMD's version of Intel's Enhanced IBRS. Exposed in CPUID
> and toggled in EFER.
AIBRS and EIBRS are very much not the same, and I argued hard to not
have Linux confuse the too, but alas.
Don't mention EIBRS at all.
Simply "Auto IBRS is a new feature in AMD Zen4 CPUs and late, intended
to reduce the overhead involved with operating IBRS", or something along
these lines.
> diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
> index 5d0c64a45f..e487885a5c 100644
> --- a/tools/misc/xen-cpuid.c
> +++ b/tools/misc/xen-cpuid.c
> @@ -200,6 +200,8 @@ static const char *const str_e21a[32] =
> [ 2] = "lfence+",
> [ 6] = "nscb",
>
> + [ 8] = "auto-ibrs",
> +
This wants to be:
[ 6] = "nscb",
+ [ 8] = "auto-ibrs",
as they are adjacent with names in two columns. Gaps are only for
discontinuities in numbering.
> diff --git a/xen/include/public/arch-x86/cpufeatureset.h
> b/xen/include/public/arch-x86/cpufeatureset.h
> index 777041425e..e3952f62bc 100644
> --- a/xen/include/public/arch-x86/cpufeatureset.h
> +++ b/xen/include/public/arch-x86/cpufeatureset.h
> @@ -287,6 +287,7 @@ XEN_CPUFEATURE(AVX_IFMA, 10*32+23) /*A AVX-IFMA
> Instructions */
> /* AMD-defined CPU features, CPUID level 0x80000021.eax, word 11 */
> XEN_CPUFEATURE(LFENCE_DISPATCH, 11*32+ 2) /*A LFENCE always serializing
> */
> XEN_CPUFEATURE(NSCB, 11*32+ 6) /*A Null Selector Clears Base
> (and limit too) */
> +XEN_CPUFEATURE(AUTOMATIC_IBRS, 11*32+ 8) /* HW can handle IBRS on its
> own */
Were possible, we want to use the same names. AUTO_IBRS is fine here,
and shorter to use throughout Xen.
Furthermore, it must match the cpu_has_* name, and that's already in the
better form.
~Andrew
|