From patchwork Wed Dec 20 17:14:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 10126015 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 0414C60245 for ; Wed, 20 Dec 2017 17:24:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DFC11283BF for ; Wed, 20 Dec 2017 17:24:19 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D4CCB29159; Wed, 20 Dec 2017 17:24:19 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 795E5283BF for ; Wed, 20 Dec 2017 17:24:18 +0000 (UTC) Received: from localhost ([::1]:60369 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eRi6L-0003EI-CA for patchwork-qemu-devel@patchwork.kernel.org; Wed, 20 Dec 2017 12:24:17 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56199) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eRhy6-0004N8-VZ for qemu-devel@nongnu.org; Wed, 20 Dec 2017 12:15:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eRhy3-00073B-EQ for qemu-devel@nongnu.org; Wed, 20 Dec 2017 12:15:46 -0500 Received: from mail-wm0-x244.google.com ([2a00:1450:400c:c09::244]:45257) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eRhy3-00072b-7g for qemu-devel@nongnu.org; Wed, 20 Dec 2017 12:15:43 -0500 Received: by mail-wm0-x244.google.com with SMTP id 9so11255301wme.4 for ; Wed, 20 Dec 2017 09:15:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=lFg0Ry8UCcKigP9kQ7VbWr1NKXXJ1drur2P3IJKJ9zc=; b=vZVLVEODYOdGUkkrMB1hAO26db1lfjQxZ6wAnaQ+1Otsh/wHUc6a67xn9+ny10oVnw 3mZqkUmPXsIgy0KKrrzTy9+Aq8npqqkmM9oxUM465DxBeWhwLtksu6PSMaU0gJXR3arb j8NYy2Px2406HW3HbMQtI9pJNhejM/6YwSEqkXdwjeJjrF1dcy0dvDAZlJ0w0XP/MiTU N7iu4IT9oiw/rhoH202XfODO7yYZq2MGw9YLLSqbToEOlRXEeJHtYE/KQL2FLC6YT9lI BhkuXwYnQAvdJAQiQmIMceLlaSy78LXAt10Eh82Qk+18uVprHEYoFfGruLnmK6az14rU 8Xew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=lFg0Ry8UCcKigP9kQ7VbWr1NKXXJ1drur2P3IJKJ9zc=; b=k0yOR7pwdIRF4OOwF/DystV4H7L7cM5lhp2xLGJqtKQUZ1p4dHZzvIPRGZ21z/tW+4 Fj/lpMxHoqE6MfcduckxxmhiX1jOH4gb2rPZtYGsz+RmLw0Upyu4fitWiHHXBqlACfx8 lXidfBzp7KMzt/IS3Td9dwWE8+QUGD0L2uditDrlWDNy7u4lxyCsUfh4vgdfmluqHpSN XDBLbUbIHzwOknBfpv8H6uTpgCzyiE90WEw3gELb5yPYWDTczJDEkjxj5udsZBX7Rqw3 uHdFiw4psWWX/hTH6TZ8FTXHbyUYT6QXa++If7KZmlJHs6oAsguWb4BYAIxsE8BUps+l HswQ== X-Gm-Message-State: AKGB3mIM0LvgQ5lfqa0dSfWbn1ApE6XjnWiWytmx5n9/22iss7xDI/sy cIFrz1N81avRnVvs26y5sy3RfE5X X-Google-Smtp-Source: ACJfBoui5waOwdjWXknpX1Nx34Xpzfj25GN2Iu9p8kh4INyEo63yv/qUajiBwZH4xqfL4vvCP0JB2Q== X-Received: by 10.28.27.206 with SMTP id b197mr7595346wmb.96.1513790141880; Wed, 20 Dec 2017 09:15:41 -0800 (PST) Received: from 640k.lan (dynamic-adsl-78-12-251-125.clienti.tiscali.it. [78.12.251.125]) by smtp.gmail.com with ESMTPSA id f125sm2751101wme.45.2017.12.20.09.15.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Dec 2017 09:15:41 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Wed, 20 Dec 2017 18:14:20 +0100 Message-Id: <1513790098-9815-9-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1513790098-9815-1-git-send-email-pbonzini@redhat.com> References: <1513790098-9815-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::244 Subject: [Qemu-devel] [PULL 08/46] x86/cpu: Enable new SSE/AVX/AVX512 cpu features X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: Yang Zhong Intel IceLake cpu has added new cpu features,AVX512_VBMI2/GFNI/ VAES/VPCLMULQDQ/AVX512_VNNI/AVX512_BITALG. Those new cpu features need expose to guest VM. The bit definition: CPUID.(EAX=7,ECX=0):ECX[bit 06] AVX512_VBMI2 CPUID.(EAX=7,ECX=0):ECX[bit 08] GFNI CPUID.(EAX=7,ECX=0):ECX[bit 09] VAES CPUID.(EAX=7,ECX=0):ECX[bit 10] VPCLMULQDQ CPUID.(EAX=7,ECX=0):ECX[bit 11] AVX512_VNNI CPUID.(EAX=7,ECX=0):ECX[bit 12] AVX512_BITALG The release document ref below link: https://software.intel.com/sites/default/files/managed/c5/15/\ architecture-instruction-set-extensions-programming-reference.pdf Signed-off-by: Yang Zhong Message-Id: <1511335676-20797-1-git-send-email-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 6 +++--- target/i386/cpu.h | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 82603e3..325b52e 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -437,9 +437,9 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = { [FEAT_7_0_ECX] = { .feat_names = { NULL, "avx512vbmi", "umip", "pku", - "ospke", NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, "avx512-vpopcntdq", NULL, + "ospke", NULL, "avx512vbmi2", NULL, + "gfni", "vaes", "vpclmulqdq", "avx512vnni", + "avx512bitalg", NULL, "avx512-vpopcntdq", NULL, "la57", NULL, NULL, NULL, NULL, NULL, "rdpid", NULL, NULL, NULL, NULL, NULL, diff --git a/target/i386/cpu.h b/target/i386/cpu.h index b086b15..cdbf8b0 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -635,6 +635,12 @@ typedef uint32_t FeatureWordArray[FEATURE_WORDS]; #define CPUID_7_0_ECX_UMIP (1U << 2) #define CPUID_7_0_ECX_PKU (1U << 3) #define CPUID_7_0_ECX_OSPKE (1U << 4) +#define CPUID_7_0_ECX_VBMI2 (1U << 6) /* Additional VBMI Instrs */ +#define CPUID_7_0_ECX_GFNI (1U << 8) +#define CPUID_7_0_ECX_VAES (1U << 9) +#define CPUID_7_0_ECX_VPCLMULQDQ (1U << 10) +#define CPUID_7_0_ECX_AVX512VNNI (1U << 11) +#define CPUID_7_0_ECX_AVX512BITALG (1U << 12) #define CPUID_7_0_ECX_AVX512_VPOPCNTDQ (1U << 14) /* POPCNT for vectors of DW/QW */ #define CPUID_7_0_ECX_LA57 (1U << 16) #define CPUID_7_0_ECX_RDPID (1U << 22)