[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] x86/decode: Decode remaining TigerLake features


  • To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Thu, 27 Jan 2022 09:57:40 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; 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=E+LARHJ3Jw2ikV93/VgUD4DRI8yK6eLd4xIzdHttfjo=; b=ACqYfDRage8LNs4hN06DrfpHZXAs52Y1kJVbVI+89yRm5cvu2RGWEa/Ad1TD5k7OZrac7PS/TGAoy+cIPLyesaH5tCLgMANp4BL2lmHTkrtMQMDZbKVxFUWwvM96UtKlmPR2I9eknyVPA8fkdgkszrxcVs0zfuFX71Tqygv6vxwsIvKxbsJAToyZOIbD2x/uAOSP6AQUNFFVWthrJnW2UneUjIsJncGPMvZ4+juiIuRCZhhhkMewx6FUWFkuUuGavOwg1V0WybZ58fhOuAd1Wb2/dcDZpmJIK4zVWOW8zcCtzhLR0DA57fx+TgvcmgzzYsaY/5ERy9QbJfc631Q2qw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l3Fw5umCEIf910FgAFe1m5xVB7h5c64OZrflApoBnTkLiFtNjoFQU3WvVtQD+x5Z/rcUyAjAh23yRLu0cjvXqjekyqBYZk+XljwansZUJREz2R/hJ4HoOJL3d3hPbQxXo2qoVcVy0sSPQvN8B7GCP0JoB457OBWFWXIFHKZfb0bBjpVS61msgISudg9FK2InsD5kCgacJB9kvnhQYx0NxnxhEvFlIaMZJogaWqOkQbf5Td9M3l4Lt/1N3fWxfE1MfTBlQcCzfE+3bLmtoBUXbBD0yTWgT1IA8rewlS3lwIp7bGMsEO2MEwfI84SOHMSQuFJUEoF1qCZzUwq7HxXZyg==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 27 Jan 2022 08:57:54 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 26.01.2022 19:47, Andrew Cooper wrote:
> These are the two remaining TGL features which xen-cpuid doesn't know yet.

Well, for KeyLocker that's only part of the truth. The KeyLocker
leaf has further (sub-)features.

> --- a/tools/libs/light/libxl_cpuid.c
> +++ b/tools/libs/light/libxl_cpuid.c
> @@ -208,8 +208,10 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list 
> *cpuid, const char* str)
>          {"vpclmulqdq",   0x00000007,  0, CPUID_REG_ECX, 10,  1},
>          {"avx512-vnni",  0x00000007,  0, CPUID_REG_ECX, 11,  1},
>          {"avx512-bitalg",0x00000007,  0, CPUID_REG_ECX, 12,  1},
> +        {"tme",          0x00000007,  0, CPUID_REG_ECX, 13,  1},
>          {"avx512-vpopcntdq",0x00000007,0,CPUID_REG_ECX, 14,  1},
>          {"rdpid",        0x00000007,  0, CPUID_REG_ECX, 22,  1},
> +        {"keylocker",    0x00000007,  0, CPUID_REG_ECX, 23,  1},
>          {"cldemote",     0x00000007,  0, CPUID_REG_ECX, 25,  1},

In my KeyLocker series I name this just "kl", matching how the spec
refers to it. But first of all - this is unrelated to xen-cpuid and
not very useful to have without the settings actually being possible
to use sensibly.

> --- a/tools/misc/xen-cpuid.c
> +++ b/tools/misc/xen-cpuid.c
> @@ -127,10 +127,10 @@ static const char *const str_7c0[32] =
>      [ 6] = "avx512-vbmi2",     [ 7] = "cet-ss",
>      [ 8] = "gfni",             [ 9] = "vaes",
>      [10] = "vpclmulqdq",       [11] = "avx512-vnni",
> -    [12] = "avx512-bitalg",
> +    [12] = "avx512-bitalg",    [13] = "tme",
>      [14] = "avx512-vpopcntdq",
>  
> -    [22] = "rdpid",
> +    [22] = "rdpid",            [23] = "keylocker",

Like above, matching the spec I call this just "kl" in my patch.

I can certainly post what I have, maybe at least the first of those
patches would actually make sense to take. Whether the actual
emulator changes are very useful to have right away (i.e. without
other infrastructure in place to really make use of KL) is less
clear. I didn't post them yet for this reason as well as them
sitting on top of the stalled AMX series.

Jan




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.