From nobody Fri Oct 24 09:59:55 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1519439702654157.1148438589472; Fri, 23 Feb 2018 18:35:02 -0800 (PST) Received: from localhost ([::1]:48285 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1epPfx-0004zg-SR for importer@patchew.org; Fri, 23 Feb 2018 21:35:01 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51816) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1epPbx-000291-Iz for qemu-devel@nongnu.org; Fri, 23 Feb 2018 21:30:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1epPbv-0000V1-8W for qemu-devel@nongnu.org; Fri, 23 Feb 2018 21:30:53 -0500 Received: from mail-bl2nam02on0055.outbound.protection.outlook.com ([104.47.38.55]:35904 helo=NAM02-BL2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1epPbv-0000U4-1T for qemu-devel@nongnu.org; Fri, 23 Feb 2018 21:30:51 -0500 Received: from linux-pyp0.amd.com (165.204.77.1) by MWHPR12MB1776.namprd12.prod.outlook.com (2603:10b6:300:113::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.527.15; Sat, 24 Feb 2018 02:30:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=icySD4nRsI/Lw8SKndGMksPxIrhi8DW4eEvX+qslqwM=; b=T4c0uDXuM4AjsH7P9kPQgaIIda5ojvmkpHNTN5X6T6cZdubWZ/tj3FNof+/5u4Jcxi/c0DcAGMNtpiGsclNQAKcvaUtEWn/jj+Ix/VU9iG/GenO3pHR1i9MJdHPHdFTCojpUUwWdvUxA0T6f45MwcTTzcHwKHk1aGXyB4ykGdAc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Babu.Moger@amd.com; From: Babu Moger To: pbonzini@redhat.com, rth@twiddle.net, ehabkost@redhat.com Date: Fri, 23 Feb 2018 21:30:22 -0500 Message-Id: <1519439425-27883-3-git-send-email-babu.moger@amd.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1519439425-27883-1-git-send-email-babu.moger@amd.com> References: <1519439425-27883-1-git-send-email-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: DM5PR06CA0061.namprd06.prod.outlook.com (2603:10b6:3:37::23) To MWHPR12MB1776.namprd12.prod.outlook.com (2603:10b6:300:113::7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 2edf8421-28f3-4345-89ff-08d57b2e9d9a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:MWHPR12MB1776; X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1776; 3:J/HLYajEguzi5APWAE9imwMajQroNhanfURa5cQXkgjBIieTaciR68cGW+BQc87t4m1ejDiSDCvwzw8kBzBk0CRWn0tq9IYOPSiOEXII7uSeUbZnedhRmWNKqSHqymR3pirZ2ADYAoQtcmdsIg3Rko0uRrK3TbEwa+LRt7LWn/VtXeDAFwXOJ99OvNralcoGDkHBYoAqy29xVVykyidzMZBm3F5o2n4vKM3c7milqM3HMv3HCW2MRJpJgNIOfVOT; 25:TbZctBTl3dM19G9Hk8OvxZeam8udzhaZTso39nZFCoXVzxCagab4NQgDaal8jlSZ0Gxxw3VGm1sJZ21ir+lsvb8kMaOSL5vc8/q0mtrHAVLFxnpOfMgWoQ6un8zVemPI3rilif1N3Sq0lnsuwYOmGbLs24rOdcM1BjvMn063eLRb/iHDK+xlO4DV7uJSzFT7SLk1TfVRYAEx+0gB+B7S5OFTyu68K+d36Q9t7fdwYHpKkrdEWLsVUVdiDCpfXxiUTHUcFYVGGiPHX29+V2vQUHv3G+sSq+ldCewASgNNQ9RfnDXhyAbnqZW1ymkywRVLpiZ5HqGgpdgYHgQRoFIXWw==; 31:/Lf1s/XlKPDz9s/+61lutOtwd1/4sw98CsovhnUMveyQeLoD1bDYpajrELx+etoWhq0SGPdXM7WSSpX8Idi5c6UAAkJ5twnlRyA4UZCdG1OiJFqTPWJSvBZRf1zJWs0kySGB6wGHOOXCDKGB3PhrLXmBFtSdpuHpCSU1m0jHrwshyva1S9zAs/8zLo91egeNrJS/5U7SueO1QK4eaAC2AjKWSqGhTqRldzyg7RbG1bI= X-MS-TrafficTypeDiagnostic: MWHPR12MB1776: X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1776; 20:6Lz25kihCf1wvkDcbllwc3Ny/7tO4FXo25+AMWyF8nDYG4HHJizJ7kveHO9CUnAAZzyk+4N/B612P6zRrK4XuCJ6K6DhTSYDo3SH+BovXTmte7KiVqQMHmfoOmCorGzXf71RdqqjqiBbJiD8yiIYuixUh4UTgApuyNTCFjmbHRFI0kDm/A65GYu/doduPoRBwTFDP47rp64Lat0z05Rw7KafHSDP1+wtfMchY9/zbXLptjglxEJr7JlzlFnCC1jjAThDdSjaGVwFqZovuHaAsKCjJB4qaIfyoLmml1XPpJePTPuTGefb4dXR3ICVYc6LnNlBiL3dnMMpy+e+mH48Du7zDmU2sUemzrjdgqjwCiWevYu2okKEDm823Xsy3repFCwAw4cbYVpHNTdSKCmhjnnH9Ao92L4NqWOzb0BymzXbhCfwrgv/KIzUqfyRb/PYHymjChQmN4PY8MVrU4UKeqqu3IkiHhkT276nMt3hxLmwXN/NVEzxwUuq4fKlBcx4; 4:Bj/njQAhiKdzSvvaPJQdyA/yeWNF8pWhVGkd+j+J8QYRv/smsvVkajnljs3F3bK4nYI4aL4IZ++2ToUthYcQDPrA9dTP+CnUtZQcCVZOaFzFV3BltqyAHdwyPfVur89HY5/tR7RoTWrkhEhMDq6PzB30lp9uKSZe635y/wg0UQsyPpH8uWkJAOrNA+4aGLDQksXn5wdd+D67cMqyJuCLSFy911JKYVnECpcjchjIYSvp/CISKTeNFrYxyGEcZRTrLu1Bp7o4Pdy3o6Nn+t+TCVlZIYldqoX0LOFTilXV8P4x0uIu5SAGXjwgqVuqyLtO X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040501)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(3231208)(944501161)(52105095)(6055026)(6041288)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(6072148)(201708071742011); SRVR:MWHPR12MB1776; BCL:0; PCL:0; RULEID:; SRVR:MWHPR12MB1776; X-Forefront-PRVS: 0593E261C4 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(366004)(346002)(39380400002)(39860400002)(376002)(199004)(189003)(6486002)(386003)(7736002)(305945005)(4720700003)(2950100002)(6666003)(68736007)(7696005)(52116002)(51416003)(97736004)(106356001)(47776003)(316002)(3846002)(6116002)(66066001)(76176011)(50226002)(53416004)(2906002)(72206003)(105586002)(478600001)(25786009)(53936002)(16526019)(186003)(16586007)(36756003)(86362001)(26005)(50466002)(8936002)(81156014)(8676002)(81166006)(4326008)(48376002)(5660300001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR12MB1776; H:linux-pyp0.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR12MB1776; 23:Vyu4WSTNBKKUq7hn9djAdAP0b4D1OIeo93TR5RfeY?= =?us-ascii?Q?x16pk2+/cME7zC7L6VoEtNf6PLRlY1e5JtpUPzysriPpiWYQtKaaGbsbMAny?= =?us-ascii?Q?1zYRe6Ivvg7YYjn7NvhIz3IBM4YPff+gKZvBlgECWlzWsBbjDCJW4uwxCGat?= =?us-ascii?Q?wWSwCXXSI88MzW64bl99ozXlRyVSTqgIqj7ZJma1DT6ZVNrrv8R92TVSJPlE?= =?us-ascii?Q?Op1IrJ5GXYORdCJRRvhWM+mjx+lK9n7791Nr305wfMnns5/X7/g6ZPxtjFw+?= =?us-ascii?Q?z8lIIJyJQssIeJaB/9P4Ko88Mpey0Zp2CqbAlLtZF4r+MdqQe0VD3PEQGqZc?= =?us-ascii?Q?Ql6JABWR1exDqbQgBS/PgAMFJ1BKzqomn0kq80uo1ZkFmlTHah81sZzB6ysz?= =?us-ascii?Q?1i5aYNodeqDPMCRDVhrVqxU25AAUKgndlKev2LJwHWOA8xCEQGhfMrDuNp82?= =?us-ascii?Q?HFAw7zSy8SxOGgSHYIvMZARf4VWgjnFHLl878rDR9tw8QrMmeJ2g9QJzCniO?= =?us-ascii?Q?mVw6dZ2v4XNsxob86HYM9hxZFNgNTdDV6zlI3hbGEfDdwM6y9GSz9d/D3xtj?= =?us-ascii?Q?lPxwXyssIzj3Dm/2KwxTzd5jmvBc1B8OYhbiGN2hNamawrk6muhXBQfg3eC7?= =?us-ascii?Q?Af1Yh60XS1x6vpkYhjZ2f8CKDDPICQehYvqyntDeEC6EaAguMz5ax04r/Jj3?= =?us-ascii?Q?Xf0n5cGvjVOa5cs+RdLp1iesk9JOuveh8TUmhGh7JHAcEQ3IqBepyAWSWIIy?= =?us-ascii?Q?8DGe4jHuzJJ6iDWVdBq2v9fvxdWCt+AuncXpburMYjXAKcZU/0rjmymWigWn?= =?us-ascii?Q?zyEPUTYzE+HyWgz1wIUfG7ZbSIesYx7nRpyrR588KuVFMdQOs5CCYsFz2sRG?= =?us-ascii?Q?QoCtJR1wSDld0VyQgCkEvs8Gf5hSJtenwdse1+ksRFW+l9eudPVYiPbAI/mb?= =?us-ascii?Q?aLA/xAQV60VQN+il+kM2OxI4OzT8m3o04kXODrRJsKHV8PkP3yfcOBUUfV+C?= =?us-ascii?Q?jr3YKOqvYb9zb9dPKiK5NWP+ksCMQ+GH5aeYOd4zng5Xrwo+WpFodSboI+W5?= =?us-ascii?Q?Yy9eOyfTnTFta1eWnzQKfAa51c5QyMPP8dbDg+9JknJN4ae7G4wDynSFxBY/?= =?us-ascii?Q?dF2mELGDqyPsem+uiHI4DqZDPYqtAQX?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1776; 6:NGxqRxhIK1BsR4ZDYJx4MnWjbOxsyiE44rEqUpnOHbMKRykSDTrmPGYT5zh/fYurSbRM3xWbKTLvheR9dCUbRhbFa80NEuQABdY923EBzNSRAo6pbuErmbQcXjpMPsSRXPXPdJK0t2skNS7rygR5GlH+2WSGr8QFmHzJWDZZIq+A7BKcwbcIgg9wClW6QojHGET1lLMw8NmraCrA+gU2/Xld0O3ffysG6ltqoWJY8Xa0vzdCpkn31BqsEWm090zWMAZMJl+Tr1I8iwxJazPQhAX+M0ugQfUHh0fzNEEAcR3jLXclMpaoMCklPAXXzgiUheBsRKTP00SocByNCstyYA==; 5:nlZQYkBKhL0wGpCDRV+Xd1z/D/yvQxqKPjOoPrjXC5o/0/QGxlUXeZReX70nZf/9krWq9pMQgbwfqsEzI/gAe6cc3FFblKQ/CzeI3977NMR0wJ0FmSByj90H13dj1+bnu47cPlT7mWCvV8pW8VZLHQW6XYJhYVsii0uBjV41yVs=; 24:yRZRQWC0Lkb3OYhNonTkI2NMPIvZnRLCQgGGJXr0tcJkLUa2/FkwvVaLWGN38h4VDrXM+fR0AU64FYpR8kECuxhAjj8Q51pmJgeU7lkeODQ=; 7:gbBzRmcAeyYBCIXPYD7/QmtAYwanGmrFrdVd6gF7Y6Ma4MlDcwQnCi8JcAc2zr6+SjVQd9tuQ4v/RHiG2nP1BM+0p37sg80Hk+9SjpSVZsq3Wymea3dFLu3jbHoCzOsmpYEu+GsISeCaWvgJbiAKbLklL6EPLBC1feu+xBs4UmHk35mb3yLXG1x399qjLSfKa51DYsEdRIHLNoXKjI4TTS88oyyk81hIpwA4plZEJFQt3J9elSmp7m8JSpgDcxSu SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1776; 20:c/OvsCc9h1kbAsDb7NgiEQGAZD2PDK5pk6zSvQfiDvSgrcM+g6L8qlyb4QE0Z9pe0AIHEA+Yf8ldFxTqD73WJqSGiry4qV7QBqVbhdsQRT4vwPmmsapjfwwNuQTi/s60YScg+lWwNdErCjr/CGV2Cz27s3LFwmsov0lgmkQ+BN3JFJxgbQacmcZ2rbjNZfrbM83LUOnZU2MgJVYh1T5UozthqvfyBXT5gxVwrXZsUC+UVvIW4ywz8ajnHfWW0apx X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Feb 2018 02:30:47.9562 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2edf8421-28f3-4345-89ff-08d57b2e9d9a X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1776 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.38.55 Subject: [Qemu-devel] [PATCH v2 2/5] target/i386: Populate AMD Processor Cache Information 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: pixo@polepetko.eu, kvm@vger.kernel.org, mtosatti@redhat.com, Gary.Hook@amd.com, qemu-devel@nongnu.org, babu.moger@amd.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Stanislav Lanci Adds information about cache size and topology from cpuid 0x8000001D leaf for different cache types on AMD processors. Signed-off-by: Stanislav Lanci Signed-off-by: Babu Moger --- target/i386/cpu.c | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++= ++++ target/i386/kvm.c | 29 ++++++++++++++++++--- 2 files changed, 102 insertions(+), 3 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index b5e431e..a5a480e 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -118,6 +118,7 @@ #define L1I_LINE_SIZE 64 #define L1I_ASSOCIATIVITY 8 #define L1I_SETS 64 +#define L1I_SETS_AMD 256 #define L1I_PARTITIONS 1 /* Size =3D LINE_SIZE*ASSOCIATIVITY*SETS*PARTITIONS =3D 32KiB */ #define L1I_DESCRIPTOR CPUID_2_L1I_32KB_8WAY_64B @@ -129,7 +130,9 @@ /* Level 2 unified cache: */ #define L2_LINE_SIZE 64 #define L2_ASSOCIATIVITY 16 +#define L2_ASSOCIATIVITY_AMD 8 #define L2_SETS 4096 +#define L2_SETS_AMD 1024 #define L2_PARTITIONS 1 /* Size =3D LINE_SIZE*ASSOCIATIVITY*SETS*PARTITIONS =3D 4MiB */ /*FIXME: CPUID leaf 2 descriptor is inconsistent with CPUID leaf 4 */ @@ -146,6 +149,7 @@ #define L3_N_LINE_SIZE 64 #define L3_N_ASSOCIATIVITY 16 #define L3_N_SETS 16384 +#define L3_N_SETS_AMD 8192 #define L3_N_PARTITIONS 1 #define L3_N_DESCRIPTOR CPUID_2_L3_16MB_16WAY_64B #define L3_N_LINES_PER_TAG 1 @@ -3590,6 +3594,78 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,= uint32_t count, *edx =3D 0; } break; + case 0x8000001D: /* AMD TOPOEXT cache info */ + if (cpu->cache_info_passthrough) { + host_cpuid(index, count, eax, ebx, ecx, edx); + break; + } else if (env->features[FEAT_8000_0001_ECX] & CPUID_EXT3_TOPOEXT)= { + *eax =3D 0; + switch (count) { + case 0: /* L1 dcache info */ + *eax |=3D CPUID_4_TYPE_DCACHE | \ + CPUID_4_LEVEL(1) | \ + CPUID_4_SELF_INIT_LEVEL | \ + ((cs->nr_threads - 1) << 14); + *ebx =3D (L1D_LINE_SIZE - 1) | \ + ((L1D_PARTITIONS - 1) << 12) | \ + ((L1D_ASSOCIATIVITY - 1) << 22); + *ecx =3D L1D_SETS - 1; + *edx =3D 0; + break; + case 1: /* L1 icache info */ + *eax |=3D CPUID_4_TYPE_ICACHE | \ + CPUID_4_LEVEL(1) | \ + CPUID_4_SELF_INIT_LEVEL | \ + ((cs->nr_threads - 1) << 14); + *ebx =3D (L1I_LINE_SIZE - 1) | \ + ((L1I_PARTITIONS - 1) << 12) | \ + ((L1I_ASSOCIATIVITY_AMD - 1) << 22); + *ecx =3D L1I_SETS_AMD - 1; + *edx =3D 0; + break; + case 2: /* L2 cache info */ + *eax |=3D CPUID_4_TYPE_UNIFIED | \ + CPUID_4_LEVEL(2) | \ + CPUID_4_SELF_INIT_LEVEL | \ + ((cs->nr_threads - 1) << 14); + *ebx =3D (L2_LINE_SIZE - 1) | \ + ((L2_PARTITIONS - 1) << 12) | \ + ((L2_ASSOCIATIVITY_AMD - 1) << 22); + *ecx =3D L2_SETS_AMD - 1; + *edx =3D CPUID_4_INCLUSIVE; + break; + case 3: /* L3 cache info */ + if (!cpu->enable_l3_cache) { + *eax =3D 0; + *ebx =3D 0; + *ecx =3D 0; + *edx =3D 0; + break; + } + *eax |=3D CPUID_4_TYPE_UNIFIED | \ + CPUID_4_LEVEL(3) | \ + CPUID_4_SELF_INIT_LEVEL | \ + ((cs->nr_cores * cs->nr_threads - 1) << 14); + *ebx =3D (L3_N_LINE_SIZE - 1) | \ + ((L3_N_PARTITIONS - 1) << 12) | \ + ((L3_N_ASSOCIATIVITY - 1) << 22); + *ecx =3D L3_N_SETS_AMD - 1; + *edx =3D CPUID_4_NO_INVD_SHARING; + break; + default: /* end of info */ + *eax =3D 0; + *ebx =3D 0; + *ecx =3D 0; + *edx =3D 0; + break; + } + } else { + *eax =3D 0; + *ebx =3D 0; + *ecx =3D 0; + *edx =3D 0; + } + break; case 0xC0000000: *eax =3D env->cpuid_xlevel2; *ebx =3D 0; diff --git a/target/i386/kvm.c b/target/i386/kvm.c index 85856b6..8adf7d1 100644 --- a/target/i386/kvm.c +++ b/target/i386/kvm.c @@ -909,9 +909,32 @@ int kvm_arch_init_vcpu(CPUState *cs) } c =3D &cpuid_data.entries[cpuid_i++]; =20 - c->function =3D i; - c->flags =3D 0; - cpu_x86_cpuid(env, i, 0, &c->eax, &c->ebx, &c->ecx, &c->edx); + switch (i) { + case 0x8000001d: + /* Query for all AMD cache information leaves */ + for (j =3D 0; ; j++) { + c->function =3D i; + c->flags =3D KVM_CPUID_FLAG_SIGNIFICANT_INDEX; + c->index =3D j; + cpu_x86_cpuid(env, i, j, &c->eax, &c->ebx, &c->ecx, &c->ed= x); + + if (c->eax =3D=3D 0) { + break; + } + if (cpuid_i =3D=3D KVM_MAX_CPUID_ENTRIES) { + fprintf(stderr, "cpuid_data is full, no space for " + "cpuid(eax:0x%x,ecx:0x%x)\n", i, j); + abort(); + } + c =3D &cpuid_data.entries[cpuid_i++]; + } + break; + default: + c->function =3D i; + c->flags =3D 0; + cpu_x86_cpuid(env, i, 0, &c->eax, &c->ebx, &c->ecx, &c->edx); + break; + } } =20 /* Call Centaur's CPUID instructions they are supported. */ --=20 1.8.3.1