Received: by 2002:a05:6a10:c7c6:0:0:0:0 with SMTP id h6csp3128563pxy; Wed, 4 Aug 2021 03:06:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxQnJWL7lBI5qwZgECxL+sU2h/WJmQg6Hq2ts+I2yiKGr1m9ky7+HpRtvg+1YKOpa1W3Guw X-Received: by 2002:a17:906:35d0:: with SMTP id p16mr25471528ejb.284.1628071602514; Wed, 04 Aug 2021 03:06:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628071602; cv=none; d=google.com; s=arc-20160816; b=brUmprTXOIfSudvSqxp//dsNxP1JztLUEQcfCLpAczqDxkGkDWONuUBdHBk4stHLqT vRMPS83x/u+z/sTwsVnfPZENBdA9c+XVYLj7UGp3pBXAjCHMz+pHthzhQjef+3AHsmzR 8u+wcDEmUzLdVYzvGRm/Ug+QIjt7E+WrSi0VPjwh0vabBAj2qvp9iiUImW9Li59BH2VB Y/7jAZUVABBlThIwtIV706GQtjEp+vPxc4yZo6zSUF0UwFre+JScSaeycD0NF1TTSD2q H4UkoKv7SC/trwbdkqM9Tdlqt9tohm0GLY14J37FsuN9nUkmNUSuoqx0ven21yqXRB5H bPUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=XqmKFyVQAXwk6+18z/aJ2l9aUVyQRDv949GDspkAa1w=; b=fOpjmRUqArl4aH1/Xw5n7mMNNJnZgnnbefRSZNOaicQNk1ScnaW0T+llwN9TYMcwIK ete/q83uidR8HrrwRABVuoNmZvIjYTZZr5cf/d/aNkOPN5pPWDjtWe3r/In+TnoD7v1Y TLREYLlEMUgUJ+tamlGBvoOO5iRAhqGGNy5E2L64p2agrBrurO0m/jcvqmwsBw3psLTB ELtZ6nvHiFkOy2rstAjOHkDC+d6hKks29T5wiaDnz+fzspOPpRGEiNf4xifDpMVgc2Nd Fz+/WF8L/jvwFfFj4rnB24F0S1vRfGJZHLW9gDsvfGqlzhETKZihvA4vCpyO5Srji9RK d9XA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id hs32si1777330ejc.619.2021.08.04.03.06.16; Wed, 04 Aug 2021 03:06:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235764AbhHDJUW (ORCPT + 99 others); Wed, 4 Aug 2021 05:20:22 -0400 Received: from mga07.intel.com ([134.134.136.100]:53659 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235443AbhHDJUV (ORCPT ); Wed, 4 Aug 2021 05:20:21 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10065"; a="277642973" X-IronPort-AV: E=Sophos;i="5.84,293,1620716400"; d="scan'208";a="277642973" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Aug 2021 02:20:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,293,1620716400"; d="scan'208";a="480082798" Received: from fedora29.sh.intel.com ([10.239.182.87]) by fmsmga008.fm.intel.com with ESMTP; 04 Aug 2021 02:20:04 -0700 From: Pengfei Xu To: Shuah Khan , linux-kselftest , linux-kernel Cc: Pengfei Xu , Heng Su , Yu Yu-cheng , Yu Fenghua , Hansen Dave , Luck Tony , Mehta Sohil , Chen Yu C Subject: [RFC PATCH v3 0/2] Introduce XSAVE/XRSTOR self-test Date: Wed, 4 Aug 2021 17:19:08 +0800 Message-Id: X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The XSAVE feature set supports the saving and restoring of state components, and XSAVE feature is used for process context switching. The XSAVE state components include x87 state for FPU execution environment, SSE state, AVX state and so on. In order to ensure that XSAVE works correctly, add XSAVE basic test for XSAVE architecture functionality. This patch set tests and verifies the basic functions of XSAVE/XRSTOR in user space; during and after signal handling on the x86 platform, the XSAVE contents of the process should not be changed. This series introduces only the most basic XSAVE tests. In the future, the intention is to continue expanding the scope of these selftests to include more kernel XSAVE-related functionality and XSAVE-managed features like AMX and shadow stacks. Pengfei Xu (2): selftests/xsave: test basic XSAVE architecture functionality selftests/xsave: add xsave test during and after signal handling tools/testing/selftests/Makefile | 1 + tools/testing/selftests/xsave/.gitignore | 3 + tools/testing/selftests/xsave/Makefile | 6 + tools/testing/selftests/xsave/xsave_common.h | 246 ++++++++++++++++++ .../selftests/xsave/xsave_instruction.c | 83 ++++++ .../selftests/xsave/xsave_signal_handle.c | 184 +++++++++++++ 6 files changed, 523 insertions(+) create mode 100644 tools/testing/selftests/xsave/.gitignore create mode 100644 tools/testing/selftests/xsave/Makefile create mode 100644 tools/testing/selftests/xsave/xsave_common.h create mode 100644 tools/testing/selftests/xsave/xsave_instruction.c create mode 100644 tools/testing/selftests/xsave/xsave_signal_handle.c -- 2.20.1