From patchwork Tue Oct 6 22:55:49 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Scott Wood X-Patchwork-Id: 527048 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 5981C140D93 for ; Wed, 7 Oct 2015 09:58:15 +1100 (AEDT) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3EDE51A03D6 for ; Wed, 7 Oct 2015 09:58:15 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0140.outbound.protection.outlook.com [207.46.100.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 7B4901A0017 for ; Wed, 7 Oct 2015 09:56:09 +1100 (AEDT) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=scottwood@freescale.com; Received: from snotra.am.freescale.net (192.88.168.49) by BN3PR03MB1477.namprd03.prod.outlook.com (10.163.35.140) with Microsoft SMTP Server (TLS) id 15.1.286.20; Tue, 6 Oct 2015 22:56:01 +0000 From: Scott Wood To: Simon Horman Subject: [PATCH v2 2/3] ppc64: Avoid rfid if no need to clear MSR_LE Date: Tue, 6 Oct 2015 17:55:49 -0500 Message-ID: <1444172150-29493-2-git-send-email-scottwood@freescale.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1444172150-29493-1-git-send-email-scottwood@freescale.com> References: <1444172150-29493-1-git-send-email-scottwood@freescale.com> MIME-Version: 1.0 X-Originating-IP: [192.88.168.49] X-ClientProxiedBy: BY2PR1001CA0051.namprd10.prod.outlook.com (25.164.163.19) To BN3PR03MB1477.namprd03.prod.outlook.com (25.163.35.140) X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB1477; 2:18Xj5/tAe95n5vDx9VO4mCqws0YbvsIzKsdcJO0LAdXf4/LkaydRwbPJQEAIwykbuqNqPhfOCyDANi5fzNigmOja5SvGI3AIIFMDfhV1/naIbfu8KoCwZe9UZKIw3GfTKMVtWD5WA2v/Lgym4t5G+OQjoUYHHvid2Y1CWK4gL1E=; 3:C90GmXJwGnexbAjYGwQMk7dm16ouNFyIJ/eZO7Owq2kDRlEPj4DA6xNHIyrb9+TtUMKKCfNB+ABQNje+wT7eOPxBFTSiG1+4piRq2hh7zpnI16YM+lHGVXoGW4XJnP+aGgx6EA+4C/bXjJ18+CSGGg==; 25:iF+yjUGi4xzP+rIvSpQg5UHTnUvYnIPNSQCTQZ42GnfWK6XNh8wW60q9pkRepMz2sh7NSPN6t2Eru80jVNN6OYP3IvuulTK5M0g0SQj07zaN20Y1t4KO75URgxbIcRb68LlIk1FHIWlCpeiuY62/9cNxIMlwzDbjNH0QZNQ6HCUHDJmQ1OZm16+7rAF6Ih1oCQxMWuh4YL0xnE3aepDjmeq0eQyrU2Q8JUoTI2hObG37MMy9sDJMyFUUBPQEk+Lm X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1477; X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB1477; 20:x1R/2cfXiLvpKQ6oChpDrGVqDE2ILRqCcfn/TMeCu/lUuaU8vraoAZkxWXAr9QqkTawFgecHH4ONNbB/8OoFfHyJLopccazw0tynOSNM+oC78uHp8wm54bURUYDmA28B0SymmBdjQWh4J6Y+kRXk9qHeqjcVc43PIuiP0zwLhzweme2Ek82fJjE/sjqW225+YhgqL2lWq2i436birdeEPAqQ9vUhSqKp0rQ95VEPbw0Vjb2LeP3NvjSPU8Fn9U3hfQ9HYlrHN1q7WJHpMnftwnJ8MnFK9NQZf7tpfIgIHUImPFf98AYoG9Hapu6De8EtHQwlG9nGwIoEm/jj2Np7hGuS2ujtvjICqxUmbRX0EwWaqF8/sh9zLfBki81gxzVWBbG8NC0VSx6csBAIEt5gzWOIz1Fo2RDoWCwob3rMPWVnQmze4BPoL+RXiVa9Om5PsaUKFQfU8xER5ztHTwmHDgAo266jVtvs5HfZPvqSwo6UXVRpvBKpmb2nbJAdV11v; 4:yIdvixbG1hYGdNT63FtcDkxR707wcLjWbjleipWGmCvTi5IX1Us3YMCKnaiHL15AVNjPT57Sxg4w58vjgRUJnhQHSru8ILdPgkfMsFiE311o1+nJAwtDz/NNlQyiqG2BMSWCD4dO/d81JdN/ga0LCquMzUH/s+R1/NLrjPRdCb8EUn3AiNtu+gt5wXED1z3wYZJv/JH3tWfISD5sbzIvxY2DgasQgWDrVayFITky+cQIyV8ZsFXqgltf22IxoUCIevpbYB8x3IP98WPY/QGAsOrLhRCdB3OYzAGrsiH6bYQtkdPSlvzu3OwJX2ctU/Fp34+SPxI25BxjahCtBsBvUqq/gN5RpKhRqE8uzrP1Too= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001); SRVR:BN3PR03MB1477; BCL:0; PCL:0; RULEID:; SRVR:BN3PR03MB1477; X-Forefront-PRVS: 07215D0470 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(189002)(199003)(50466002)(87976001)(19580405001)(77096005)(66066001)(64706001)(47776003)(110136002)(5001960100002)(105586002)(48376002)(189998001)(46102003)(33646002)(40100003)(229853001)(5003940100001)(5008740100001)(76176999)(5004730100002)(2950100001)(122386002)(86362001)(19580395003)(106356001)(97736004)(36756003)(5001920100001)(50226001)(101416001)(81156007)(50986999)(92566002)(5007970100001)(42186005); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR03MB1477; H:snotra.am.freescale.net; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: freescale.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR03MB1477; 23:R9fEvFy8kalkSbSK7cN6+QTwnRdmaSWo/fp8BRWQs?= =?us-ascii?Q?PNOC832HuniPXWpPkVElSJYImlMMXalDAhvi6kfeJebOrAfoiY3/MX0Jhtsq?= =?us-ascii?Q?iKgBAki16jtWKGaOtF23pIcjhtmjL/fEWmQqGwvOn63/sC5PixkUJO5fxn+/?= =?us-ascii?Q?P7Q2aKEzFR45AopyBagOv8hvyHEoKxxujPnsVd6z2q+mYPYjFS8QB+B8bdGL?= =?us-ascii?Q?DL8jtKgn2PYRk53mHRs407X6OpD5femqCBHS30NtVLViSLFKmJazuJ3Va50P?= =?us-ascii?Q?HZI9Awr/0ohMc7AtMRvhpgWADkxKZky/FDBhMLfwXJa+PXEM9nFCstw6HFDo?= =?us-ascii?Q?XxtXMoYvFx0Bd29YD91k7Lys71PtmqOvN0j/bLRE0tMuIRW8suIZS4VJkdFc?= =?us-ascii?Q?3P5v64bpQBUhh5cf+yL3vRUXrxnnoOX8oVR7npEuVZDy9sfEIQZ+JteWXxdA?= =?us-ascii?Q?8h+/P2Slbn4owddZSVrGy5IEim6DYQW0oFxLbcMgs/sI7XPucEqc3AebejoK?= =?us-ascii?Q?TxALvbZadn2HZp/HNf3Rr8nMWH1wFhZQUCU4A36c65VYHJXNe63jShMWxq0j?= =?us-ascii?Q?ZDs6J12/TFONd4yw4beucMFsMag5ijMZkyRAzbAKVOvdHM7JsAEt0Z5ZLktE?= =?us-ascii?Q?XddPpyTl45i6O5JX4qwQTy/rtirkj+l/h+FAY/TUr3WYbWGgwI3bo3y2i7AT?= =?us-ascii?Q?n3n6zyeM+zuKGA1Q1NQVCO1M7LBrfvnS9vPIIhsSsRi/eA9aczn/TaFXwMvW?= =?us-ascii?Q?2Bdoi5WYq31eCtaRFQ8moZJg7AoQzpxXrvy+3PSKXhR3iAnSy2UEOrFQz0Eo?= =?us-ascii?Q?C0us5hMucQlqnMc1utZy5N8RrF3omSRxF172Ge7qYRj6J0sN+4aHdeof368z?= =?us-ascii?Q?NVSaYT2TqI7O4xQNRgfyu7ckNv+BY4NyoLr077nNrHw9FbTNvCU819U88vrW?= =?us-ascii?Q?qlpAXKb5rr+beiotmeIoHsXJ1Gc+XjHLNYtZDBmhpQj50Otg22GM/D54LPTM?= =?us-ascii?Q?hbPRbQm2ulivl061kwpYQndoDXhtZwYyX3xv1yNgWWZTIzW0pHgZgFe0xqf5?= =?us-ascii?Q?11/0Ow=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB1477; 5:ZvYOYfUrHPAHMEvvzAWm/Worc3IRg+XU2DI16/xZhvyYXgfua+q1z3X933wysXmlCbl8qrFfFqKdaRPi3tjQymqmNE5P1kymtfBI86OMs7kn8FaWruxMr5JLofaErNdNr54c5w1RyiNG5X/LKTqL3g==; 24:rP5+CGnOPGEPetCQoJEpb6d52pHQPcHXoZAGgso6XjFkKV06LTAA5ds6XM903jg5HFeMfBXY343eC2vdCrHQ5N8tIsB+upzno+BnMCAJ0DA=; 20:vhYOwVyAYLQ1cJTdOC6I0cb0QIgNdftmhrEaJn5VmC2Zx8hmOl/c8U4ey6kBNAHqrGQi8ILnk5PziScBVMsx4g== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2015 22:56:01.8563 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB1477 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Scott Wood , linuxppc-dev@lists.ozlabs.org, kexec@lists.infradead.org, Samuel Mendoza-Jonas Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Commit a304e2d82a8c3 ("ppc64: purgatory: Reset primary cpu endian to big-endian) changed bctr to rfid. rfid is book3s-only and will cause a fatal exception on book3e. Purgatory is an isolated environment which makes importing information about the subarch awkward, so instead rely on the fact that MSR_LE should never be set on book3e, and the rfid is only needed if MSR_LE is set (and thus needs to be cleared). In theory that MSR bit is reserved on book3e, rather than zero, but in practice I have not seen it set. Signed-off-by: Scott Wood Cc: Samuel Mendoza-Jonas Reviewed-by: Samuel Mendoza-Jonas Tested-by: Samuel Mendoza-Jonas --- v2: new patch purgatory/arch/ppc64/v2wrap.S | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/purgatory/arch/ppc64/v2wrap.S b/purgatory/arch/ppc64/v2wrap.S index 179ade9..3534080 100644 --- a/purgatory/arch/ppc64/v2wrap.S +++ b/purgatory/arch/ppc64/v2wrap.S @@ -116,9 +116,17 @@ master: stw 7,0x5c(4) # and patch it into the kernel mr 3,16 # restore dt address + mfmsr 5 + andi. 10,5,1 # test MSR_LE + bne little_endian + + li 5,0 # r5 will be 0 for kernel + mtctr 4 # prepare branch to + bctr # start kernel + +little_endian: # book3s-only mtsrr0 4 # prepare branch to - mfmsr 5 clrrdi 5,5,1 # clear MSR_LE mtsrr1 5