From patchwork Tue Feb 14 18:46:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mingwei Zhang X-Patchwork-Id: 57173 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp3142363wrn; Tue, 14 Feb 2023 10:48:14 -0800 (PST) X-Google-Smtp-Source: AK7set+GjaGhemABUCr7y+hOwv8eCoh26msSmEovviEeu3keo+SQqHVD0bQwu6djnzeqzULlVQiD X-Received: by 2002:a50:9fa5:0:b0:49b:7416:e3ff with SMTP id c34-20020a509fa5000000b0049b7416e3ffmr3816950edf.5.1676400494590; Tue, 14 Feb 2023 10:48:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676400494; cv=none; d=google.com; s=arc-20160816; b=zuXxgSHQDNs/5POy4iOmd2B/s+koz7D3XXHzRb5l1gYlmQGmJsndP0kK4yCAo+0nSX fidQ6ZeMPWuSoCuEkJJuaKVWwCvAO7osfjzlKxgMlTVSKMPb14Z4LkfC6XR2G25MFrHL PWJIYSCe2OHdT3to0mrpv9/WV2/Jil9m3KFIpRCY964muUx5uoUsKD9lEqY9huR7Opsm HosQO462MldaprC4VNmy3N8Z+7g73Bh9pA2YfXea5P/+bDxzzt3mWX0ae4RBGQzL7KBE tG9rZy1hA6Ip5xCNtiQW6J3G0xtQ4eLWIXj55OhRLKABem1XDlKaUOo70YEPtpirad/B 4Z7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:reply-to:dkim-signature; bh=+go4BhcPBxPqXa9WF1he5E5XfcGSfVCPuFvF4GvTBzc=; b=cPh2WXamieljKgTX865wuCn2nggdKty/4pzwLsGJXCiy7VeFxjrGsbxmc7JZh9496y EwWUY3o0F0vgGt0h/lsOWwOvWst9gWRcENxNHSrPywEGFOL7OjLx8A7b6tabK6qpkb8B tyTxt5kHzmYlMucluYOpOPLXxyOfSkpLDO7mVxrpZVaxRkeOfsY6L67M7uXfbkAxbcJv OwEEGg0TWixKqwgk3tIsEZy6UyzwIK4ZWnUXdiRRBPpHUBugFHUmE8e0VYjzE0yFvvvR VfqtRFVCCQYm2XtgiMEYlRoCRn5+A7bhXs5tsoi72tfxbmofB/XcFopJ9FsRr1+fUlHM 04AQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=BW9GqgUf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ay10-20020a056402202a00b004ab957caf1asi13539745edb.255.2023.02.14.10.47.51; Tue, 14 Feb 2023 10:48:14 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=BW9GqgUf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233079AbjBNSqZ (ORCPT + 99 others); Tue, 14 Feb 2023 13:46:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39252 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232947AbjBNSqW (ORCPT ); Tue, 14 Feb 2023 13:46:22 -0500 Received: from mail-pf1-x449.google.com (mail-pf1-x449.google.com [IPv6:2607:f8b0:4864:20::449]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 29DFD2F78C for ; Tue, 14 Feb 2023 10:46:21 -0800 (PST) Received: by mail-pf1-x449.google.com with SMTP id u3-20020a056a00124300b0056d4ab0c7cbso8322199pfi.7 for ; Tue, 14 Feb 2023 10:46:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=+go4BhcPBxPqXa9WF1he5E5XfcGSfVCPuFvF4GvTBzc=; b=BW9GqgUf1FJASuJhuuFGu81Hnjl89OJ5Z7TQ4bQrSTxdB+KNcb/d1qurRVo5ciXqjE r4kYbqOEURxhJ+clDgUgUxeGEkhBTXx3fsKv9BcxumA//FemtB2dqCsPqtYnhN8eP/Wf P7HZ35twoIBIWhh0+SYGlOfLizui8nxzRu4rzYVjP7oCp7bFpfiy1wjC9WcORisJ4AJB onnjoL0v0Pd9Bu3bQ38oHws6dlSWAEdeMjGDg9BJgJYZd17u7adV9xkJldb4yroo9oD3 NRYj5OBKsvzQsfXDfB+jm4PaErXBR0OjcKx32xzrXZVNYkJSHb+m1C9sAlWfXLZJsagh x6FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=+go4BhcPBxPqXa9WF1he5E5XfcGSfVCPuFvF4GvTBzc=; b=sTvHuMF7h7gp3Wk4f2XXzqol6hIcK7oU+bH5mvcayl1Xtc8WduICulZGqyXti4EmS3 +DVQd2xevELhzxZ3EM2p7YvQzVJnDMEAW3SQenwkwXWBY8yG8rNx/jjSPEn9uHz+C6QZ JQKalCm7EL68sXmc7Wyri/P2g4eetK1hb0/mZ1fHK+5hDJQ6mNvAUFE8xgsQCjozJbq+ 13wOyVz5dCceSRNdH1+0N9QXO8ookm6/EdrnSLrJHgpHHnsbyO/o09XVgyIYwdeVAO5M T0G3BSIzIjgYGVMqdhxeQ3Zkh/dESFfLt6j+u4tOipPmzqI7JyCLZTjFQulkB457mL88 cshQ== X-Gm-Message-State: AO0yUKWynwWFT9dP7s+zHUsSSR1XLPzNiPC4bZZrlbF+RB4q06k6DIXp VNVvQe52uKjfbmoKCWTG0yLU2aJTmCRd X-Received: from mizhang-super.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:1071]) (user=mizhang job=sendgmr) by 2002:a05:6a00:10:b0:5a8:dd21:cbe3 with SMTP id h16-20020a056a00001000b005a8dd21cbe3mr630563pfk.45.1676400380622; Tue, 14 Feb 2023 10:46:20 -0800 (PST) Reply-To: Mingwei Zhang Date: Tue, 14 Feb 2023 18:46:00 +0000 In-Reply-To: <20230214184606.510551-1-mizhang@google.com> Mime-Version: 1.0 References: <20230214184606.510551-1-mizhang@google.com> X-Mailer: git-send-email 2.39.1.581.gbfd45094c4-goog Message-ID: <20230214184606.510551-2-mizhang@google.com> Subject: [PATCH v2 1/7] KVM: selftests: x86: Add a working xstate data structure From: Mingwei Zhang To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Mingwei Zhang , Jim Mattson , Venkatesh Srinivas , Aaron Lewis , "Chang S. Bae" X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757833324581135720?= X-GMAIL-MSGID: =?utf-8?q?1757833324581135720?= Add a working xstate data structure for the usage of AMX and potential future usage on other xstate components. AMX selftest requires checking both the xstate_bv and xcomp_bv. Existing code relies on pointer arithmetics to fetch xstate_bv and does not support xcomp_bv. So, add a working xstate data structure into processor.h for x86. Suggested-by: Sean Christopherson Signed-off-by: Mingwei Zhang --- .../selftests/kvm/include/x86_64/processor.h | 12 +++++++ tools/testing/selftests/kvm/x86_64/amx_test.c | 36 ++++++------------- 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/tools/testing/selftests/kvm/include/x86_64/processor.h b/tools/testing/selftests/kvm/include/x86_64/processor.h index 2a5f47d51388..8110fdfd0d01 100644 --- a/tools/testing/selftests/kvm/include/x86_64/processor.h +++ b/tools/testing/selftests/kvm/include/x86_64/processor.h @@ -45,6 +45,18 @@ #define X86_CR4_SMAP (1ul << 21) #define X86_CR4_PKE (1ul << 22) +struct xstate_header { + u64 xstate_bv; + u64 xcomp_bv; + u64 reserved[6]; +} __attribute__((packed)); + +struct xstate { + u8 i387[512]; + struct xstate_header header; + u8 extended_state_area[0]; +} __attribute__ ((packed, aligned (64))); + /* Note, these are ordered alphabetically to match kvm_cpuid_entry2. Eww. */ enum cpuid_output_regs { KVM_CPUID_EAX, diff --git a/tools/testing/selftests/kvm/x86_64/amx_test.c b/tools/testing/selftests/kvm/x86_64/amx_test.c index bd72c6eb3b67..d506821a5a26 100644 --- a/tools/testing/selftests/kvm/x86_64/amx_test.c +++ b/tools/testing/selftests/kvm/x86_64/amx_test.c @@ -41,10 +41,6 @@ #define XSAVE_HDR_OFFSET 512 -struct xsave_data { - u8 area[XSAVE_SIZE]; -} __aligned(64); - struct tile_config { u8 palette_id; u8 start_row; @@ -103,13 +99,13 @@ static inline void __tilerelease(void) asm volatile(".byte 0xc4, 0xe2, 0x78, 0x49, 0xc0" ::); } -static inline void __xsavec(struct xsave_data *data, uint64_t rfbm) +static inline void __xsavec(struct xstate *xstate, uint64_t rfbm) { uint32_t rfbm_lo = rfbm; uint32_t rfbm_hi = rfbm >> 32; asm volatile("xsavec (%%rdi)" - : : "D" (data), "a" (rfbm_lo), "d" (rfbm_hi) + : : "D" (xstate), "a" (rfbm_lo), "d" (rfbm_hi) : "memory"); } @@ -158,16 +154,6 @@ static void set_tilecfg(struct tile_config *cfg) } } -static void set_xstatebv(void *data, uint64_t bv) -{ - *(uint64_t *)(data + XSAVE_HDR_OFFSET) = bv; -} - -static u64 get_xstatebv(void *data) -{ - return *(u64 *)(data + XSAVE_HDR_OFFSET); -} - static void init_regs(void) { uint64_t cr4, xcr0; @@ -184,7 +170,7 @@ static void init_regs(void) static void __attribute__((__flatten__)) guest_code(struct tile_config *amx_cfg, struct tile_data *tiledata, - struct xsave_data *xsave_data) + struct xstate *xstate) { init_regs(); check_cpuid_xsave(); @@ -205,9 +191,9 @@ static void __attribute__((__flatten__)) guest_code(struct tile_config *amx_cfg, __tilerelease(); GUEST_SYNC(5); /* bit 18 not in the XCOMP_BV after xsavec() */ - set_xstatebv(xsave_data, XFEATURE_MASK_XTILEDATA); - __xsavec(xsave_data, XFEATURE_MASK_XTILEDATA); - GUEST_ASSERT((get_xstatebv(xsave_data) & XFEATURE_MASK_XTILEDATA) == 0); + xstate->header.xstate_bv = XFEATURE_MASK_XTILEDATA; + __xsavec(xstate, XFEATURE_MASK_XTILEDATA); + GUEST_ASSERT(!(xstate->header.xstate_bv & XFEATURE_MASK_XTILEDATA)); /* xfd=0x40000, disable amx tiledata */ wrmsr(MSR_IA32_XFD, XFEATURE_MASK_XTILEDATA); @@ -244,7 +230,7 @@ int main(int argc, char *argv[]) struct kvm_run *run; struct kvm_x86_state *state; int xsave_restore_size; - vm_vaddr_t amx_cfg, tiledata, xsavedata; + vm_vaddr_t amx_cfg, tiledata, xstate; struct ucall uc; u32 amx_offset; int stage, ret; @@ -284,10 +270,10 @@ int main(int argc, char *argv[]) tiledata = vm_vaddr_alloc_pages(vm, 2); memset(addr_gva2hva(vm, tiledata), rand() | 1, 2 * getpagesize()); - /* xsave data for guest_code */ - xsavedata = vm_vaddr_alloc_pages(vm, 3); - memset(addr_gva2hva(vm, xsavedata), 0, 3 * getpagesize()); - vcpu_args_set(vcpu, 3, amx_cfg, tiledata, xsavedata); + /* XSAVE state for guest_code */ + xstate = vm_vaddr_alloc_pages(vm, DIV_ROUND_UP(XSAVE_SIZE, PAGE_SIZE)); + memset(addr_gva2hva(vm, xstate), 0, DIV_ROUND_UP(XSAVE_SIZE, PAGE_SIZE)); + vcpu_args_set(vcpu, 3, amx_cfg, tiledata, xstate); for (stage = 1; ; stage++) { vcpu_run(vcpu); From patchwork Tue Feb 14 18:46:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mingwei Zhang X-Patchwork-Id: 57174 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp3142528wrn; Tue, 14 Feb 2023 10:48:34 -0800 (PST) X-Google-Smtp-Source: AK7set+MR0Dji7enxvDkvW/oPcCFzW0A8OMqEHBQZECLILq9dXkozYzPWl5M0QZsFdMBoSyHXJlf X-Received: by 2002:a50:a6d9:0:b0:4ac:c44e:a493 with SMTP id f25-20020a50a6d9000000b004acc44ea493mr4015280edc.2.1676400513848; Tue, 14 Feb 2023 10:48:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676400513; cv=none; d=google.com; s=arc-20160816; b=VBTUhxi31S1kwEfbGIHJeKyg/W7Wf31aP6945FChlW98PC0UnrYU9Igx97gPL6odaP 4L27EaIYFF9j+BLS0ucwrRNriHBj8h/dEjo6uwAsytun2IF2ccnvcHyFMXCTmwY3/7oo UDkfj1xEUD+76mRlAkFGTykPOeBrbZaskMVJ/11JghMQy8nMYYzdUuKmpChXXf3adj1P rXeDnRLNSz4xMJ88e/6hxAJlGeSSh29/rpWp6nXdkzkoaNeyrpp5/T22NinjTSDMqZhh XiTHVBaQvZ1brM7EWOJjO7O43Uhp577CQOFAwQEFROxvMsRaZ2OZQId2n89aiB4Bnfru yaSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:reply-to:dkim-signature; bh=5nUSaAHTCtcISA3mdIgge3B10pS6vcmVmT5MYhffil4=; b=pqgazdcOgwT8GNsWnI6b4dHmOzJ/P0RS61ATBzk5Iiz6N94s62THuV12AOU6tptKl5 vcMuFK36fPMER4mOVvt7WNqKho0itzNY4tWNbJGy3XID407QV8NQ1OIp4fow5Nez+9Rf xjEkrACXjsweb57/B99x0Auvmrc9CsVcBkm6Y68QpmmWQ+8+iBlHGcXZMEGmKj7LZucz rZRZKVfQAwq20OGurvzTp87nTo2eLwDatvq/IpeXxo5iSRr2Ei8U1LylFu/EYeWHgY0Q WFgjAz+VpSqkryrSsEsnr+YUOcvjYI5suhibsPyNuQsQXEAcQpeRdLhG+piypA186X+l PXZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=ZTtGmMon; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d7-20020aa7c1c7000000b004ab4ab4c512si14635867edp.140.2023.02.14.10.48.10; Tue, 14 Feb 2023 10:48:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=ZTtGmMon; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233132AbjBNSq2 (ORCPT + 99 others); Tue, 14 Feb 2023 13:46:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39272 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233014AbjBNSqX (ORCPT ); Tue, 14 Feb 2023 13:46:23 -0500 Received: from mail-pj1-x1049.google.com (mail-pj1-x1049.google.com [IPv6:2607:f8b0:4864:20::1049]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 964E92F78C for ; Tue, 14 Feb 2023 10:46:22 -0800 (PST) Received: by mail-pj1-x1049.google.com with SMTP id bg13-20020a17090b0d8d00b00233ee678ea6so2708892pjb.2 for ; Tue, 14 Feb 2023 10:46:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=5nUSaAHTCtcISA3mdIgge3B10pS6vcmVmT5MYhffil4=; b=ZTtGmMonLp63QLXd3+qi7ZNjcLN08BBqVEFbE3+QZzT8r/Pvq6CIEIGkJohT90B8R6 Bjpx1TI25787jVCqUdpEHMgeHJvFIM+nIpyq8XN3inXL4spBTFSwqXwQZnhoZiBQzJO6 TN+GES4KnuSQWeoAnQ4EAPgfIVhNAudXijByl3hE8hl2j4fi1LWLZYCYu9CdvXUxaZ+u whraXb0fPSbe/bqB67ELNCxCUtB7C5sm77ANXkef5sRLCRoQqMBaN9IQ5ZVI5yJYOoTD LYXZbCC5CA9silAM3ISnSO2mnYZASaUQMaJVmym+J7JMADsXMw8yOX1wcizMa5EDG6+W muJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5nUSaAHTCtcISA3mdIgge3B10pS6vcmVmT5MYhffil4=; b=gT8/xrO/yuIYbCzvX5zbUbYGZoDN5hlGZdAe2VjAZJezUEMo9P4NN2WHkEb4J9YbK5 VU6jfXAXeXp4ypi7O9jyf/FzwwQ/FIz3n8hnJSt0yL3sifBwHAOTX3muaFDF491GOqkd nTXojGxpOdq71PeOGGnTM5oOczakv/VXeFFU8q1EsJTeLd5SAm4e0f1uK4lNWFGkp4N5 qXLHDYcQ2tuvr21CGT7bleFj6MgYgVZuqcJ/56pkYZUc9fZS6lzK/YKI8dcnCxGt9ZX9 oBE7hNvFPzYpS/6MF9+3erAoO3Bz6lZ9UMmTzSAZONh2k2ekCb25D44GQePcr6DDBYpv ecAg== X-Gm-Message-State: AO0yUKV5AD0cSMK3OXBn3d01iSZj7+rjk2YHM5wzVBuJp0h3P8fDO6lh X2q+QOCy/sFAJt34doqyHenXu1TtK7Yb X-Received: from mizhang-super.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:1071]) (user=mizhang job=sendgmr) by 2002:a63:6dc7:0:b0:4fb:ba81:7143 with SMTP id i190-20020a636dc7000000b004fbba817143mr63323pgc.0.1676400382093; Tue, 14 Feb 2023 10:46:22 -0800 (PST) Reply-To: Mingwei Zhang Date: Tue, 14 Feb 2023 18:46:01 +0000 In-Reply-To: <20230214184606.510551-1-mizhang@google.com> Mime-Version: 1.0 References: <20230214184606.510551-1-mizhang@google.com> X-Mailer: git-send-email 2.39.1.581.gbfd45094c4-goog Message-ID: <20230214184606.510551-3-mizhang@google.com> Subject: [PATCH v2 2/7] KVM: selftests: x86: Fix an error in comment of amx_test From: Mingwei Zhang To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Mingwei Zhang , Jim Mattson , Venkatesh Srinivas , Aaron Lewis , "Chang S. Bae" X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757833345086675511?= X-GMAIL-MSGID: =?utf-8?q?1757833345086675511?= After the execution of __tilerelease(), AMX component will be in INIT state. Therefore, execution of XSAVEC saving the AMX state into memory will cause the xstate_bv[18] cleared in xheader. However, the xcomp_bv[18] will remain set. Fix the error in comment. Also, update xsavec() to XSAVEC because xcomp_bv[18] is set due to the instruction, not the function. Finally, use XTILEDATA instead 'bit 18' in comments. Cc: Jim Mattson Cc: Venkatesh Srinivas Cc: Aaron Lewis Signed-off-by: Mingwei Zhang --- tools/testing/selftests/kvm/x86_64/amx_test.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/kvm/x86_64/amx_test.c b/tools/testing/selftests/kvm/x86_64/amx_test.c index d506821a5a26..aac727ff7cf8 100644 --- a/tools/testing/selftests/kvm/x86_64/amx_test.c +++ b/tools/testing/selftests/kvm/x86_64/amx_test.c @@ -190,7 +190,10 @@ static void __attribute__((__flatten__)) guest_code(struct tile_config *amx_cfg, GUEST_SYNC(4); __tilerelease(); GUEST_SYNC(5); - /* bit 18 not in the XCOMP_BV after xsavec() */ + /* + * After XSAVEC, XTILEDATA is cleared in the xstate_bv but is set in + * the xcomp_bv. + */ xstate->header.xstate_bv = XFEATURE_MASK_XTILEDATA; __xsavec(xstate, XFEATURE_MASK_XTILEDATA); GUEST_ASSERT(!(xstate->header.xstate_bv & XFEATURE_MASK_XTILEDATA)); From patchwork Tue Feb 14 18:46:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mingwei Zhang X-Patchwork-Id: 57178 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp3143319wrn; Tue, 14 Feb 2023 10:50:29 -0800 (PST) X-Google-Smtp-Source: AK7set/aXKQNneiTiaXR2uFxfbvkG4OBwC46TuBrjyigbZ4zEcajtGMa4I1ejGBs+fZTLnj+hlk+ X-Received: by 2002:a17:903:2806:b0:19a:8565:4797 with SMTP id kp6-20020a170903280600b0019a85654797mr3082088plb.61.1676400629356; Tue, 14 Feb 2023 10:50:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676400629; cv=none; d=google.com; s=arc-20160816; b=MhE0GRjnDACKokI3a6FfCZ65GapqIjEfS7+Cs8rM80cIj643fmljrzWWCRMqujhTdy ixJvL731DGsoB8AKf53RqMCQCqBKwoKqP8Lvxj36B8bfxLi4M1sZ9hO6C/ppRrprLN25 9/1vPIwl87z04tNik4aYLw+CRTNRv3sMajDgX/vY2UYiWoy7Fyp/JhOnisQppvLbyNAq UFjFT33EHtav6kPcSaccIrXVSwhh3213jM+T9KYlkeaCdqWvPlEhjieFbX3Af17IyHe7 W6fTQfx1Yy3Z4GeziviQOnOyWT7896IbWest2eJMkVmwwRA8/a9eS+B2k+qz4PrRuuai E/HA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:reply-to:dkim-signature; bh=yFTrZ49NPc/OCN422DTCBQnAUieTNXYf1AUTcxKKvJo=; b=ygXOboPA2jystS2ezLgTzeYMRG1sciXJjLhoI3CsAdI0Evxm7dmOT8EAhQdBr2nMM4 LyGMhhqqg5wCgeM+SLHlO8wyHHU5pTATfxPHOgaDTO41MnHMl4DE1ZTtCiC7TYovtSdg I9anGeSAGUlyegDF314Jvqc+npaukJwdTk+SAbV48kZ5maD48q1+OCRYQTQ5v/6T/Vgq aJKA3HPjF+sLf4YldHhfKKB0N4F4WewhKqGpH4yVWmXQ4lqO2SJ3Y1Zi445VmULO1V8h VpVrnceA19EPMe+m0KyRk0ebqd3Vw7UHf0TJWK8VFlGzlckTnTMQqchqoYpbpn2qzWhT WAMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=HkiNOU0O; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d22-20020a170902b71600b00188f3bd383csi14490913pls.266.2023.02.14.10.50.16; Tue, 14 Feb 2023 10:50:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=HkiNOU0O; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233142AbjBNSqb (ORCPT + 99 others); Tue, 14 Feb 2023 13:46:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39438 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233094AbjBNSq1 (ORCPT ); Tue, 14 Feb 2023 13:46:27 -0500 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 332602FCE0 for ; Tue, 14 Feb 2023 10:46:25 -0800 (PST) Received: by mail-yb1-xb4a.google.com with SMTP id h14-20020a258a8e000000b00827819f87e5so16635721ybl.0 for ; Tue, 14 Feb 2023 10:46:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=yFTrZ49NPc/OCN422DTCBQnAUieTNXYf1AUTcxKKvJo=; b=HkiNOU0OtF0CfkY42/ahYT9mmm4slpuv+KGwhyzZGBxJ7S+wC9r1M0X7JT9YhltQca VKbAk2ZR15AQcB6XBfCFC5nNuXzWQcCApf8nWUiAAuIq1Oym4XMmrfaWRHJljB8ceTkh W7ci1QAam82T757rvrhOmt6xe08JQcIQS5lImc48pPMqdSVDQwnZQ4WlxGBZ2BJU5CMP Sh2yCuKp9LYj106cTZoHjb6wRLvUHqInuWShbiLlngs+0OVkIwzDTCFW1mw0QMhSYI6o IITMqyO6TEyQFx4rLl9qwosAhabd2sb6poZ8UZchfe0jMzMDHNMus26SuAFvmp1IpJNJ LhSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=yFTrZ49NPc/OCN422DTCBQnAUieTNXYf1AUTcxKKvJo=; b=O/BNuexmiEKNdzsUkSrdgg4xcUx93CKjYZT9u35iv6EJI4aUCTE0JrqHCkosK+cM1i F2O4Cwh9I0URFuey/uO1kKBh4Dl7kVU99A/mMoG/ZA4/Dc/3c59j2KEYv40EukQwsVQi MQJrVra9ExEBKq9Uz4XHLdBsrv1tgppvwGJ+TNx+GrjlglwOywzBPpj2tUNB8tX9Y+om zeg/vBSkJ0eC1gcN1rO5DlMbBMZkjao+JTOU7T90AyfrCNyCbt234cgGK3qzAtd0LC7F zXm942whCGVkEgMEXCOcRs+Kd2iWevN5NX9I1XJsEdyNNJTrZ4TExnnAI65GR7DrUUfg ZhUg== X-Gm-Message-State: AO0yUKVQTtQXWGVhF6uXSq2sv0ePGNriiGm8T7BBMOrL9QeWBwBATQIT YlzocCWg83bCr3doFG5EyBB+X9y7l3cJ X-Received: from mizhang-super.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:1071]) (user=mizhang job=sendgmr) by 2002:a05:6902:110f:b0:8da:f656:8da6 with SMTP id o15-20020a056902110f00b008daf6568da6mr30ybu.7.1676400383934; Tue, 14 Feb 2023 10:46:23 -0800 (PST) Reply-To: Mingwei Zhang Date: Tue, 14 Feb 2023 18:46:02 +0000 In-Reply-To: <20230214184606.510551-1-mizhang@google.com> Mime-Version: 1.0 References: <20230214184606.510551-1-mizhang@google.com> X-Mailer: git-send-email 2.39.1.581.gbfd45094c4-goog Message-ID: <20230214184606.510551-4-mizhang@google.com> Subject: [PATCH v2 3/7] KVM: selftests: x86: Add check of CR0.TS in the #NM handler in amx_test From: Mingwei Zhang To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Mingwei Zhang , Jim Mattson , Venkatesh Srinivas , Aaron Lewis , "Chang S. Bae" X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757833466576981069?= X-GMAIL-MSGID: =?utf-8?q?1757833466576981069?= Add check of CR0.TS[bit 3] before the check of IA32_XFD_ERR in the #NM handler in amx_test. This is because XFD may not be the only reason of the IA32_XFD MSR and the bitmap corresponding to the state components required by the faulting instruction." (Intel SDM vol 1. Section 13.14) Add the missing check of CR0.TS. Signed-off-by: Mingwei Zhang --- tools/testing/selftests/kvm/x86_64/amx_test.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/kvm/x86_64/amx_test.c b/tools/testing/selftests/kvm/x86_64/amx_test.c index aac727ff7cf8..847752998660 100644 --- a/tools/testing/selftests/kvm/x86_64/amx_test.c +++ b/tools/testing/selftests/kvm/x86_64/amx_test.c @@ -215,6 +215,7 @@ void guest_nm_handler(struct ex_regs *regs) { /* Check if #NM is triggered by XFEATURE_MASK_XTILEDATA */ GUEST_SYNC(7); + GUEST_ASSERT((get_cr0() & X86_CR0_TS) == 0); GUEST_ASSERT(rdmsr(MSR_IA32_XFD_ERR) == XFEATURE_MASK_XTILEDATA); GUEST_SYNC(8); GUEST_ASSERT(rdmsr(MSR_IA32_XFD_ERR) == XFEATURE_MASK_XTILEDATA); From patchwork Tue Feb 14 18:46:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mingwei Zhang X-Patchwork-Id: 57175 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp3142620wrn; Tue, 14 Feb 2023 10:48:41 -0800 (PST) X-Google-Smtp-Source: AK7set+7zl+Bg49IC0LRAf4GqgLiqJeb+qBH/flwMRl9UiIIWdYKD1SNOgxH8c+/UmzS6jgSCLs8 X-Received: by 2002:a05:6a20:244f:b0:be:d368:5c7f with SMTP id t15-20020a056a20244f00b000bed3685c7fmr3966602pzc.41.1676400521419; Tue, 14 Feb 2023 10:48:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676400521; cv=none; d=google.com; s=arc-20160816; b=hHIVduI6VG3VQt4aoRMXJTGCrAtwiSij9efys/wZsIloLB+rEMGF7iP8AAFuuImdKr d7JFKiMNi1abfvVtF5mTVo6PuEnG8Um/xDUyeBnSQ4OMmUxijmf9Gq9eZs9LvfZYd9G8 hmCY4ffIk69lu/PuAYTnpaDZpl7VfZh3ua7Z8d4w5yXZnVFtM+zOUMDuBjHXbIgoyrA5 fEeJGTTNdQJO9G9BZPu4zV99G62NKyywvLMDGzIPlVnelZc1OB4E9hhoL99kfJtDnEv/ /kj3wlG5bAd5roit2S7I/cVrR4NySIuVU5xOQUVjx5iYBOsWxEAmRXDVT+zSE/O7Dnax 8ZnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:reply-to:dkim-signature; bh=3bW5FuKrIfXRo88FKUNDpYqHZp7+18tX4wacmmrm8Gk=; b=rGuRKe/8DCMat+tWwnAZM/ondNOaZSq/QTVl2Cx8/OAZPwYw+IgCxajHMSOevpBysy Ig1XfDe11DAfeAMCw2Qv6emCqK/NwltluusRrecmLgVaaomTzgKGDDqwSPRvW/GA1f97 ftZZ1U6BTFivpUA/2gy4lAi0TGB0a2Kk9BsKzTf6BwxouI0OhJo0BMEtuzz7KFRtWYJ6 ypYWAmdHXihgcPM0Fn+j72qHneoSwuFwsQ+Vv+OJ37byr8rdL/fH0H9vNvQlMkykFydH QwUgO0Q999Zpz/fpE6SL+LH1mJD/W0Af80qQ8V6Nfpyj7GhTde77WyAEWAupYMlvTAcD iGzw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=aB+fVOG0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v16-20020a637a10000000b004fb9579eefcsi8516334pgc.766.2023.02.14.10.48.29; Tue, 14 Feb 2023 10:48:41 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=aB+fVOG0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229524AbjBNSqf (ORCPT + 99 others); Tue, 14 Feb 2023 13:46:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39616 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233213AbjBNSq3 (ORCPT ); Tue, 14 Feb 2023 13:46:29 -0500 Received: from mail-pf1-x449.google.com (mail-pf1-x449.google.com [IPv6:2607:f8b0:4864:20::449]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 364372FCC4 for ; Tue, 14 Feb 2023 10:46:27 -0800 (PST) Received: by mail-pf1-x449.google.com with SMTP id u18-20020a62ed12000000b00593cc641da4so8307058pfh.0 for ; Tue, 14 Feb 2023 10:46:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=3bW5FuKrIfXRo88FKUNDpYqHZp7+18tX4wacmmrm8Gk=; b=aB+fVOG0ZogMNPWQZ2b1Wf3xANIRYlugnuwlbdPPGPEHz6wvWyQ3TNUhDEGEfmqq0m TymQAkocu2l38TVGBDqJRcGkKsMZtKKGls3r3ORrZOQ3gmRHFd7nDtml1wqoiuAtyBU0 2Pn/wGx/LAhcM8siOvd/nLPYmZOXZA/Yn0k35vv1/jU16Ulmua9W/NLy9ifYxf4eOFhN Mrms9i+uHgqEW9d1sVT5rY+M9Ui9+ImWRApVZjuOQTg2PpKYUAehBZ2qWD6W8iocMU/L goLl3zrgBxV2lL+KJAI/4taxOisx85I7gG+m1FIKQjVjRn8ldQmhSqY5G3hYDh5VNqFV fDRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=3bW5FuKrIfXRo88FKUNDpYqHZp7+18tX4wacmmrm8Gk=; b=3YcJsJHf2M+4tLuRUbpVzmB8ICsMIhs4ZhRHxsUpjspSfiaHA3GNh83LNZNneCf2X9 Iph2BdwpuzHLy5flIc1yr+reNcZNox7sqbLbBl1nNMqSvP+N0knjGUO8+TG5xCF1h1Eh NGRgEIj1DUgP3Y+UMrWATMZJ+UoreOuhfTKaPCIPnVFzRuXX4HOsxrOtRWXVwLUj9B95 7g0Bzo7SBqHbGm+sEubi6VWETnRnj4OPLRnqfT8diEN0DgGDRPjwHTGCVnfwvy2A7JoQ pkewx1Ca0cUF+m5GXrIMq89Zc7iOvtSB0aEWgBkagM37ynTqJkvFLNzphydlYU2+Huwi EQKw== X-Gm-Message-State: AO0yUKVja6Q1GGi00KTwl7g36b1NTmXt3qhH8EjZHi8cpVjqimQEKPFm ROTNKXsO1aOcIOiCDjuvWtJfja+3SQ9J X-Received: from mizhang-super.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:1071]) (user=mizhang job=sendgmr) by 2002:a63:3dc4:0:b0:4fb:58bf:d25f with SMTP id k187-20020a633dc4000000b004fb58bfd25fmr62667pga.7.1676400386299; Tue, 14 Feb 2023 10:46:26 -0800 (PST) Reply-To: Mingwei Zhang Date: Tue, 14 Feb 2023 18:46:03 +0000 In-Reply-To: <20230214184606.510551-1-mizhang@google.com> Mime-Version: 1.0 References: <20230214184606.510551-1-mizhang@google.com> X-Mailer: git-send-email 2.39.1.581.gbfd45094c4-goog Message-ID: <20230214184606.510551-5-mizhang@google.com> Subject: [PATCH v2 4/7] KVM: selftests: Add the XFD check to IA32_XFD in #NM handler From: Mingwei Zhang To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Mingwei Zhang , Jim Mattson , Venkatesh Srinivas , Aaron Lewis , "Chang S. Bae" X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757833353331904065?= X-GMAIL-MSGID: =?utf-8?q?1757833353331904065?= Add an extra check to IA32_XFD to ensure the behavior is consistent with the AMX archtecture. In addition, repeat the checks across context switch to ensure the values of IA32_XFD and IA32_XFD_ERR are well preserved. Signed-off-by: Mingwei Zhang --- tools/testing/selftests/kvm/x86_64/amx_test.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/testing/selftests/kvm/x86_64/amx_test.c b/tools/testing/selftests/kvm/x86_64/amx_test.c index 847752998660..44c907215343 100644 --- a/tools/testing/selftests/kvm/x86_64/amx_test.c +++ b/tools/testing/selftests/kvm/x86_64/amx_test.c @@ -217,8 +217,10 @@ void guest_nm_handler(struct ex_regs *regs) GUEST_SYNC(7); GUEST_ASSERT((get_cr0() & X86_CR0_TS) == 0); GUEST_ASSERT(rdmsr(MSR_IA32_XFD_ERR) == XFEATURE_MASK_XTILEDATA); + GUEST_ASSERT(rdmsr(MSR_IA32_XFD) & XFEATURE_MASK_XTILEDATA); GUEST_SYNC(8); GUEST_ASSERT(rdmsr(MSR_IA32_XFD_ERR) == XFEATURE_MASK_XTILEDATA); + GUEST_ASSERT(rdmsr(MSR_IA32_XFD) & XFEATURE_MASK_XTILEDATA); /* Clear xfd_err */ wrmsr(MSR_IA32_XFD_ERR, 0); /* xfd=0, enable amx */ From patchwork Tue Feb 14 18:46:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mingwei Zhang X-Patchwork-Id: 57176 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp3142809wrn; Tue, 14 Feb 2023 10:49:08 -0800 (PST) X-Google-Smtp-Source: AK7set/sFIU4vTBnVTikarymiBS+CcGIRbaBy410gfoPEp1bQyoblXMInAwsflK/1KYYSEtJC2Ow X-Received: by 2002:a17:903:41c6:b0:198:d004:bfa0 with SMTP id u6-20020a17090341c600b00198d004bfa0mr4716824ple.15.1676400548041; Tue, 14 Feb 2023 10:49:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676400548; cv=none; d=google.com; s=arc-20160816; b=dfk+0HdMlswadz4AJDkgFxYHMWYbuP8hm9SYdi52vo9pJpczaHvHPOTxz8B3JLlTxl GX9T/UfMIwhlS739QM9glG3TnpN2+Oe0Af2t1LmuB+6xdHm8lCDaQY/qN0fZukrTmg2m jiU9jAryFeE1lJuDnZy+bOOv02FLiOHh5XzbCn7z5ysbS57lAGE1pnqLd/EiNLXMULRQ TotfWphCZdxw80a45GL6O8Y+80NR5UQUHzR2xaOvngmJVj+tipADq5FBuPYMsG7fCS/a vuCr7gkoHjCToIqJfxp76ZByW+InLc+Wq2B7qd7nYJLjLXKOICL5uOQp3q02h0+uzevc abJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:reply-to:dkim-signature; bh=7uxY5HEkDwcZZuAHavQWO22Vrq80QNHmWiRNorTGn5M=; b=bH/75Xtsqo/0tNa/FQcuXXF8HYNYCSEz5VC+aDDm0No2i5Vdz6nApbnM96AsrCkiey kmVPjh20W/8DyjozbuTxTvP8N2Gd7zAzb6KQgFV5kWOYk8iwop1fLGUvDQgrst+DauKA 9DWJcqBDg9ZcjlZxxOleuJz9eOsA+4RCqVpHY25iZbRASeoKM/KfpnGAUwtwQD0gpGRd cR3fap5cu3i+5NhEYZcQfibdqEpei9WumzW9RR38ng/QT9UCf9JlPAtooKUceMI1/0m4 YLGDetA6q00b6pPu6za6J5NDISyIVYQrcfIsVYM/a/Z15SLAdbiyUeFtVfxaanUi4NJn NN6Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="k6jyHH/f"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bg10-20020a1709028e8a00b0019a70a85e91si12159763plb.88.2023.02.14.10.48.55; Tue, 14 Feb 2023 10:49:08 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="k6jyHH/f"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233363AbjBNSql (ORCPT + 99 others); Tue, 14 Feb 2023 13:46:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39892 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233358AbjBNSqc (ORCPT ); Tue, 14 Feb 2023 13:46:32 -0500 Received: from mail-pj1-x1049.google.com (mail-pj1-x1049.google.com [IPv6:2607:f8b0:4864:20::1049]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 010A63018B for ; Tue, 14 Feb 2023 10:46:28 -0800 (PST) Received: by mail-pj1-x1049.google.com with SMTP id i14-20020a17090aee8e00b00233f1a535e0so2692751pjz.0 for ; Tue, 14 Feb 2023 10:46:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=7uxY5HEkDwcZZuAHavQWO22Vrq80QNHmWiRNorTGn5M=; b=k6jyHH/fo402XGiKzCkPmNeQxvWT/0j/dzTZ3oRJINHoyfJjHfah2NgP/YbXYVBSMS r4rrwYLddzVocM0gztsCewVyiyPhV6bpdtxJId4hmcPrCqpo+MD82WyjmVOa1r0hF+CT SFmTR7MX6CWLebu8+IrY9TauVnMb7u/FQo6tNfKEZar9wtt8PjAm6E+nQ0BIiBUakE4x K4+A+tXmINfBvTS6yDjgHeb993ZzPFb+Zs8rCUYRl05n6uylqcERYPRrBGuTabqiP4HZ AVOHw3689Megm8h2j9fsXtg8yJfvPT1IKVPil1j0oG9ESksT7qLq6VTjgzh+zo4LY8e2 WPLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7uxY5HEkDwcZZuAHavQWO22Vrq80QNHmWiRNorTGn5M=; b=0GvfJMwy3l45ZV5OpU7/zTP0ll4+zNgaWxh9CI0Ayq8a7qPq70kToyH9BatZjAis4x 0t0Q7HyFb4AzbMxItR7EkvLnI1UghaHQ9KOkK5sCvSC/+3maq3RYmsiJAHI7b3rPcvDr DEZZNaYcC1VHbQpRb+vcfrsF/O8TYaBdf9f5+5o1YgqNhtKwjioqFeBUMCyxtGHie0G9 PlP+DoCRPZuEx2/oj0oE3hncHY0gmfCPnNxn3RsZ6bvmIsnfE4nbOSKSWPkhqCHPsN// tLY3PLQPfHN5yqf8So0h4z8WOVe1FBHH3QMVQ/MvNwVsEvx9kEuzf4CI6N1FcemhBOkl GgYA== X-Gm-Message-State: AO0yUKX30ejFRHt2nnF6nBlfI2eQu1Xs/8rfVKdWwQgkgNI5ciKTW/Ci dl0KePcj9bsv9tXdFgrGPTHuN+YSG7Gy X-Received: from mizhang-super.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:1071]) (user=mizhang job=sendgmr) by 2002:a17:90a:c7:b0:234:5380:7f80 with SMTP id v7-20020a17090a00c700b0023453807f80mr778pjd.1.1676400388078; Tue, 14 Feb 2023 10:46:28 -0800 (PST) Reply-To: Mingwei Zhang Date: Tue, 14 Feb 2023 18:46:04 +0000 In-Reply-To: <20230214184606.510551-1-mizhang@google.com> Mime-Version: 1.0 References: <20230214184606.510551-1-mizhang@google.com> X-Mailer: git-send-email 2.39.1.581.gbfd45094c4-goog Message-ID: <20230214184606.510551-6-mizhang@google.com> Subject: [PATCH v2 5/7] KVM: selftests: Fix the checks to XFD_ERR using and operation From: Mingwei Zhang To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Mingwei Zhang , Jim Mattson , Venkatesh Srinivas , Aaron Lewis , "Chang S. Bae" X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757833381187451589?= X-GMAIL-MSGID: =?utf-8?q?1757833381187451589?= Fix the checks to XFD_ERR using logical AND operation because XFD_ERR might contain more information in the future. According Intel SDM Vol 1. 13.14: "Specifically, the MSR is loaded with the logical AND of the IA32_XFD MSR and the bitmap corresponding to the state component(s) required by the faulting instruction." So fix the check by using AND instead of '=='. Signed-off-by: Mingwei Zhang --- tools/testing/selftests/kvm/x86_64/amx_test.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/kvm/x86_64/amx_test.c b/tools/testing/selftests/kvm/x86_64/amx_test.c index 44c907215343..bd8bd9936f8e 100644 --- a/tools/testing/selftests/kvm/x86_64/amx_test.c +++ b/tools/testing/selftests/kvm/x86_64/amx_test.c @@ -216,10 +216,10 @@ void guest_nm_handler(struct ex_regs *regs) /* Check if #NM is triggered by XFEATURE_MASK_XTILEDATA */ GUEST_SYNC(7); GUEST_ASSERT((get_cr0() & X86_CR0_TS) == 0); - GUEST_ASSERT(rdmsr(MSR_IA32_XFD_ERR) == XFEATURE_MASK_XTILEDATA); + GUEST_ASSERT(rdmsr(MSR_IA32_XFD_ERR) & XFEATURE_MASK_XTILEDATA); GUEST_ASSERT(rdmsr(MSR_IA32_XFD) & XFEATURE_MASK_XTILEDATA); GUEST_SYNC(8); - GUEST_ASSERT(rdmsr(MSR_IA32_XFD_ERR) == XFEATURE_MASK_XTILEDATA); + GUEST_ASSERT(rdmsr(MSR_IA32_XFD_ERR) & XFEATURE_MASK_XTILEDATA); GUEST_ASSERT(rdmsr(MSR_IA32_XFD) & XFEATURE_MASK_XTILEDATA); /* Clear xfd_err */ wrmsr(MSR_IA32_XFD_ERR, 0); From patchwork Tue Feb 14 18:46:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mingwei Zhang X-Patchwork-Id: 57177 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp3143276wrn; Tue, 14 Feb 2023 10:50:24 -0800 (PST) X-Google-Smtp-Source: AK7set/LkkO1+XH6ocm2gsJDXHKYvOOI+f0AtGQC8+7sAos9wOZpJtMql/CXbV1KjvtJneHWOdfV X-Received: by 2002:aa7:9470:0:b0:5a8:ad0e:5bf1 with SMTP id t16-20020aa79470000000b005a8ad0e5bf1mr2506021pfq.12.1676400623865; Tue, 14 Feb 2023 10:50:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676400623; cv=none; d=google.com; s=arc-20160816; b=cIhBYmJ06xlrqKUXwR8afaP0DdR9w2m9puqf6oRMmWohJfqr1breLblXhKiz1zLi4V 6nIB15QyzbXHsBoHXWi2vv7NERQHaj4ok79KqzoDISM0AqUdlfo9hoxFVaW51Mf7v00g YXqHTkOJoLWcfOOngFdlqMXzVf7nQMbSUqIORLj7aCvJfcsi0VSgE+ZwCL31tAiwfoT3 Qy4AQwsxOpoc95/jR7dO2sO8eoe5/xn2EUA13i0xi9tnjs+NtrJdwePFX/n9VSj6OV7S M9LhNN0Z7Qw8YpMbsQuU6HqVm/oQ/UhAYtmYWOWEqoN5N+y/Dje8RxWjq32Djau0c2UZ pP6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:reply-to:dkim-signature; bh=6RZ7TspMKDDk7tmMAFyvIRoGpdz/k0McGOaNtuOXScs=; b=tDDSc9pQSkMUoqmp/4F6zeAVpVgF6hoUXe1eKpfTCJdt3cIW46efPRkfkzZddL6EIk 7YaUtX2G4FCAvbUhN6eJD2MbOtUHcBp5fyarvpvhVBDbXAHFobdy7SW55upnKxiSLmGx Spxg1SstDAR8C4zSe7eNcA5k8alDJ1Qo0eiqxIKDiKUq2dUOaA7HCWLyyqsczn2dtkne Geghu5ewJL9V5nh6qZwsLhhM4i3jQt/+VMIiNMKZIvtwJTHvwO6YTYilt/YuUtMD8VHt R/gqlLh/Gb1J1grWJJtE0cgSQyJQ6RZ7SuYrZJQRcm250BJtCY6HZappkKEVfPphn4bv lZWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=mHLMbcVV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x9-20020aa79569000000b0058d6a27d641si695146pfq.234.2023.02.14.10.50.11; Tue, 14 Feb 2023 10:50:23 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=mHLMbcVV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233533AbjBNSqo (ORCPT + 99 others); Tue, 14 Feb 2023 13:46:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39990 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233438AbjBNSqd (ORCPT ); Tue, 14 Feb 2023 13:46:33 -0500 Received: from mail-pl1-x64a.google.com (mail-pl1-x64a.google.com [IPv6:2607:f8b0:4864:20::64a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3CAFC2FCF7 for ; Tue, 14 Feb 2023 10:46:30 -0800 (PST) Received: by mail-pl1-x64a.google.com with SMTP id y15-20020a1709029b8f00b00198e0564d73so9635684plp.22 for ; Tue, 14 Feb 2023 10:46:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=6RZ7TspMKDDk7tmMAFyvIRoGpdz/k0McGOaNtuOXScs=; b=mHLMbcVVgMDEwYayJ9YUqi2Dw/jj0GYAjAZKWXI4WKsLDy/gyCPJJ0nf7Qy2PNmSyp k6KjMqwph6digoMqvido6AvIDuV+z+trxmm7HluclADFe1vYGJfovo80iN7x5D3Ni8aj RncvhqsMaqT+sRK+wYRVHs8u94Y6vhKS4jWU3AHQmyXPGprS0/tuVqk08DitnA0wlGWg VSfm0DI1b1QvgzpNC7HkBN6EaboH9RGMY5tCaCfxK3sq0IOjGdLvYMfEtrW7q0L9ADrb rNGLC+ah7weJiVsJSeqmbOjqWuXkrRTroxPUja7wHZgIxhi2NRChj/KcnUDNyRnb9GNe aQhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=6RZ7TspMKDDk7tmMAFyvIRoGpdz/k0McGOaNtuOXScs=; b=MwhyrRJ64pvfXhCRnv3NF/I/LfozYXXWPWY2nTLkH/q/epF04/kjV5OwUqy48eqkUj ZK9mLahKDqhUHGP3mKfaLlZDuxODxElWD18L1Pnkcxyfic9GLMYcbnr18IDWPq4tLzr7 iq70lXRwtb72XyluynCgW7BQgdZFTkADxjlRoxaM7IoW/A90NEpjC+8sDjGB62Y52CVI PKc1LG/tMHQzdy7G2so0CJD4rXqMvgtWUeRLIAq6rb0kg8y7QnRDLI8lb3r6TsyNSFuV agmPZDllxQGWDe+TjNPGnDIMDzmEiHgcgin1jDQDqpPeRIQkaAI9QmetuQiENVUdBu39 7LuA== X-Gm-Message-State: AO0yUKW7ITQsEOMj/0eVW+kqgbAyLUi9y4INbXe5DSPkKOPKeOcBplti p+bbPueAkjl/RPIaNEPAGt+bi/4ADIhb X-Received: from mizhang-super.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:1071]) (user=mizhang job=sendgmr) by 2002:a63:3855:0:b0:4fb:d300:c637 with SMTP id h21-20020a633855000000b004fbd300c637mr63299pgn.6.1676400389768; Tue, 14 Feb 2023 10:46:29 -0800 (PST) Reply-To: Mingwei Zhang Date: Tue, 14 Feb 2023 18:46:05 +0000 In-Reply-To: <20230214184606.510551-1-mizhang@google.com> Mime-Version: 1.0 References: <20230214184606.510551-1-mizhang@google.com> X-Mailer: git-send-email 2.39.1.581.gbfd45094c4-goog Message-ID: <20230214184606.510551-7-mizhang@google.com> Subject: [PATCH v2 6/7] KVM: selftests: x86: Enable checking on xcomp_bv in amx_test From: Mingwei Zhang To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Mingwei Zhang , Jim Mattson , Venkatesh Srinivas , Aaron Lewis , "Chang S. Bae" X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757833460315769516?= X-GMAIL-MSGID: =?utf-8?q?1757833460315769516?= After tilerelease instruction, AMX tiles are in INIT state. According to Intel SDM vol 1. 13.10: "If RFBM[i] = 1, XSTATE_BV[i] is set to the value of XINUSE[i].", XSTATE_BV[18] should be cleared after xsavec. On the other hand, according to Intel SDM vol 1. 13.4.3: "If XCOMP_BV[i] = 1, state component i is located at a byte offset locationI from the base address of the XSAVE area". Since at the time of xsavec, XCR0[18] is set indicating AMX tile data component is still enabled, xcomp_bv[18] should be set. Complete the checks by adding the assert to xcomp_bv[18] after xsavec. Signed-off-by: Mingwei Zhang --- tools/testing/selftests/kvm/x86_64/amx_test.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/kvm/x86_64/amx_test.c b/tools/testing/selftests/kvm/x86_64/amx_test.c index bd8bd9936f8e..0e4c65f9e2f2 100644 --- a/tools/testing/selftests/kvm/x86_64/amx_test.c +++ b/tools/testing/selftests/kvm/x86_64/amx_test.c @@ -197,6 +197,7 @@ static void __attribute__((__flatten__)) guest_code(struct tile_config *amx_cfg, xstate->header.xstate_bv = XFEATURE_MASK_XTILEDATA; __xsavec(xstate, XFEATURE_MASK_XTILEDATA); GUEST_ASSERT(!(xstate->header.xstate_bv & XFEATURE_MASK_XTILEDATA)); + GUEST_ASSERT((xstate->header.xcomp_bv & XFEATURE_MASK_XTILEDATA)); /* xfd=0x40000, disable amx tiledata */ wrmsr(MSR_IA32_XFD, XFEATURE_MASK_XTILEDATA); From patchwork Tue Feb 14 18:46:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mingwei Zhang X-Patchwork-Id: 57179 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp3143385wrn; Tue, 14 Feb 2023 10:50:40 -0800 (PST) X-Google-Smtp-Source: AK7set9pYkQuPteRxo9p+kUkOQX/P2ZUNCgkWdYUFNe3jWBigEQh57FKAf97f7uVpRmUsk+DMAPI X-Received: by 2002:a17:90b:3ec2:b0:234:157:a264 with SMTP id rm2-20020a17090b3ec200b002340157a264mr3468975pjb.43.1676400640217; Tue, 14 Feb 2023 10:50:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676400640; cv=none; d=google.com; s=arc-20160816; b=P+fPHZXrYC1l+5i6p7MhJ0JAkoes+MjbwTmqBzJ97XwyMM8RsPvKNWF+zqyoUAzMy8 3f82OBJj5oN3utyv9OQfsjjqTNg7Mm6osr8XxVLek8/pB4JXuStyOXjxbH4pqiu11rPF rmcx4Vc+O1F6Earz3zAbQB+q7OujQI8oRZCPhiNjwIHr7++Juu8c9qCQxXHPpSew5Df5 BXItaVQcLbGdNksk//rgaCjY6TilQD+3ecwSz/osqtE2pjqCwRjxg0YNfuYdsvkRmPsR CrxfyHaMuGfhhEA0ScSN3uU4qa9cjzyiUZ1Y4DZ9d2MDdXi9ZuZnCHlUtSWRm8uMggwn 4njg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:reply-to:dkim-signature; bh=e45OX0NDJeq5V2rb+kyK4NF8qvuYK8lS9xJETTcIBfY=; b=lnEGkc8YGbN/8VZnj8qlE/24gvknkxbLLaXS0rOQL2wmPrDQ3UTdCPBW5AL6nDMb+T +3MPyPzsh2b49cRggCjfM+5CQMwE9ZjXmaxEdre40RjGyagjX+JPvbzzmziAOeimaYml nBqlRIDTkpboU6s4pHnM2jHaVK+HBgGVI0sBcv+AP0l9/68fQ9pHfkUDgJMGnrw5g1fw FqnsYgdR+P2G3EBq4ddaVKpfGr7LfBvbU6DbbXETtbIkQTBdqLNW3oHWtEe2yrQxQvSb ZV6lZl518QGnaF/IqP3qVZF2RJ+ycmt8nJBRK0rofzZg3F4iLsWd9jBVInSTEnNFgeWi 6yUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=dZKwalR7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i4-20020a633c44000000b004fadb22ea88si5383933pgn.569.2023.02.14.10.50.27; Tue, 14 Feb 2023 10:50:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=dZKwalR7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233561AbjBNSqz (ORCPT + 99 others); Tue, 14 Feb 2023 13:46:55 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40356 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233168AbjBNSqk (ORCPT ); Tue, 14 Feb 2023 13:46:40 -0500 Received: from mail-pf1-x44a.google.com (mail-pf1-x44a.google.com [IPv6:2607:f8b0:4864:20::44a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 16579302B8 for ; Tue, 14 Feb 2023 10:46:32 -0800 (PST) Received: by mail-pf1-x44a.google.com with SMTP id c11-20020a62e80b000000b005a8ba9365c1so3501798pfi.18 for ; Tue, 14 Feb 2023 10:46:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=e45OX0NDJeq5V2rb+kyK4NF8qvuYK8lS9xJETTcIBfY=; b=dZKwalR76soWtGMo/M8feDWZleE8F9YbvhBn5jO8JQodvtlgXYVbP2EGrU3801TD0y qZ73+c84YWss5A8SySkBl4yjbd5/Sdb9gX8yrAhd8ZDXv3BGLwH7I7oSt+MdL3y7KsfG Ax5xYOxRWQCfS4AMl1Bn5wfNiLbvTkEblo1oqACBQy4blH/k4aS5QPnbDwXs3q3SwMaA Z2P0/jyyYL1IRfYgvFR1GVcBLZD+mpcMLUJ+m0MNq1Sdc9SweqA6lyI/wW4fMAb/HxTy NhrEoJVgUbXAd8RbJeCwCZcad7WhTgasXlKj8/OO5iXOlPFjN13GumPwwidYLsqwbhXk PoAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=e45OX0NDJeq5V2rb+kyK4NF8qvuYK8lS9xJETTcIBfY=; b=iuwBvTv5x3K0Boq4Ymv21ET65oJuA6dvX7ql2VHw8f4Zp/hIjo47k5SLMMqAs+y3lC xTcXOjlMDoD50SmlbnL+98Z5ghXCEJTnUMPwQzdBxB35JXlsM48Wpqz965Hfvy8v94rv UlMPWq8qmUJtt/CpFmoO2KThb/rRf0+o0WaC2fxHExsAdUvBApuSosNYw9MZW3NAC8hE lZuRltgPzUn5J0CxX6DWOjOV+CRthiXcZx1u9ajoz+pLuJm3YuPFaxF99avsauUXfhbj lkhGmecAz2cjjE/KaKfjh7jlcuOqhKA1J84Fzq0H59/fMQ8zaNMfqYTOKMzxj1Jfx7Qg +QeQ== X-Gm-Message-State: AO0yUKXv4PaRwuH52734qPkDMSikS/W2611AWRHi6TO/fgN8h3o8CPJ3 EldOAaw8aqNaBRfcDslpcRvHciMBC3qC X-Received: from mizhang-super.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:1071]) (user=mizhang job=sendgmr) by 2002:a63:3f81:0:b0:4fb:92bb:a648 with SMTP id m123-20020a633f81000000b004fb92bba648mr64175pga.7.1676400391579; Tue, 14 Feb 2023 10:46:31 -0800 (PST) Reply-To: Mingwei Zhang Date: Tue, 14 Feb 2023 18:46:06 +0000 In-Reply-To: <20230214184606.510551-1-mizhang@google.com> Mime-Version: 1.0 References: <20230214184606.510551-1-mizhang@google.com> X-Mailer: git-send-email 2.39.1.581.gbfd45094c4-goog Message-ID: <20230214184606.510551-8-mizhang@google.com> Subject: [PATCH v2 7/7] KVM: selftests: x86: Repeat the checking of xheader when IA32_XFD[XTILEDATA] is set in amx_test From: Mingwei Zhang To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Mingwei Zhang , Jim Mattson , Venkatesh Srinivas , Aaron Lewis , "Chang S. Bae" X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757833477977754277?= X-GMAIL-MSGID: =?utf-8?q?1757833477977754277?= Repeat the checking of AMX component in xheader after XSAVEC when IA32_XFD[XTILEDATA] is set. This check calibrates the functionality scope of IA32_XFD: it does not intercept the XSAVE state management. Regardless of the values in IA32_XFD, AMX component state will still be managed by XSAVE* and XRSTOR* as long as the corresponding bits are set XCR0. Signed-off-by: Mingwei Zhang --- tools/testing/selftests/kvm/x86_64/amx_test.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tools/testing/selftests/kvm/x86_64/amx_test.c b/tools/testing/selftests/kvm/x86_64/amx_test.c index 0e4c65f9e2f2..d991a473dc11 100644 --- a/tools/testing/selftests/kvm/x86_64/amx_test.c +++ b/tools/testing/selftests/kvm/x86_64/amx_test.c @@ -201,6 +201,16 @@ static void __attribute__((__flatten__)) guest_code(struct tile_config *amx_cfg, /* xfd=0x40000, disable amx tiledata */ wrmsr(MSR_IA32_XFD, XFEATURE_MASK_XTILEDATA); + + /* + * XTILEDATA is cleared in xstate_bv but set in xcomp_bv, this property + * remains the same even when amx tiledata is disabled by IA32_XFD. + */ + xstate->header.xstate_bv = XFEATURE_MASK_XTILEDATA; + __xsavec(xstate, XFEATURE_MASK_XTILEDATA); + GUEST_ASSERT(!(xstate->header.xstate_bv & XFEATURE_MASK_XTILEDATA)); + GUEST_ASSERT((xstate->header.xcomp_bv & XFEATURE_MASK_XTILEDATA)); + GUEST_SYNC(6); GUEST_ASSERT(rdmsr(MSR_IA32_XFD) == XFEATURE_MASK_XTILEDATA); set_tilecfg(amx_cfg);