From patchwork Sat Jul 18 20:08:46 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Scott Wood X-Patchwork-Id: 497407 X-Patchwork-Delegate: scottwood@freescale.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 6550014077D for ; Sun, 19 Jul 2015 06:20:59 +1000 (AEST) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 4A6501A2F51 for ; Sun, 19 Jul 2015 06:20:59 +1000 (AEST) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0130.outbound.protection.outlook.com [157.56.110.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 384E41A198A for ; Sun, 19 Jul 2015 06:09:32 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=none (message not signed) header.d=none; Received: from snotra.am.freescale.net (192.88.168.49) by CY1PR03MB1486.namprd03.prod.outlook.com (10.163.17.16) with Microsoft SMTP Server (TLS) id 15.1.213.14; Sat, 18 Jul 2015 20:09:24 +0000 From: Scott Wood To: Subject: [RFC PATCH 09/17] powerpc/booke64: Fix args to copy_and_flush Date: Sat, 18 Jul 2015 15:08:46 -0500 Message-ID: <1437250134-307-10-git-send-email-scottwood@freescale.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1437250134-307-1-git-send-email-scottwood@freescale.com> References: <1437250134-307-1-git-send-email-scottwood@freescale.com> MIME-Version: 1.0 X-Originating-IP: [192.88.168.49] X-ClientProxiedBy: BY2PR21CA0002.namprd21.prod.outlook.com (25.162.74.140) To CY1PR03MB1486.namprd03.prod.outlook.com (25.163.17.16) X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB1486; 2:ZdiaJZBPVIWhfSeIyU7WngBQEeepqd6gjxVuWlxK7e/YV8cyLK6mU1ZUy/TdWX3v; 3:PuNe2ml6F3dscFjR49PMFp82Lrpfy6RL31CBx4MSEv9z1TsXFIRWyhUfNW4DuBsKlIZh3pj+e1Nzyz+2ipl0kl4heFMmjYUgUT0jJQp/osAsWPNP6sZ7KpOcGt6JnGdeVGbucOu4X4QQpuXRMg2fIA==; 25:Vg/Mv7StCuOaD9sqvHRMYbDLwHOuE8QV08tJV3OV1cX7/782EpvCQgRWsX1xPP+ZdsRCAWQl6386czbeskpmlfKVNt++W/udGcyCXlKnO24CixXovpgc0fmWLGfkvr+YicdwB7DSAGyiP9XDIQkPi4fH2J63zhb83lg/CCO7nIAF6vtpSYT2F6EhgwLl/UDyhwdMITJQeCoQh/CZ5jLDS/npPYApanR/NFzjzsaKym5mp43QgwICP2cKp+OxxJWD X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1486; X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB1486; 20:mLHzUM9tN/mUs7KzOekH04rDkpIqBapwzHvg4Z0eDtS3zB7ZGIQcVvP77t94+o7siYWp5cPdDEo4HxYurpymq7xuZZolvvDwHBXSs8K7NXvYhRbUgaxSRd10oR9JAUmsG3794/8W39EMOMAwVxwWljvuDtnNWkGdu9tJ9nicM+lDVcGylBZtgMbhOZcVafu3VdHmH/EwgzsgmqQCyRB5Rxz7bk7bFMlEegKUl5xoG0JyAHAQjrBFH3ZnlBw6WjIMw/HC+s1mZk65/ofC7q0Lr3DgcrB2u9A9MXB06bOjHyvnzZ5x9OnNpC3HTYgYbX5iGQsQTp5B8ukfFvSG2tWC7s+n9qTRcKhWwbLfWyJua5lhZGbdekJ4gVAdi2D4eClFGJWNis86RqIeqmJbTfSiVo06GgtNjC4gcgIXCB3ODi5BouslDQN46Fx9OrpnYT3RLc6nT16bG9LPWQUGHg8vITW/hAIlwQCktz+xNlSuougcyAu3AyKy00mxk9hhS7Tr; 4:ToqAQy8wqMbC86aOWeQOlEQ323pVFLmQ6aExNhZuZtO4eltsiZ65QnUgwwR8l/OaUXD2OrQYbluxTtjGrLlRd17twsCc7NxvT6D8HdD3YFDPdYteDh/LZ1T4KUbVppZPyntOc1Xg940SQ70Is2NXmfHMHRkE6nvpFm00WorCXD42u7V2cxo9F1clhozBHMzNZqrZYa590ZQjb+Wo8DLV/91xs4mpZy6MP4lxBj7NAE1xsiLpDP6H+qeau+ba458vnD/d8dAiRYzsrqeZmqT+QI/zjhjv/xr98W+4nl1ZC04= CY1PR03MB1486: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(5005006)(3002001); SRVR:CY1PR03MB1486; BCL:0; PCL:0; RULEID:; SRVR:CY1PR03MB1486; X-Forefront-PRVS: 0641678E68 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(19580395003)(50466002)(19580405001)(229853001)(36756003)(46102003)(2351001)(42186005)(40100003)(87976001)(122386002)(33646002)(575784001)(86362001)(62966003)(5001960100002)(5001920100001)(92566002)(2950100001)(110136002)(77096005)(107886002)(48376002)(77156002)(50986999)(76176999)(66066001)(47776003)(50226001)(5003940100001)(189998001)(217873001)(4001430100001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY1PR03MB1486; H:snotra.am.freescale.net; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB1486; 23:uXU3Xnljc5vTKSIwJV8POyA3Uw+L9+w0Dt1ysqL7Z0sWvUOsZCkdJs+Ly6h8e2v+UazJAJHK5nbOKfsTT6wKChhXP5woTxOczVv8v4+GwlfonyjZHPQr9L5HhD1gtWwYXVWwMCslsXYMM9mLz0zLSTlf3tQ44gcmFHs/p5zNViLagG0OQ0SQEx2H/yzJeuBNnKyyrFGdTqsBt5Cz3O0F2t8FS5iCohf60TcUWLbcZOmQNfVyWtOU9DfIzR0VgdkCUs97/sepNZ5KofXx2Ykc9f8FCq8AKshEokoLeMjP0AFto+FVjsH05Baf0IxAyCBe4azJq+M61HMB1PYteB5Wk3Y66vkRCiEkh74CrF8gZnHYjhgBxih0cEwaLupjccaETb/j2XDoL4EGkLLADCOPEWa/t1bot50T+1qr5ShbUzzMn4OS+DHv5w29hPVZkM2j4SNQKFzIQQ6zARNBkPj7W4PI8z+5sgm31ZrO6ubkdV3FktRcyK0rRTb5QK3dJqoLluuJq2SGSl68QL4yoYZ9aH1TiHMEJJAT4+0M09sgPmwSsgX0PCuHDkmtJ3+IOnNoZ2UIoLgwvSO99iXGuXbLBLTVTSGKfaHSw899mkYiZcMgx0YfeJRgC4tMLe+KxKpMyI1Ct48+UOliZh9h6lPOlWkfjY+asZyD8vpeNV+awGfVApSt0YcpVlQ9IOiDf03fL+ajDrI+OYc/CdLl1pjeNqUQkPEc2Pi3LYet06mChUk1+MrghmvMu9jB0TACDL3Tkmp8S7MP8YadCRmVgL8ZU1PGnjd2iVN6F3WWiKS2MCiB6SSJ1Mx9F/r1nkPy9r26yhfe3r1+Oj9/6STp3XmGLlHxeco0IZkykfOtw3bAqi+NSMGlzG3a4JKOo70JkbC38YUjUuj884G0RoDCGw7g1K9N+5lj95S7daQl31DS2Zi/4PI547ONjMidBxKO9hPx X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB1486; 5:2M1zVwKhrK9+TWZJBAgsRZ5dQPiS2fa+cH8BUOxuKywAAN+E3zZ2CYg/3NmU2uZ/GWyBYaprU4bgFyA/UFA2CdzA77OFTakwZrIvVKR7VcCAxIU1qj84f7CduMzIDqOPUINNOruhztU/uocm1G1GcA==; 24:rixrJlA+OD/AGWY2wSwkpfMYWN+Y8ILgwjP4KTm+lhS74v5YKoB3z/KBrPfvx0rjOLz5s3zx8X8YGCdr1ianOgJLfLQLF5V0gBdk8oro6jw=; 20:UHCeOuWggsj3Wr5T8Xf9apqvkoVRAwvVuQrB2b17wmj/vKlP2gTmoCmiH0TggfwbnvZpP5WLlB2UH0mrtEXoXQ== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jul 2015 20:09:24.5023 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1486 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 , Tiejun Chen , kexec@lists.infradead.org, Tiejun Chen Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" From: Tiejun Chen Convert r4/r5, not r6, to a virtual address when calling copy_and_flush. Otherwise, r3 is already virtual, and copy_to_flush tries to access r3+r6, PAGE_OFFSET gets added twice. This isn't normally seen because on book3e we normally enter with the kernel at zero and thus skip copy_to_flush -- but it will be needed for kexec support. Signed-off-by: Tiejun Chen [scottwood: split patch and rewrote changelog] Signed-off-by: Scott Wood --- arch/powerpc/kernel/head_64.S | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S index 8b2bf0d..a1e85ca 100644 --- a/arch/powerpc/kernel/head_64.S +++ b/arch/powerpc/kernel/head_64.S @@ -474,15 +474,15 @@ __after_prom_start: */ li r3,0 /* target addr */ #ifdef CONFIG_PPC_BOOK3E - tovirt(r3,r3) /* on booke, we already run at PAGE_OFFSET */ + tovirt(r3,r3) /* on booke, we already run at PAGE_OFFSET */ #endif mr. r4,r26 /* In some cases the loader may */ +#if defined(CONFIG_PPC_BOOK3E) + tovirt(r4,r4) +#endif beq 9f /* have already put us at zero */ li r6,0x100 /* Start offset, the first 0x100 */ /* bytes were copied earlier. */ -#ifdef CONFIG_PPC_BOOK3E - tovirt(r6,r6) /* on booke, we already run at PAGE_OFFSET */ -#endif #ifdef CONFIG_RELOCATABLE /* @@ -514,6 +514,9 @@ __after_prom_start: p_end: .llong _end - _stext 4: /* Now copy the rest of the kernel up to _end */ +#if defined(CONFIG_PPC_BOOK3E) + tovirt(r26,r26) +#endif addis r5,r26,(p_end - _stext)@ha ld r5,(p_end - _stext)@l(r5) /* get _end */ 5: bl copy_and_flush /* copy the rest */