From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933989AbbLPBPa (ORCPT ); Tue, 15 Dec 2015 20:15:30 -0500 Received: from mail-am1on0085.outbound.protection.outlook.com ([157.56.112.85]:61856 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933949AbbLPBO6 (ORCPT ); Tue, 15 Dec 2015 20:14:58 -0500 Authentication-Results: spf=fail (sender IP is 212.179.42.66) smtp.mailfrom=ezchip.com; linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=ezchip.com; From: Noam Camus To: CC: , , , Noam Camus Subject: [PATCH v4 13/19] ARC: [plat-eznps] Use dedicated user stack top Date: Wed, 16 Dec 2015 03:10:32 +0200 Message-ID: <1450228238-4499-14-git-send-email-noamc@ezchip.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1450228238-4499-1-git-send-email-noamc@ezchip.com> References: <1450228238-4499-1-git-send-email-noamc@ezchip.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.000.1202-22004.003 X-TM-AS-Result: No--10.715100-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;DB3FFO11FD007;1:S8JiTFmoknHPWO0bnIgReiJgJ5LkmVDAim7j+IQoQDo8gCWgXGoRmZC8afnbTGiTIMH1mAWZVp6zJbo7cGFTOJJ2CRU75aiZ5fk6Oypcx3EaUdhKekULQ8ZlexEDJ9y+52HV0mmRqDfdrgqNcuGiNuqaduAGBaduRe9PXXPih7Ps4L97IDM26DkTGNTUTG+11yTILuM1tdBdjw/uN9QW/VYWT8/UC21mbTvICwBkqgTtmr6H6Adru47esRghdHs+MNhc7x67eoyS0m6ncZdMVOd7nBjET8IBsyusfWlR0i2aDc7IAAuEXtmGTnabv321AQVGmeHxsPALXg5aWJ5NVNNphyl8bhz/0zBW8n8P4ALe9jVV8VIjfy3uWkJxm1J9DhB3hP+goxQQTvvy6iPmGA== X-Forefront-Antispam-Report: CIP:212.179.42.66;CTRY:IL;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(33646002)(6806005)(50226001)(48376002)(110136002)(229853001)(50466002)(2950100001)(1096002)(107886002)(2351001)(189998001)(5003940100001)(4001430100002)(36756003)(586003)(5008740100001)(19580405001)(19580395003)(104016004)(105606002)(47776003)(76176999)(106466001)(1220700001)(85426001)(50986999)(5001970100001)(11100500001)(87936001)(49486002)(77096005)(92566002)(86362001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM3PR02MB001;H:ezex10.ezchip.com;FPR:;SPF:Fail;PTR:ezmail.ezchip.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB001;2:0L2IuGJV/01Lbz3DiH7dtxbmdyPEpH13JEvLIfRQYVcRgo3m76xf4RNkuZ0dHzQ2RGbaeJ5fkBwNJOp9BuGBJGX8DmXIDpg4DkFW1XWJ9DCWzZXFw/9TdeGYLTlN8icOT1D2eXIYBTTQxp2+xxegkA==;3:M6o8W4p6bfP+seC2J6nnEnPATYI17id4QPDtMKHB18ChQsYWJ2QxHHJRZl5nmgjMZg//H2sotwp0yGno2+tgKZSozpuRddOY+EGfL69WqS5isGzIM9S2eLSLWIsHj2EQMtFRF0w8fBPjjtxKVSUFTUwzMiNNY4T3mjhrGR2H86T57tS3MHHwunX4I7nXOghYm7bcsCpAU+/terqyAEn+qwHqaew0o/vtVKUxxwZwrJw=;25:84uY3O0Fi1LAWD4LWAcKTmnkVioDn6+0fr5Au0HpALvJx6VHI7JqamUzqnuJPl3Aq8B1aGGFn++ZL0cVcXOcu9THQ4gmYS3KmHQGG2rsCCSvdVlkQUpgUKMp2A3scJgTtAfWOy7RNb2jXvVUMXwKsdGmKbE9xs4OFD/3UN92e1rCLzysbroYxw+HNozPEAmmGMO3GOKm75kCIz/QlHI6emWDpwGaKZK/cNjuVxbTXcZ54VJsHHFvEJvV4MjQXnzWvkaWwfc8t8lGGG+Y2zFqKQ==;20:QB5xTw5Bvk3FZ4DNNt+6eHlQXUqiPaNpVOJS7PtH5c1aysxzm42JEdszC7Umt/3eaS25KC7Y2MnsOsrvTY+PqqPg6xZowzzy0xm8fvRgcCDdxd6yXVhuW2SYdWHOO7IU1Ax3IFt0h1WgU9oib198fNhRimzzhpbb/DRzzJuxmz8= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM3PR02MB001; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(121898900299872); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001)(10201501046);SRVR:AM3PR02MB001;BCL:0;PCL:0;RULEID:;SRVR:AM3PR02MB001; X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB001;4:OKbnH6R1wQdqsoEqNKZG/D+96BT6IH62MEpA6zzopdXn8ytMEYbsHVDCRbl6jImeYFSoI570YQIobFRv/lXonxBJuh5tK/PtivNsFuvj8NvPYBVgqXQdekORCd+459PrvNA4b5P5BFQNiQXw4au9sgh8r9V/xZjXVZGjzZlDbQgJ1fHAMSdc69GH6KJIaL+eLGhO1W44/ufDFdBnYBPS3GnNpHbhr+w9AiT0lABz0k3px988nO7kVR0VNrO8ajQNG193tDvuZPfwcVyNcQR0Rt+Fn+NS/WvAh39bR6z1bSgoJB0f2+aB0NMjuL9G4MnJdN9xabBoMpu+e0mOc6aSmQvpeUrxHQ9vun+FHHuMEKPLDvyFxA3h6m4aFv1u+b2T4OSsqr0FrDgRbSALJFgdj1tDmrTl/sq6Gd15BjlmARc64rAygV1sCZQBhXkGnzjJ X-Forefront-PRVS: 0792DBEAD0 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM3PR02MB001;23:aKwtYJWG4HpGrAaNGfhfj+cYPlq/uDW1uWCWcMKSwr?= =?us-ascii?Q?JVE9MCKcZRwAJ0OEfrm8t1chkRu3UCm5rsWFR/zT1q8fAiwgLdUU6PqCg5T2?= =?us-ascii?Q?CtmWYaxfn8dXABm7y7U2R8EG6Fa9+WbxYi21R6erqdYRiC/4/xuiYeLAWUOp?= =?us-ascii?Q?pgEaKn+7Z0Yl8jpziQVlI0vLKfaRTD1FtbmBP/SCoDk1yNOC/X6tG0FEokmB?= =?us-ascii?Q?z2F5Vgz15jQwE+5raU8/tiEHNpDWYbFqouOKur0D7SmTy4jLhyyJff6hvy/s?= =?us-ascii?Q?k3uLG6aIgwi/U5QX8tNPf19+8L5IezQANPrJnJ3vnG3p0arMpaSB57EZSi+3?= =?us-ascii?Q?oFmpEa1b5BcdPDXZ4RyzQyA2Leo/mDBXUqpgfB5K9D7NtoCHE2ud5Ct0pg3z?= =?us-ascii?Q?77BS1FWKik8jNlLG9yHLZHUqhRqgDOAVsmbkC2MgzqgQnCLJapE4YUkCW8eb?= =?us-ascii?Q?4rsCdOZi6W9J1wRd28k70QLAFcqQqHtA1oIxSj3Zx7KK1Ith/ugmNdofA6BF?= =?us-ascii?Q?oEBj/iRtz+hcqUKAHi9EvbNqggh3/4WsmLf1wjT3tw3nQ8/gPtzH/vc2U9T4?= =?us-ascii?Q?HXKstlw7GLXc3VGyZ0V1fhspkWFqD1cDXowUqjWv3tNRyZttN0dCBcHV9/jC?= =?us-ascii?Q?iKlMvM5AofWQRjq5wJyGcw2842l5/BnkpOUWrMsPRVDaJ+rfC9aEXOcF+10F?= =?us-ascii?Q?ioR5CAv+UHR+E6wjWcwVYl61ug9q9ZagWZ0OTpH7AhJWGTL3foTfO/MzLkQS?= =?us-ascii?Q?ef/hxjy53rNPAWYapnRev42m6NnagvWwOnV5UbwrmyRMSwlGoJQGjjtavTXc?= =?us-ascii?Q?WP+KLKlbtxS55OCdxRJsQ6ULFPLNrHF0OpklLtqQnIjJRR0HvWmGkPVtpbTo?= =?us-ascii?Q?MaOXYu3GSiEa0U+7bOxp1gSdmDrxKjudBXQrozp1jZ8e9hGEDCAfwYjHKCB1?= =?us-ascii?Q?ZuYvgYp9oP40VbkYHD1y+12bRkN+xKAsE7SWQWkFt14kC2y4N3duP/LVr8fT?= =?us-ascii?Q?UYSAWiESWoWDBT1nyA4XlXz3gKOku5d1MmvpF0ZQ9Pv3hcjDVQ8acZqUutcJ?= =?us-ascii?Q?DXh54D9k+QdkaVMlWMavkv3LOck/eE46hSkKQ5knHQ3xKYKw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB001;5:6OIufiqmWZUI26BDQ5I9xoazL0T9wuzhbaAlXW38Wx5EstD99M5RcKINi+th+xQlau1EePpobaGbeIwzJlGffa7c7LoJEvsG0ZYR4xplRKXa8JglZT45uuDYSuhelFDSKt1A13EA7n8GEbpgrCGa2w==;24:VAe8pE5rYPouw9LRjpaA+YIelj/63ny5hnWkQEgi82fpOG7H5G8WfBKj2DL+TIJ0DD1qwOn/qkDt+OeW3ud8XRsdcQ/rJ9HDtebMNx34wP8= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2015 01:14:54.5492 (UTC) X-MS-Exchange-CrossTenant-Id: 0fc16e0a-3cd3-4092-8b2f-0a42cff122c3 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=0fc16e0a-3cd3-4092-8b2f-0a42cff122c3;Ip=[212.179.42.66];Helo=[ezex10.ezchip.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR02MB001 X-Microsoft-Exchange-Diagnostics: 1;AM3PR02MB264;2:NyM84pqA0f90aRl+roTQmEoAaiGAaaUkynpW+z5hOGo/Gtd19jMB1EoYQFukIQFLPmQ7NYfvqMGyFjZoiZYm/pNrWNzZ0CXSdZ+qC2MDUT6B+yPpnUH63CvcoBMLsbYWXZgqRZcyPRlyDIfviVlHWw==;23:zjsD9G0V4dnP+jMFqqxdA+83bBaAjlQvrfd3n85T5KerSZszjFtnSzn3Z4qFVpw54te1XdLmCj17cqegGmI+41V8+Ra0pSp51ecknd1l4Z1KPdae161i09EwlXxgCfTsmYO7kB0ZEojwpGTfEPkhqcHVpnpzvv2dQR/iOic+y1QCjvFTxrtV6jkqFLHYmCgg X-OriginatorOrg: ezchip.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Noam Camus NPS use special mapping right below TASK_SIZE. Hence we need to lower STACK_TOP so that user stack won't overlap NPS special mapping. Signed-off-by: Noam Camus Acked-by: Vineet Gupta --- arch/arc/include/asm/processor.h | 17 +++++++++++++++++ arch/arc/mm/tlb.c | 6 ++++++ 2 files changed, 23 insertions(+), 0 deletions(-) diff --git a/arch/arc/include/asm/processor.h b/arch/arc/include/asm/processor.h index 8a77ccd..41142ab 100644 --- a/arch/arc/include/asm/processor.h +++ b/arch/arc/include/asm/processor.h @@ -122,7 +122,24 @@ extern unsigned int get_wchan(struct task_struct *p); #define USER_KERNEL_GUTTER (VMALLOC_START - TASK_SIZE) +#ifdef CONFIG_ARC_PLAT_EZNPS +/* NPS architecture defines special window of 129M in user address space for + * special memory areas, when accessing this window the MMU do not use TLB. + * Instead MMU direct the access to: + * 0x57f00000:0x57ffffff -- 1M of closely coupled memory (aka CMEM) + * 0x58000000:0x5fffffff -- 16 huge pages, 8M each, with fixed map (aka FMTs) + * + * CMEM - is the fastest memory we got and its size is 16K. + * FMT - is used to map either to internal/external memory. + * Internal memory is the second fast memory and its size is 16M + * External memory is the biggest memory (16G) and also the slowest. + * + * STACK_TOP need to be PMD align (21bit) that is why we supply 0x57e00000. + */ +#define STACK_TOP 0x57e00000 +#else /* CONFIG_ARC_PLAT_EZNPS */ #define STACK_TOP TASK_SIZE +#endif /* CONFIG_ARC_PLAT_EZNPS */ #define STACK_TOP_MAX STACK_TOP /* This decides where the kernel will search for a free chunk of vm diff --git a/arch/arc/mm/tlb.c b/arch/arc/mm/tlb.c index 843e1a5..01f85e5 100644 --- a/arch/arc/mm/tlb.c +++ b/arch/arc/mm/tlb.c @@ -820,6 +820,12 @@ void arc_mmu_init(void) */ BUILD_BUG_ON(!IS_ALIGNED((CONFIG_ARC_VMALLOC_SIZE << 20), PMD_SIZE)); + /* + * stack top size sanity check, + * Can't be done in processor.h due to header include depenedencies + */ + BUILD_BUG_ON(!IS_ALIGNED(STACK_TOP, PMD_SIZE)); + /* For efficiency sake, kernel is compile time built for a MMU ver * This must match the hardware it is running on. * Linux built for MMU V2, if run on MMU V1 will break down because V1 -- 1.7.1