From patchwork Wed Oct 7 03:48:20 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Scott Wood X-Patchwork-Id: 527114 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 [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 CBBD6140D72 for ; Wed, 7 Oct 2015 15:08:55 +1100 (AEDT) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id AC12C1A2F89 for ; Wed, 7 Oct 2015 15:08:55 +1100 (AEDT) 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-bn1bn0106.outbound.protection.outlook.com [157.56.110.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id CFC3E1A015D for ; Wed, 7 Oct 2015 14:49:01 +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 BY1PR03MB1483.namprd03.prod.outlook.com (10.162.210.141) with Microsoft SMTP Server (TLS) id 15.1.286.20; Wed, 7 Oct 2015 03:48:56 +0000 From: Scott Wood To: Subject: [PATCH v2 16/18] powerpc/booke: Only use VIRT_PHYS_OFFSET on booke32 Date: Tue, 6 Oct 2015 22:48:20 -0500 Message-ID: <1444189702-17241-17-git-send-email-scottwood@freescale.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1444189702-17241-1-git-send-email-scottwood@freescale.com> References: <1444189702-17241-1-git-send-email-scottwood@freescale.com> MIME-Version: 1.0 X-Originating-IP: [192.88.168.49] X-ClientProxiedBy: BLUPR08CA0034.namprd08.prod.outlook.com (10.141.200.14) To BY1PR03MB1483.namprd03.prod.outlook.com (25.162.210.141) X-Microsoft-Exchange-Diagnostics: 1; BY1PR03MB1483; 2:aNilGzyhYizVAB4+N8RSS+AM5pVVVvh2jbf57GKJr0FQZGyu8m9QVWtnjGbq4xS+RDXCb0zkmdCllQW2hHSUR4vQnTdlK+h375mWBMUQ1wFRyg16yB+W6FCbYwitCZxXVdShsSAXvf9WIcupDer6dHLDXXW+MTpW+Zr79B8CZtE=; 3:tJ+9t2oaDa1hWVSJ803yC/1PBiyPt3DJAOFI5gMdvVwHNdBXgHbbx9XDwY7Q8NUew8yWuILE/RcH7ZvLWeuV3PygjNw6Z3qe90kWiftz6dBvNEPAINDQo7d3KaRsooPN/vbJeClahCJpI5msIvl5Qw==; 25:9PU327hq+gCmYboeuBwHXXv3zH4Lnm6Q7ybzyBZp0FE8uQJk2rAAFQjnF2AdWU07hj8tO15JqXU5QwLK31aWDk48KQAFJIEAAa7EhmL5/EeZhUChRRjt34fSCvF6EFiIEgBeX3U0QJHl6aZUdn2lA2nw0QW+IPPmcp80YUnSeY3m+P7lCc0UQDGkx8MnNjLcgHk1LQU7twMnYvI2+9Z7rAAkDAewryNKzW0em/7K5+IusK1QjpSuAFCTr+kJH3z4wi15OWAsEEXLnJ1HwLAYnA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1483; X-Microsoft-Exchange-Diagnostics: 1; BY1PR03MB1483; 20:jiAKRp4eFt3ea7kldA/nfCRm3F4+5OqXkIy9rvPAaOULOQnl/UdOZQZ24UMY1Falm/paP4mEQmXyE9PX2XS7cCdu8g1yIna4YGwnKnt0ZpUqa21USgVV1G+NLDwQoF4XExMmUKurc/woA2HAXyh+4tnhbm9SfQDLBIbP9kyB3ZYkFDT1H/S6aHL71RFO8EQ6IE7w5K57CSdDrwmRnKI3O3C9J0uzGv9zhG4cYQmHzxCVLtm7nAhh9pIpstp8IYNIgNFNepVh5/rf5Pr25ofjaEFOgv53mqk2Q6t+3/Arg0WqNRjN5tyKUiyW7GNtE9vyKqp3NKbF0D8VvAxroZFCdo5Br/uvwptA0wAi1SQJsv8MVZTa3f4XN+5+2i4y0xrtkQhqR9Aal5oMIXAkT+YThN8WlkHxZtgtfX/wIZqIi8i5yzGMaDMz57Ytq6vQH2dmJArMfT5LCO9XH8IBSnzM+HZ08A642ZpFskTyPzE3BBnqSzCVidWLsd7jDwYCth31; 4:5eTOPiPmjAPfr87VM5QlwWK0zWhdcq5mLLpb5Utt48/7m2bBTu/zdRHeUBohXQx2hoW301HDQqA+8tZZvetMUwCCdXekukON8BGt2Z8soRzSu90HIYSeC8gYtlz6HpgZoZ/wUYEnvb2SKIC6Sx6tnPQ/by4Y964QxHFbGg8Jtvp1QLwYPczL7NhAdNhXwFmKkBuh2+r+YbDoPKjGmGEkco3E/w+uPBPzWCIg0Wtxd0yidbl0pjgwgNPMR4m92D3Sfg/5MB4xXLBr4LkIQIvnXvgHDqSyC0WbK+emjG0Pd/W5mwiWErA/qZTYRUi2Vgms3RR1cNCyeWvQIr62W5onnyH2MS2x2lJ28k2Q8ayl6eE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001); SRVR:BY1PR03MB1483; BCL:0; PCL:0; RULEID:; SRVR:BY1PR03MB1483; X-Forefront-PRVS: 0722981D2A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(199003)(189002)(122386002)(19580395003)(5007970100001)(5003940100001)(189998001)(19580405001)(107886002)(105586002)(46102003)(106356001)(50466002)(77096005)(40100003)(2351001)(110136002)(50986999)(64706001)(42186005)(87976001)(86362001)(5004730100002)(47776003)(5001960100002)(76176999)(229853001)(101416001)(50226001)(92566002)(5008740100001)(2950100001)(66066001)(33646002)(36756003)(81156007)(5001920100001)(97736004)(48376002)(4001430100001); DIR:OUT; SFP:1102; SCL:1; SRVR:BY1PR03MB1483; H:snotra.am.freescale.net; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX: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; BY1PR03MB1483; 23:dKqLx0uVx58c9gsPqFH3FxGFqwwEmXWCP/z0wCUQI?= =?us-ascii?Q?4dM05UY4HNS1D2a1pmj6DYiu/xq/xz1Ui6tzoguxpFTt+VNbY8Wi72zfEBBa?= =?us-ascii?Q?T5YgHLD1As3p8qWUoLUMbn8+ojmAK/wNjX4vwCQoBQTBYwvFpsQfejLKcJV5?= =?us-ascii?Q?hUp0XjDeFqKzk14wsPDnmbpfhu5Ii7m6NCMgQe0JoG6Yvea2KGq7LaL65+12?= =?us-ascii?Q?EnTqqtMyJkX4WOwYm55ihuxIbE6OW4XQa+cSKp6dCG+P031L+yTAdFEwPDzT?= =?us-ascii?Q?TE3kf6rrQY//XkispF94s4y9TeHmDbIXfcFKR//Lohh+pKkLRDiRV+6s4IxQ?= =?us-ascii?Q?4ml2JsIYlnG+qNox168i9ZL+iqblVZywwVrU1NopcA4bx6tvujX00ZI9wDGF?= =?us-ascii?Q?x+j/CGVzwVo9UB9euhgwgsU2zykSWEvYuTRyPl5U7Ok2KELlLQBIn4aicxn3?= =?us-ascii?Q?uJZL3AqNOLgwEZYxlbpV7bdZvz7PczoxolakokfvPzVe8a6SlNSZWmOtp8HW?= =?us-ascii?Q?dff1DtF3sSE/ls6V7fkhCMz3FeYUex1QVOVh8GNOwWwG9+jzNhYJ1XiT5MiF?= =?us-ascii?Q?6SHhPrDS0ticLhRq1pVEiSvDJNNkE0BBq+RryH0ZIIsiPbo3Oi+UJUrNC4Uq?= =?us-ascii?Q?UKtgPiDEu5L9Vsy9H1MRo3PaKetiWBjoYFge0LYd99dSou6c0b3RfA3Z7I1j?= =?us-ascii?Q?i50JJihuazEOcSsseEO5tSHY/u1vatAxgzYgrYZH02CvZ7FixFsW7VJRbv4O?= =?us-ascii?Q?/hUUDoVFj9rlMEDI6sDJwN7QlPwTlY6/jpTnNnXqLfBf8uzTVHBtFs02sTye?= =?us-ascii?Q?qjGbzvVJqNoDu9gjAvj1kOrWc2856b4CJf7RLB6vyP46yga4doqEafXzOTXm?= =?us-ascii?Q?tieRuiRyBxQn5hSeS3/NEXBI79+U+UI1e7T55sU1CyKhjv63aZTE382u95xc?= =?us-ascii?Q?zkKYf3JvnxPOakFSurYkIvqvlLI5kzFQmj9gGcKcTtlxQytShaQt94xT14Ti?= =?us-ascii?Q?5k3Yp9xSPgG/OHYPQmQu//8SspDBCrl1TW+WyNffKm5Kx3+V6Zl3DxV1ZR/f?= =?us-ascii?Q?a+tF+FDs3KLNfX1rHsmyNWijJL68JaGsZU/cw98Vmuf24DjVAfVJ3qXhHRr+?= =?us-ascii?Q?H/bbMGBbdg=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR03MB1483; 5:6LZRR7aKmx06dsFqzisfGQ+5N8XdaXzxdr4roi4Bym8elG8cB136I6l8XT/4TNRt0hNw8kVKVkLxF5lTdbtB2XYsRtdknCaGSNwFkQRbiGT//8Wl0PTvumMOTJ04i44C4JbgJYhCOGL7iI/pTALjxg==; 24:4Wz41sUjr53gCTmim59U3IJWmpDYOlaEkeiTiH9+rpXTRrkdelfarOVrYpD3sezWbej4TwRVpHSzcQqVEJYTCw5RfHMEjWkmQl61hSJcZBI=; 20:O4aDvEAK6R2oxk5NsPs8m9YsCdRz53p9ZOajhLsDmJ77ntaww28k01Eqbep4vahcyxWUiZ+ngTtUragHexUVsw== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2015 03:48:56.9827 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1483 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 Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" The way VIRT_PHYS_OFFSET is not correct on book3e-64, because it does not account for CONFIG_RELOCATABLE other than via the 32-bit-only virt_phys_offset. book3e-64 can (and if the comment about a GCC miscompilation is still relevant, should) use the normal ppc64 __va/__pa. At this point, only booke-32 will use VIRT_PHYS_OFFSET, so given the issues with its calculation, restrict its definition to booke-32. Signed-off-by: Scott Wood --- arch/powerpc/include/asm/page.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/include/asm/page.h b/arch/powerpc/include/asm/page.h index 168ca67..6b67239 100644 --- a/arch/powerpc/include/asm/page.h +++ b/arch/powerpc/include/asm/page.h @@ -107,12 +107,13 @@ extern long long virt_phys_offset; #endif /* See Description below for VIRT_PHYS_OFFSET */ -#ifdef CONFIG_RELOCATABLE_PPC32 +#if defined(CONFIG_PPC32) && defined(CONFIG_BOOKE) +#ifdef CONFIG_RELOCATABLE #define VIRT_PHYS_OFFSET virt_phys_offset #else #define VIRT_PHYS_OFFSET (KERNELBASE - PHYSICAL_START) #endif - +#endif #ifdef CONFIG_PPC64 #define MEMORY_START 0UL @@ -205,7 +206,7 @@ extern long long virt_phys_offset; * On non-Book-E PPC64 PAGE_OFFSET and MEMORY_START are constants so use * the other definitions for __va & __pa. */ -#ifdef CONFIG_BOOKE +#if defined(CONFIG_PPC32) && defined(CONFIG_BOOKE) #define __va(x) ((void *)(unsigned long)((phys_addr_t)(x) + VIRT_PHYS_OFFSET)) #define __pa(x) ((unsigned long)(x) - VIRT_PHYS_OFFSET) #else