From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753180AbbKGK6w (ORCPT ); Sat, 7 Nov 2015 05:58:52 -0500 Received: from mail-db3on0083.outbound.protection.outlook.com ([157.55.234.83]:27264 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752257AbbKGK6u (ORCPT ); Sat, 7 Nov 2015 05:58:50 -0500 Authentication-Results: spf=fail (sender IP is 212.179.42.66) smtp.mailfrom=ezchip.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=ezchip.com; From: Noam Camus To: CC: , , , , Noam Camus Subject: [PATCH v2 12/19] ARC: [plat-eznps] Use dedicated user stack top Date: Sat, 7 Nov 2015 12:52:30 +0200 Message-ID: <1446893557-29748-13-git-send-email-noamc@ezchip.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1446297327-16298-1-git-send-email-noamc@ezchip.com> References: <1446297327-16298-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-21926.006 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;AM1FFO11FD043;1:Kv4qUgU8dIZbeYXPg9rOvYBUhqxScwRQBOdccEopw+XolyDjUV0Bvg8xkbhNnaAFX6OY7HLFIQylzwLuW4f+yOoMjvVK4CTXVKMYvNRKijr+43ntw9e8x9b4lFfDGMU/Zr+dI4hbpUvZMcEx0tKEH4VvHVaTdbaBKmxnU7TUdAup0BIO1PlW5KkmTgF+qrnIA5vLn7NzMFbpLCcoYeRYpa4J4QWfABY1aOYUkeIUJ4iE9lTwRs0KmV2D6APj67NL8fthlfixx2o64zJD1D5dx4C/4RqGJCvwivJCWmOw3kFNbHF6lxg3xlOZ+bAqC6zg6vG1hjKDLMggn2sPcIA0mZnKThuBXz6BSdPRN83N5BwY6QOqASXBgaRuZzFc5P2L5mnaLEsG5ON3dmVq4SzfmA== X-Forefront-Antispam-Report: CIP:212.179.42.66;CTRY:IL;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(107886002)(19580395003)(19580405001)(6806005)(110136002)(5008740100001)(50466002)(50986999)(49486002)(104016004)(106466001)(87936001)(85426001)(76176999)(2351001)(36756003)(105606002)(47776003)(92566002)(229853001)(5003940100001)(77096005)(2950100001)(48376002)(5007970100001)(4001430100002)(33646002)(5001970100001)(86362001)(50226001)(11100500001)(189998001);DIR:OUT;SFP:1101;SCL:1;SRVR:HE1PR02MB1148;H:ezex10.ezchip.com;FPR:;SPF:Fail;PTR:ezmail.ezchip.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1148;2:EITXinDS00X0y2nQVDyo85iVe0EQOWDKoThwRp5XpMboXt6+pOyvpHLV7wChNx0jYiS+b0sEB34U9VSPcwJVUx3EicLRA02QGX7PILrL2W9pmgufDYzNJUssDL2dMb4tTjBoj0W7Ruui7i+QEweue4kO+zIWH85CrkjOEQx2k4A=;3:eosEO20wL2SS+4+/aFIUImVcfRjIxkHR+SIp3U4h3zS9keTyOwY3r61Cc3Xmx6HiHuH7564l2nZvXyE2eOIlHNz+RK2fsgdqAwP2JB2ww90bcyYKIwn0c5LGs8yT62qSHxM7BkYxBPwkCHdHE5osl9zU+Bt8RbAzzyg/zIeDCwsUZOcpATcNZmmlTMH/uxx7WQSN9IXePZioVAJBGWxq6qSe6qpcK8cv7YXA/rLpTP8=;25:01Y6LqAF2+HEwvvfVcDI6wWrW12zRCz4qlGlqZN6hMj6PTeGUApKhPQnN3vkN8Befl4KDYeQYJWPXHRs63VbuxYgMoWcKT/McnGYcvCExZEsy0hHxxNpAfaeORdlfMpZq6zpNSX8nxKkj8bFspvZnprh+lcIxG4ZZIgwddv1uMrKNX9OA/xtNvZ+rAMzLxKpe1366mBf/FEJe0Pi9gnb//WmIol1k/Xx2vpe22vhxbF34qTCo+B71/AsgBA0Y0K+h9jKoDTnBzlqgJ1FDZf4ag==;20:+d6NiuzC2UK6frZWZCcIwlBrmzdmFRuO1MT/tnuebDsJ4HfqUdxUjqWr9nfhzBzVz7ivlpNNoV3INO4O+UX8NAXCMDw0TYHSDePpRX+t0SO3X5y6UOkxuKNRuzxVeWzV86CUKEZTpXOudZnbjYJ02qxBFewtBFA/vlOAeE5IuSA= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR02MB1148; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(121898900299872); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(10201501046)(3002001);SRVR:HE1PR02MB1148;BCL:0;PCL:0;RULEID:;SRVR:HE1PR02MB1148; X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1148;4:BaeSSiMbClLoO8cuWyUQ/+NML6GdTYeYY2scCBzvYRehsO9r3jtXqiYQooCpgDAhWaIT/sVrV4OMfZFGmJ4OyfbuggC3XWk5H9/lNU3UCfegNY+y5/vlSf3JwxFX7CNhgI+R2O6I4V3lfpUASZeO5R9swQqboWen1KrKxsu6QIUBoaBfi3Z5NKRkSdghh/JxilMajS/Cw+FO2EDGz2rsN7uaYV2fdZPfQk3P5uM7Cv7ZNzA/j7Gi2bSp4GOufIliESP3nVkcXz/QE43W7R5w2gy4AYZ0wqsPvD1t+SgQpYmnMvP4jT5XNNMzWjG3MYwI8VimE871pdkVAJQ2k8WpvtmYPI57C2wRPqHNZ9ommBjiQxjrAas1TDQORR2EDRZu X-Forefront-PRVS: 0753EA505A X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR02MB1148;23:5krfS9MVZBJXLaCp1sMwK/yiyfzICl07auvVWb4QY?= =?us-ascii?Q?u8BP44ddHFmPrU1oz/L0fMIEc6XufQPFrDgANkIZS++pz3mxioJsJdsxWbjl?= =?us-ascii?Q?b47d9q1ZF3p4hI+rBB8mbkSulYDxJe7sJSpQl0t0F0XaeZjrbloe6W2hWVL9?= =?us-ascii?Q?uxe13jaIUA89wkgSt1kwaYOecT5nF1X1vzKPnyty10VgEG9qQ9ATInQ5FM/P?= =?us-ascii?Q?zN24rJbv7Wd/XEfSJrTf96H2zg+JU7y4x/3vLGBM9lSTZtxaJ/IlRkvUeVdE?= =?us-ascii?Q?rXniF7+4mdHBsMcdg9jJWJB5ANFMsuL/3omO7d3pBICKWcbSeckwpwYRgANk?= =?us-ascii?Q?+ODmAXosMeVTwT0+dsQ8MafOMuIN2HBV/+Oa9XL1P+2lhbyQvtXzTerchVne?= =?us-ascii?Q?HHV760cfZxDIJSlVaO7E0p182fjWEfvsFwD6TrgDC/XXy9hZUXZKlOCfI+nz?= =?us-ascii?Q?3ur0CbryEiGBRbKPNYXfajqSp4JeDTxiEFly9LgDFSQJ06+bBhYZ10Vzrupg?= =?us-ascii?Q?O7whO3xiLO9e+JjmEikOhob/vMS3NtzVrPT2HoN8qHnBCmhRps9YjowglXcL?= =?us-ascii?Q?y+J8u2pbLgHqA4wIWvfma72zLafA0B6vnWbTDwk2b8OOJbrWePk+p5yFcq3U?= =?us-ascii?Q?okzlPAimmtTl3PJpTZ68j6gQAxwKqWZgmdC0sYjJ+u7szHCgRQKhHxBJjw3g?= =?us-ascii?Q?pd05Xebk3WVw9NNr59uAjxq9aCgDO8A2kj5ehLFIk0Pn/DCY1dQv+FLKuXD0?= =?us-ascii?Q?Nvl+7NiLdRv+TW/DZElsoQWUg2gdrhGlyS1JEhn49WXHDwjzJ1z9NG/drYBW?= =?us-ascii?Q?gakp4CUS2Sbgsnkh7Ozh+JT0AjSGqhH9QkSu7d8mEZ2+8Nqbp4L3a6RqPV8T?= =?us-ascii?Q?sHhXUMmdmSTUTbhPhkC/FUhH0q1+hQeeUuxWAy/kLksDBMTuR/UdljLJ6BNu?= =?us-ascii?Q?1yaMUaW1CmlDmgvhbfjNoyS7a3RlloGs5dJws5+JaQXO1ysjZVBp65dPUdZk?= =?us-ascii?Q?Dz6Jw5x1XVl8M61cnMP2DuLq80SmrGXoQ5FDZE6qt8+1d2XVErCleuj3o+xf?= =?us-ascii?Q?dMFYcmKYmumS+sycH954PBsb+Nj?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1148;5:RiPs7QciBNppt+z9Jn2vai0zpxOdI8r1WSjgp35xcpD//gqOdDInX0FQxMDC75cL2JU0096SIt6e+O8yOPCC3D/jtiEznBv6z/ujnpm8P6Z03F8HkZTszQLy7dDNYdw7/DMwN/WjhZaz91WFXbPTEw==;24:bHXuK8PORSMjpXW3VfKtoMht9VWd4ShNcTn2x9SwoWpjuFzR2GleEPre43yI869vEHyulvpW3BoRRqpGdqt/GiweRvEOe3ipcK8ydIQC3Fg=;20:JRTda/UPueNS7zvlc3HQBDE+Gkby+JRpR3lzfvKmP5s567XGrWiBiwnqKpcn+T6uUs18g24Pyeq2gbZZ6JD0CQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2015 10:58:44.9075 (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: HE1PR02MB1148 X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB0859;2:qtfZsuoQSDjli5Atvh3wgRbLBDtc/loaL4z/o65Nryr7k4DUGgj+yPLyE3MxsXrjc5XnjDrVzIp9rDQyefZbCaI9B++lDeXgQAbMWukddPaij9FxhIHWnITiihHLsgInEL3myi2L4VVxYEKMy4zYJgOlFDDcS4jk8LfFgilr7Hs=;23:B+Hucy7a6O9jvMPMxhnzzAUByX8TiPxBVcbu/vsZYmxRdmNkaJB6YS4E93rOMlMVeR0vBUUW8cWayzo0uL6BXPzBIBIbxxDKqxL06jrEOCzPtwziKLasXFRdm+Q12frNBO95IOijrqxyT9qpbwRceojk39gQxkZn3YIGGGIaiVkywsZ0BLwWtQZR10ZrGtP1 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 a603301..7266ede 100644 --- a/arch/arc/include/asm/processor.h +++ b/arch/arc/include/asm/processor.h @@ -126,7 +126,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 0c75a27..306ee4c 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