From patchwork Mon Mar 5 20:18:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Babu Moger X-Patchwork-Id: 881662 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="kfAkaspA"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zwBDp3WT3z9sgL for ; Tue, 6 Mar 2018 07:23:22 +1100 (AEDT) Received: from localhost ([::1]:51383 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eswdk-0008Kh-Kz for incoming@patchwork.ozlabs.org; Mon, 05 Mar 2018 15:23:20 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34880) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eswZK-00053h-NQ for qemu-devel@nongnu.org; Mon, 05 Mar 2018 15:18:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eswZH-00010v-Kt for qemu-devel@nongnu.org; Mon, 05 Mar 2018 15:18:46 -0500 Received: from mail-bn3nam01on0063.outbound.protection.outlook.com ([104.47.33.63]:48284 helo=NAM01-BN3-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 1eswZH-00010I-G7 for qemu-devel@nongnu.org; Mon, 05 Mar 2018 15:18:43 -0500 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=Yk0C7447rjAZe0OqXl/HwJzvbNoYOapE3J+QPurlSYQ=; b=kfAkaspAi/OPoJmbGxRVqz5G5HtlTgMzL0vq94h+lQrFY/fzVN0222qbPaAnhr89J1H+U5kKO+oXzXEe0DthK/Ofe1XAmOACesE74+/wZyCJCfJjviOHcHqu2ZClUI+bbW8L1LFzInkUJFCNYEVHoNNrlYbWWsQGz8jBBr9JDN4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Babu.Moger@amd.com; Received: from linux-pyp0.amd.com (165.204.77.1) by BN6PR12MB1763.namprd12.prod.outlook.com (10.175.101.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.548.13; Mon, 5 Mar 2018 20:18:39 +0000 From: Babu Moger To: pbonzini@redhat.com, rth@twiddle.net, ehabkost@redhat.com, rkrcmar@redhat.com Date: Mon, 5 Mar 2018 15:18:23 -0500 Message-Id: <1520281107-5115-2-git-send-email-babu.moger@amd.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1520281107-5115-1-git-send-email-babu.moger@amd.com> References: <1520281107-5115-1-git-send-email-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: CY4PR1801CA0014.namprd18.prod.outlook.com (10.171.252.27) To BN6PR12MB1763.namprd12.prod.outlook.com (10.175.101.136) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: ccab2049-0bf8-44cd-17aa-08d582d648f8 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:BN6PR12MB1763; X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1763; 3:5eVoVEtdskL3sbzYCkMhz78Afbpf4c0bZ4SEDgO+tfqnVywr/HxPGzFPLWFKm+V8al0/chSG4yBl27vYkRLL52Cw1+ddqEMoA3rezqODjGYoxhLfE2xfH5H+7qBsBNRAXaZAo0ZoPGT1jPi4YtwBplJP1BCCow/sJs7nlA+4ouckOHnpmF4bhIfB9vsRviqOxDovoLtmWy2PyACZnD6F+8aOjVsrmRRfwLRf/dkHFyWr5NOcygBjXTEqUw4MPlAv; 25:fNjpq+4K5PzKudAcYeu0xplRE2u98n+adBWkXG5HsWdkPfUW9Y9lspsnCcpPm8q55YWXOL0HIYxOxM6/4kUBDdj2I18jGMbbZB+yll0BW1Qe6TN7KN5uISoQbn8l98escKUE0Jqln4+CDGcUSiVqDN+3iQkOPfWCVFF2MPYL++k9pgNIfaYc6HCDWHVHjCD3VRAADC/WRTuYIHquzQyJHZuFJe1G+rzQpUvrooa/ZXkfvSQFbEIB9Oxt+FXJXB0L5peBvOeEopvkJIBPKZAbCij0atUfEPm4ZmrpdPyOe7FK4veYYu3m8MdzpPevemQUr4WHnd7Asnoo1Wa2KWO15g==; 31:lBEofXUGI669M83OQdiPtzFTXuieXG/8ApOpo2A6BClXUFjMdeE/TrVEvGqhOsGlApSE83anx7V0IXtDBjPUeGS7n2b+ThP/wmXCf005xr1X0574CDrs46meMbshVxZp4V9VUpwmkfGI5snOIj3PeBD4/srFEamwWW+pI2qNMyGM2OR53YIgtrxfT8xc/OjmDATPuYi/4tqXKGqMXZ1mIVw2olwKQTOBJrmxn+GJkl8= X-MS-TrafficTypeDiagnostic: BN6PR12MB1763: X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1763; 20:dxUA4XAZwz/MS7TAo/hB9XpXsQkp3O10KTXB+3ip5jC49LBH5725TzoF9Dk52gml55xTaLhnT3FN2cmJxp938jPNLfRIdyOVt9a0w9BsXgIWmoZ846jWXZ+hX0ENepn5KExTNN0Gsv9ZBRYzxkYZlkPcQUQEamrYflJYI7t5E2hgnUEVDkbGxhjJRANJl0s0dPONjI6EJdR4+KSjOJLJCJ5WaQn5JWKZp+P+wi4hjnAUvm4rqh7Z+ReEnZx+6su4Az1EGPIpYqyymxqhosgoBNUqHzU45gP61EO2FaO3FTenMCKwHT1uvM53SstJaw970AQWlHn7ODMQBeCNoIFjKHbcDi1IaTYGNHnG+Z0UgwqCgH4cgPXq+GuCoeKLsjqesWH33XCNVXwSYTHGPAL4gcluE+V+0INhgih4cWq+m9PWOYx+U5UztUrcfrJYHJBe+cGvlarTEUisex44zqaTpK2fM8bb18SE6yyBhG+Rha6A62Hy1sR/pLbWPeQkWEM9; 4:jSSL2vUzj47baZRSnc8JzzFbmDu0aS1Dqeg5Oakz5emOhpNOelBDDoQ3jD3mYbTLKHlyr4YanHyvtup41i5OmTwfLhHzhMMbi/ag2gFkBsaLc+WiSFta0sQ0IIbe4C6jA9hhNP4+eZyMStnhNdVO1ty3kL5owseADTdCsiugaheM09Mh01V8YLoiLhJiq2mJR4q5E4MPUdnGJ3gtuFDm0aHOYGo7D2JmjVl0FwupVAg1Nn09YAPJ0IIqIZhGelItvS/+pO5VKIq77sihJEYV/398SF/04kGxVfvwE+4SsO49cMPI6Ps7BpwrS5ebHUYH 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)(5005006)(8121501046)(10201501046)(3231220)(944501244)(52105095)(3002001)(93006095)(93001095)(6055026)(6041288)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(20161123564045)(6072148)(201708071742011); SRVR:BN6PR12MB1763; BCL:0; PCL:0; RULEID:; SRVR:BN6PR12MB1763; X-Forefront-PRVS: 06022AA85F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39860400002)(39380400002)(396003)(366004)(376002)(346002)(189003)(199004)(2950100002)(4720700003)(2906002)(106356001)(66066001)(6666003)(97736004)(25786009)(36756003)(5660300001)(478600001)(48376002)(81166006)(81156014)(8676002)(72206003)(47776003)(8936002)(50226002)(4326008)(105586002)(50466002)(26005)(6486002)(305945005)(16586007)(186003)(16526019)(316002)(52116002)(53936002)(7696005)(68736007)(53416004)(3846002)(6116002)(386003)(51416003)(7736002)(76176011)(86362001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR12MB1763; H:linux-pyp0.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR12MB1763; 23:iKoFNoOoDTMjJ9EXQFe+TOoqATCPt08EXK1iV/gzw?= poCCIpbmWvhwZ/uKVkt2XYqSAmyx+0bMmdL4aEEIn8rQqaSDxlYCSXI1HWYsoYa97uMsbrVhXwuzHcf6FYM/zNe0PfBhXff3Qn4TfR/rQXc3tmEgtOO0f8eyCbFAAaePeux5tvDbe9FMV97ONvXA9wa5dxnW18NUd42weKpZiPmG/DMLs52zqZk/sjGQZf6ToFX0uDzo0Gaz8uKoDl+9RHjMIP/VQuRy9w86jz3giGaGceXhdj8K0aLi56Uczu/n9W0qiMQ3StY//l7cW6B8Bkb2FV+A6+g0yJiy7HWyqGyFq9M+vWws/JUlvklDSG26VloIJ8Q5Va7x2soihEsTSc8W6X6Asi+YjZNiL0bIWfW4W1rhKa+fFWdE+LyYUI3SdeB4lAZbN6nv8wJTBKZ629cv3zKWW03V1TCiLo71jEvBU8/kEntuQs4OXkUUHryx2pWVurudNRX7LiaLZ00FBbk6Wj00AvMseFpv6yJv7gcIaDC/g81lUqRbUitu3+I941qu5a/KllHGRTapzdIB3RiDtj/i9ZlWxorTYJ/Wbb6MsmR7rD43ummh+8OvylTltKrPCl6soEU2Gxhb0evbkDgl9JFrTgeONn5utUO/WB9a8k2kX6Pv/S0erPPjdqq32bxOKnYfTrN5FE8bmkkbhpyL4jap7VBgqt4BCkBNi/MSfqHN989AZrciBRLGkibWSerKXdZ8tO8vWZosLIWj+I+b/ynw7AwJjeF7spn11L5U8lLQmup4DtXKepVRtS32KI235m659R6nXXaA0/19PBCcMQBDdy8J/1CDi7LTbpYgrtexhAZepRteTIUuCobvDYSsmUHxnUYKv6VpKfyI0qjBkq3DI7CI4AIE3VlMo7+6gPJ02eX1ql4+bO77Cb3EqlVPyRd6tG05gvIHtGph55t+cGqZRpIbriTIUptZaFIVYh25sYJAvxMwhrU5MtciypIciFyKCU+rS6S/m+EKKCblrZT3YDx7R6f7Eb69tX1Z17TcUigfuuPgtWY9gD129emkfpr/H7+6J6Wuw6njjAcnGKpCnEAjxUW1QObsfNmkvHJYA9t3MT7AD+Nu2ucCS899hxavUIcofW320NHdKFa X-Microsoft-Antispam-Message-Info: tp98g34feYlcLrLgDybcTEr7Rb6seTc7mp1wlX+3Y0i78rzqGk/fe+xIewCHn8pYK82QycXza4Lw4iwfaGVTI0dUz7futzmtcAEJF5RqJdh36nzWSwfszo0hcOJ75hvc23Yt7F8ET1sWWGCPkywdEnmb05sYobKa9gCqIFZOrys/tbKZV4ei9cHNCKxXc7CP X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1763; 6:ndJfQWJQ/jY30Mnhaowpf5SS8tB2ImL4iuA0bKWZXe2W1MhOrhYB7OXQp5dvWYwwEk89+vhRPQwXICRKaQbanMbi01oREsz7pTszfapDfPq6691EpHjbKHDMLuKaCci2J+0+2bvKPQo5GOY+jO/HGw2wMiTHHl7T7mH5BamRGKmEIzX3oJXCLKOCQaaAmPNIWMO+peKQN6aYHt1IoX1VhEUVeZYVPa0GLQKQMOC23HjQ5KUZnhwx4bpAGE2hzEEpd+wRSPMAoOe8LJ6pkwriOOTP5O5KxVYK1+bbEx5c46ixTkb6hshxAZFz2cyxuytmOdv4C1e+I6VjBh0VoRTrNezhio/MuqToZiZPRp2nRKY=; 5:hkQBs22RDdwqxTZ83VfCcq6XinI+3fOaFyjpIs5bCFpg1ubGOxK1yLq1DipwV9v7AA2gn/tOQH3Lam+aNTVYggzIY+rZ5zslRyRJRWfBSCeSdGjI4cMFo8MtumTgzPKyCl56VPww4fj4ZmImaS3GU4YNpnY4Cj9jzUtnB/HsQj8=; 24:8fudp8SpUi7eQIZ2kGZ7LGzlSB7qLR32oUPc6EUA1ejVqKnmM+3DO7oCemSXCq36DOzxozt921FH3Hk3n9ohaTzpzF4wgkVIeu1Ip48dwh4=; 7:8kEyVYjn1vmmd0cRPt7cyvLOT3lv+3BuOn27BtsYZIqK3zcY3OeksK9WtNknY9vWfi7md9WdcXwj3FLp1qgK5H9QkBAcGjZyduwq0IWP0W5bw84ySnx3RIdmT+w7vRZHUdlWHUoaUgBu00shwIWqtcNRDCQJCnicUda1qX2M6ElOrx48ExKDp87rz1kQLchZLyTqv4xnXfVteXM5+GmXL6d/UhdCfiqjIaanw2YNjgFj7pg9qjFFHE47ZV+8oZPd SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1763; 20:jz+87sUH6VP64dbfwPlHUm5Lp7INXn4+Hzt6sZjvwtwSDJ461RHc2bqjCR2Brq5A/wkwImHfMJ+m/Ka8P1qmdixKa6sKCtxDKnRfl5Lrw+4ijA7faKhLrvZ5HjTZguM+s/vRwaa2l8E5AbWPsdGWKK0l5LLVKoLCZwkA0yIJZ3QxIb1edSLHZFvwVVdz5FaznsZ6aO98y0kFkjF/eYifjaNK/tPExigHjb8G1oVezEqHw/2EjE3Ib4JMEleC4UEP X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Mar 2018 20:18:39.0842 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ccab2049-0bf8-44cd-17aa-08d582d648f8 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1763 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.33.63 Subject: [Qemu-devel] [PATCH v3 1/5] target/i386: Generalize some of the macro definitions 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: Thomas.Lendacky@amd.com, kvm@vger.kernel.org, mtosatti@redhat.com, Gary.Hook@amd.com, qemu-devel@nongnu.org, babu.moger@amd.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Generalize some of the macro definitions which are generic cache properties that are common between CPUID 4 and CPUID 0x8000001D in preparation for adding support for 0x8000001D. Signed-off-by: Babu Moger --- target/i386/cpu.c | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index b5e431e..42dd381 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -66,22 +66,22 @@ #define CPUID_2_L3_16MB_16WAY_64B 0x4d -/* CPUID Leaf 4 constants: */ +/* Cache specific constants: */ /* EAX: */ -#define CPUID_4_TYPE_DCACHE 1 -#define CPUID_4_TYPE_ICACHE 2 -#define CPUID_4_TYPE_UNIFIED 3 +#define TYPE_DCACHE 1 +#define TYPE_ICACHE 2 +#define TYPE_UNIFIED 3 -#define CPUID_4_LEVEL(l) ((l) << 5) +#define CACHE_LEVEL(l) ((l) << 5) -#define CPUID_4_SELF_INIT_LEVEL (1 << 8) -#define CPUID_4_FULLY_ASSOC (1 << 9) +#define CACHE_SELF_INIT_LEVEL (1 << 8) +#define CACHE_FULLY_ASSOC (1 << 9) /* EDX: */ -#define CPUID_4_NO_INVD_SHARING (1 << 0) -#define CPUID_4_INCLUSIVE (1 << 1) -#define CPUID_4_COMPLEX_IDX (1 << 2) +#define CACHE_NO_INVD_SHARING (1 << 0) +#define CACHE_INCLUSIVE (1 << 1) +#define CACHE_COMPLEX_IDX (1 << 2) #define ASSOC_FULL 0xFF @@ -3273,29 +3273,29 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index, uint32_t count, *eax = 0; switch (count) { case 0: /* L1 dcache info */ - *eax |= CPUID_4_TYPE_DCACHE | \ - CPUID_4_LEVEL(1) | \ - CPUID_4_SELF_INIT_LEVEL; + *eax |= TYPE_DCACHE | \ + CACHE_LEVEL(1) | \ + CACHE_SELF_INIT_LEVEL; *ebx = (L1D_LINE_SIZE - 1) | \ ((L1D_PARTITIONS - 1) << 12) | \ ((L1D_ASSOCIATIVITY - 1) << 22); *ecx = L1D_SETS - 1; - *edx = CPUID_4_NO_INVD_SHARING; + *edx = CACHE_NO_INVD_SHARING; break; case 1: /* L1 icache info */ - *eax |= CPUID_4_TYPE_ICACHE | \ - CPUID_4_LEVEL(1) | \ - CPUID_4_SELF_INIT_LEVEL; + *eax |= TYPE_ICACHE | \ + CACHE_LEVEL(1) | \ + CACHE_SELF_INIT_LEVEL; *ebx = (L1I_LINE_SIZE - 1) | \ ((L1I_PARTITIONS - 1) << 12) | \ ((L1I_ASSOCIATIVITY - 1) << 22); *ecx = L1I_SETS - 1; - *edx = CPUID_4_NO_INVD_SHARING; + *edx = CACHE_NO_INVD_SHARING; break; case 2: /* L2 cache info */ - *eax |= CPUID_4_TYPE_UNIFIED | \ - CPUID_4_LEVEL(2) | \ - CPUID_4_SELF_INIT_LEVEL; + *eax |= TYPE_UNIFIED | \ + CACHE_LEVEL(2) | \ + CACHE_SELF_INIT_LEVEL; if (cs->nr_threads > 1) { *eax |= (cs->nr_threads - 1) << 14; } @@ -3303,7 +3303,7 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index, uint32_t count, ((L2_PARTITIONS - 1) << 12) | \ ((L2_ASSOCIATIVITY - 1) << 22); *ecx = L2_SETS - 1; - *edx = CPUID_4_NO_INVD_SHARING; + *edx = CACHE_NO_INVD_SHARING; break; case 3: /* L3 cache info */ if (!cpu->enable_l3_cache) { @@ -3313,16 +3313,16 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index, uint32_t count, *edx = 0; break; } - *eax |= CPUID_4_TYPE_UNIFIED | \ - CPUID_4_LEVEL(3) | \ - CPUID_4_SELF_INIT_LEVEL; + *eax |= TYPE_UNIFIED | \ + CACHE_LEVEL(3) | \ + CACHE_SELF_INIT_LEVEL; pkg_offset = apicid_pkg_offset(cs->nr_cores, cs->nr_threads); *eax |= ((1 << pkg_offset) - 1) << 14; *ebx = (L3_N_LINE_SIZE - 1) | \ ((L3_N_PARTITIONS - 1) << 12) | \ ((L3_N_ASSOCIATIVITY - 1) << 22); *ecx = L3_N_SETS - 1; - *edx = CPUID_4_INCLUSIVE | CPUID_4_COMPLEX_IDX; + *edx = CACHE_INCLUSIVE | CACHE_COMPLEX_IDX; break; default: /* end of info */ *eax = 0;