From patchwork Tue Feb 28 21:58:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Baumann X-Patchwork-Id: 9597011 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 A34E7600CB for ; Tue, 28 Feb 2017 21:59:38 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 93E67284FF for ; Tue, 28 Feb 2017 21:59:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 856CD28595; Tue, 28 Feb 2017 21:59:38 +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=BAD_ENC_HEADER,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 05BB1284FF for ; Tue, 28 Feb 2017 21:59:38 +0000 (UTC) Received: from localhost ([::1]:37220 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cipo0-0005sl-UQ for patchwork-qemu-devel@patchwork.kernel.org; Tue, 28 Feb 2017 16:59:36 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51076) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cipmo-00052f-E4 for qemu-devel@nongnu.org; Tue, 28 Feb 2017 16:58:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cipmk-0005dM-6L for qemu-devel@nongnu.org; Tue, 28 Feb 2017 16:58:22 -0500 Received: from mail-dm3nam03on0137.outbound.protection.outlook.com ([104.47.41.137]:6208 helo=NAM03-DM3-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 1cipmk-0005cu-0r; Tue, 28 Feb 2017 16:58:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=qLX2iuQbwngVueouPyi3GIaDO2M93zIAZgXfUGgVsiM=; b=Og6EYpYSbs7HyUG5HJOUNhpRz6X43jT4jAtbThQkoCnlXsxJifiNgUvT+hZbmYzhayj/1jWeA4P9NGLvdriNPXcAP+xnBAoJ0mlJ/NCznxUpmdp8TEmuFloLydP7rJRwHm2NYd4bcYARUbXD6q55NEh66CF1yTXD4ykhALjZQw0= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none; nongnu.org; dmarc=none action=none header.from=microsoft.com; Received: from vroomfondel.redmond.corp.microsoft.com (2001:4898:80e8:3::446) by CY4PR03MB2824.namprd03.prod.outlook.com (10.175.115.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.933.12; Tue, 28 Feb 2017 21:58:15 +0000 From: Andrew Baumann To: , Date: Tue, 28 Feb 2017 13:58:01 -0800 Message-ID: <20170228215801.10472-3-Andrew.Baumann@microsoft.com> X-Mailer: git-send-email 2.8.3 In-Reply-To: <20170228215801.10472-1-Andrew.Baumann@microsoft.com> References: <20170228215801.10472-1-Andrew.Baumann@microsoft.com> MIME-Version: 1.0 X-Originating-IP: [2001:4898:80e8:3::446] X-ClientProxiedBy: DM5PR20CA0015.namprd20.prod.outlook.com (10.173.136.153) To CY4PR03MB2824.namprd03.prod.outlook.com (10.175.115.142) X-MS-Office365-Filtering-Correlation-Id: 8f095d25-3dd4-455e-634d-08d46024e5c2 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081); SRVR:CY4PR03MB2824; X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2824; 3:sRIMSF9IwAumKC4p0OjjPtkQZxhReQgEZsfkzsVa9nBQYqr34hilCmAa0tOlALxBWXODZwOpUXXctdGJSOHtB2TpF36qmFi6lwZoYNKO+CWHlGvSyBV51n+Jc5GiXpmecYtSqb3MEpADDo0fbecUDt2xNbJHtUUitaL7Sgg4c48Gjz+SqbVYvoZYPdKtxBb9xd4xnqfRTTYTXHDNAkZ60xo3cirUnVAYxNfC+GNal7VDZ0eCz8QERYWJcaY/n6rPQQQzU5/4FOkPyFXM42sIsHs8Tp2Q1wkOrcg6cOp4u9k=; 25:kI6avI/+34kJyFO+7mRjvXkrOAOowq9oTIEoPq30EHIlbCOf59PTotIJo9PQkSnGbFIAIKRIpPJXzSSajsppb6n66t1qQsD9ZefgzDghIhwE7NqGXbNgQI5andxJVP4ebJp/p5t93DH5K7T///OOpUM8Zk9LnyxK19iwLD6feAFoHKspGpUIn2YFiNjjsZyEaOD73fkfEkYqIJ65kDj4SS93FSqdbGglue0Yk3EL0WJH63ta5FagRDiOUK6gCOohxCC0y43J6n4iOE4+hTnx7Et+340p9H8KBTteDFlIGh9uz7jCIAfvz4fJmlF32ZXyk+0412JViZmLJUbc47UbtFzdrr0fKE6vTayAJUCoKdjnX5jKKA4bkj7kn7jWWR0mhEpIop4wfej3Ul6rD3+WZzedcHcrHJKgG91qf4vQbMMj5tRha1aRmwYUCSfHZaK19uy2F0EivC5BqVc/TGgKdQ== X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2824; 31:z5bLs7fEdUhZsbzv1tyHUp6WApnbA69iS2be1vgWyY2lR4dqFssCfo7RIcVaiKfw5HkQVC0Rg18DQ09zOqwC282/aS88Twah0arPibyQQpfgqmI2kVr9Q6WMi1UH463EJlSwGc7UV7ShOFAay+l7duk9xamD34YMKpX221KccT5TbJAPPpQQYLynizmcGMv+1LLHUEcbasgD/NxOcSrUbVbKwK39fOzYWCaUTfkuuOUm1DO0YhK7Eu0b1XgcLcfLdjjWpiPnu6kEy/TstjX6/w==; 20:5I+O82dS9HL00xYXUJx8QWCNZxUQKFkSkCGOW0nrMsMYSn6BEu2qtj5vuRTlw0J6hvHw5e1UzGK2kABP5PJKmDzv75z+No63DDCYl6Wqk1zK2EsBmLJFPVgS2Ul+teWMQSrQKD074tDb7X0qvH4LuSsXqrhKMmxOwqaYZlwtyzX+aJ6mSblMrx3aUAE8hdquKU6jyH2ZN4fVBSB+albdxZPkdL13Cu+mRLTZAtN6NohblrePbVHVcNMSL9L8QyBfwGXff8BRBNIHkJ+MjaJ2hgr1Otp1gNBQU31BdUAIb6yPPvarFCGGuFH2B2PPJApTplx6iQbBOqJQbLDskEGMrVO/qO1tQT+G95ruyQDpLx8Ljr+jcOJRLg1JZKQq0n1Y2yRrvIwUcraUABk0N8eGoiznbWHeeAH46ssuy7Oh+HqdWRPqLY4jNWzSiIuP+Z9s8M5ohiJimnQuEUeRvfxbDY6v7UvsGh5fVX4dL6pWsMN0zHUmZ5lwwUASOtF0BiNY X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123562025)(20161123560025)(20161123555025)(20161123564025)(20161123558025)(6072148); SRVR:CY4PR03MB2824; BCL:0; PCL:0; RULEID:; SRVR:CY4PR03MB2824; X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2824; 4:6JWeprd7eilRwt6CvuCEwkZoTgOV1Q/0Ah5HyBUfOJuhWpYlGH4gWe2NXptcatDetJS+HOSFTGlUvG9qBGOIQCZDsqe742aIah935oz/QrS5YrBvf1ZGluCLw76pQ/1Xdxai00QWAx/toA3fzckzMD3g1WFml1Oa3JU15NbmU7EuL9Kpb3ChVQJ86Ssl/CKEVFzalEWypKM5mo3sqqI0YDVdhJd6H6Z0gxZqiqI//zrcVzFysBlQCxrXH7YQJmWquVnSGeY9C7MdAk/8b4hBCnUG4uVIGTaewW8oqqNpZQHVmpTmBFxUKV98PjepBX9xlCHAtpP9B+tQRGd/BjSOGZPwS5i03hA6zD9p5sV6h7GUwx3cZn1BI8R941BeZYxSTdZVzljLK9c6TaThn/GGS+rIf74aJ7VAufGzdkqBcII1mbeGivtbMhA4HBLxgAz6Unog80qLwx7LzVoE5wOwtuqp2zi79wU8Bw3PsLgnvCqqiwbSCFAUr8jWGbkUn5C7cvPr/daTE0JkbqaMDW9jVQHVmI3pHSeDlFQhmw/jmGs61Nj0bOHVF0VV17RS7gCCegfLdvJQkIvU26fU9XV2q5nXXrt9uhXGN1Xbidky4PhrkIhglCuruRv42J9HQrvQ X-Forefront-PRVS: 0232B30BBC X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(979002)(6009001)(7916002)(39840400002)(39860400002)(39450400003)(39410400002)(39850400002)(2950100002)(305945005)(6486002)(2906002)(54906002)(6116002)(6666003)(81166006)(8676002)(25786008)(76176999)(50986999)(5660300001)(36756003)(7736002)(50226002)(47776003)(189998001)(10290500002)(86612001)(86362001)(1076002)(5005710100001)(92566002)(10090500001)(53936002)(48376002)(5003940100001)(50466002)(38730400002)(107886003)(42186005)(4326008)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR03MB2824; H:vroomfondel.redmond.corp.microsoft.com; FPR:; SPF:None; MLV:ovrnspm; PTR:InfoNoRecords; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR03MB2824; 23:mlkpOepic7hXrLRbfG2Gg5OpPt1oJcyMdlmqLj8rm?= =?us-ascii?Q?82YKiDlBWZZCs4AXsPL6ohq6rdAAVrUPX1UHFLncMIAXCJafhdsteWc7f9Oo?= =?us-ascii?Q?qQsSdbdOMJeRQQJpj77iphsbtGHznTFmfdkWus2yYoryy4mZkXmbW6AsfYrn?= =?us-ascii?Q?nBj5JcGhP3/ZZIgA4IdYTEs2d7RxzV/i447GSdY7P1kOBU3y1IHSgrtaxd7a?= =?us-ascii?Q?9FFPQfqURy3aqf4p84l2C2PUBD9QjTmZlJ8Zhq2QhLZHejvLn8lrNpIbpLa9?= =?us-ascii?Q?VgBT+dtp2OMWJ7VmgMCKlgDGA8zBMrYs1hA/YltXRVfp0pUBC7PswflOrszl?= =?us-ascii?Q?V+uwsvi3NWnqyr4SkEOlNmjIduR7k31x2ZNzQiv6IrTIDFuSmmMfD4Y7pet9?= =?us-ascii?Q?JtgpwMIqKNaCdXGEDlPVaows9974X8pK0vgaEgh3LWZhVDObuY/IR0VZEhGL?= =?us-ascii?Q?FFJGez0CWKla4pyO2m67WqeAFKTZ68zCKZpaGsflLNczkLIYvMClt923RuC1?= =?us-ascii?Q?f7U2l48Y5YHTlj+8ry2H7BROmqSKiAjh5Ouvse3S3CAGk10cmkoW3LtkzmjN?= =?us-ascii?Q?X0BI6TeBpfH2tVD6GxeYXZAN5T6s5taahWgjfysrr6mOp9HsOHkqtNvyFFWZ?= =?us-ascii?Q?hFCZx2IVkRD0MzVg2fD2+VlOdl5CG8FFrNlegD+sTro8PxK+Q0EeT+gEasTg?= =?us-ascii?Q?RGRVz+NSX4dmQ1SuOZZx+1oSl8MFLx70zCn1jFTcpBGZ2AeVdrMqmNueq9Kt?= =?us-ascii?Q?j7NXljxTO8kRUE0f1Pgy7HKs8bMTSbS26OT9Xi7Zp7TGDpidBJmAcvPTZ9Lh?= =?us-ascii?Q?fDLcUrLrSYYVvxozuQuN0kmzIbEo7r6KHC7+cECd3Ev4nLJ4FTFTjM/qm8lf?= =?us-ascii?Q?oHscHbIce4vNRAwGr+kJj6oQalPBo+lpiE/56UQlPb1DKlNTkbykMx0T2I5W?= =?us-ascii?Q?nki4NnV+Db2jQoaWXs+0X9JdJyYoXMMD7PYEtyoo4naKwWqhnGCbikSylba6?= =?us-ascii?Q?eIbHrd+L6LYaV4a+tGB7GTLvdbL9p5t/gE7Uqm+00g/n7poDtjncdAtZg4R7?= =?us-ascii?Q?lrlR4StKyVrHcI/PxeBx21Oez/Ja1iXJG0IX0glDaxOzzHIPbyb5feJFoGCk?= =?us-ascii?Q?sfTJNHF2bAEUFXX1Q7CXrvsW96U24COpHThLEo6lz1pMe+5DahcjQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2824; 6:RqbH4K0jk118rMvRoA+jv8pIb6HmrOFNlgjFXlmLe8BfO0MnxiYF1Rdkskc7KBhPX6Ac7Gecy661IqdTj3/jc7xBg4p/dE6ocspmaQVSShKjW9KeqQFEvEacS6+Ts+n9tS6geLLyYMLaeN+r/wLsRcWJWiNpDLovrk+C4/gOfvr9hgdNUjWdR3EbvCnc6AGGdV0VYctM5qWzA+AWqqAZWody8oSIq4yNSAwMH0yJGBwYUDXGE3SNNPbWqBL68M0cuOZTXXO/r2xOmbtdDHrX33GBFJM1ALF/hzyRZEab9NqM+QypjiDK03/TUeIBAey5fMwLiEEFcWcBI126hn1Ymu+TulZ1pKkV6OOB5q2ANNQVoG03yMy7PwPgGVugasZfm2ozXtW2jOE4LA0uYKHloLgxijKx1jlv3vYCceCJFgM=; 5:R2acLZzn4yXh2/HxedP2q+7Z4Ij/9WEjJPu4x+rjI+o5xTz5JtLeUyreIztwOh2DfYJfKIxBazhaG88cId9OhQ1rnVFRBBsfaLhim/vuUmn83KfAUPLtehjdrN9esCLbUKPKNJwmMYhxBeyZLOF6wg==; 24:nlRMBMgsJJuvuusZeTDYumgrPTPdXnl16OqbSUv0qbTdMoi2kend2UU362Ht4G8rWdC2fFZ4jJ+tGDhguCozkdA0bGZwNXhPbipqWA969Go= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2824; 7:VgKQGREUOnsku2O/qoL01/pacEKfKKgjv5tWg0Q/qTxGqVuhc9qvdvRhkyDCIDhMDWn1IiRiBsvaQg4IAmZ0IBOuAqM6StEWAud4otmswosyvQTTqIFzmIf8+lnR9t7XCRxVwjInaN7pGieKyl3jjsR804ju7VU2cVBu0c9dB7dtH9VuSOIWGR2+ZGIL1E+IQiCJBjlYI/H87dw41uLLPL3F+ReVXOHJ+OMEC9nK3/wIIRuDl5jSxTiGpzGGmQQH3H8bqNE33k+9tiCd+omJdONA+dtJLy5ICYqxMJkAuR8aJlN6BhuN2IaKkygomRGsycUuVhsyOdGva+1CgLYq0g== X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2017 21:58:15.2440 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR03MB2824 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.41.137 Subject: [Qemu-devel] [PATCH 2/2] target/arm: lie more convincingly about memory attributes in PAR_EL1 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: Peter Maydell , Andrew Baumann Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP On a successful long-descriptor translation, PAR_EL1 bits 56:63 are expected to report the memory attributes of the page. However, the page table walker (get_phys_addr()) does not currently retrieve these attributes. Rather than leaving these bits clear (which implies uncacheable device memory), this change sets them to 0xff, which corresponds to write-back cached normal memory. Signed-off-by: Andrew Baumann --- In my (biased!) opinion, this is a better lie to tell for an emulated environment. It also happens to un-break the Windows boot process, and enable an NT kernel optimisation (DC ZVA for page zeroing). target/arm/helper.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 760092a..b858d6d 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -2159,7 +2159,13 @@ static uint64_t do_ats_write(CPUARMState *env, uint64_t value, if (!attrs.secure) { par64 |= (1 << 9); /* NS */ } - /* We don't set the ATTR or SH fields in the PAR. */ + /* ATTR bits are all set, which implies: + * normal memory + * outer write-back non-transient, read/write-allocate + * inner write-back non-transient, read/write-allocate + */ + par64 |= ((uint64_t)0xff << 56); /* ATTR */ + /* We don't set the SH field in the PAR. */ } else { par64 |= 1; /* F */ par64 |= (fsr & 0x3f) << 1; /* FS */