From patchwork Wed Dec 16 01:10:35 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Noam Camus X-Patchwork-Id: 557269 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2001:1868:205::9]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4AA361402BF for ; Wed, 16 Dec 2015 12:16:26 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1a90hc-0002Ur-PN; Wed, 16 Dec 2015 01:16:24 +0000 Received: from mail-am1on0066.outbound.protection.outlook.com ([157.56.112.66] helo=emea01-am1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1a90ha-0002Pb-1u for linux-snps-arc@lists.infradead.org; Wed, 16 Dec 2015 01:16:23 +0000 Received: from HE1PR02CA0038.eurprd02.prod.outlook.com (10.162.33.48) by DB5PR02MB1208.eurprd02.prod.outlook.com (10.162.163.30) with Microsoft SMTP Server (TLS) id 15.1.355.16; Wed, 16 Dec 2015 01:15:59 +0000 Received: from DB3FFO11FD054.protection.gbl (2a01:111:f400:7e04::190) by HE1PR02CA0038.outlook.office365.com (2a01:111:e400:5149::48) with Microsoft SMTP Server (TLS) id 15.1.355.16 via Frontend Transport; Wed, 16 Dec 2015 01:15:59 +0000 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; Received-SPF: Fail (protection.outlook.com: domain of ezchip.com does not designate 212.179.42.66 as permitted sender) receiver=protection.outlook.com; client-ip=212.179.42.66; helo=ezex10.ezchip.com; Received: from ezex10.ezchip.com (212.179.42.66) by DB3FFO11FD054.mail.protection.outlook.com (10.47.217.126) with Microsoft SMTP Server (TLS) id 15.1.346.13 via Frontend Transport; Wed, 16 Dec 2015 01:15:58 +0000 Received: from localhost.localdomain (10.1.3.132) by ezex10.ezchip.com (10.1.1.4) with Microsoft SMTP Server (TLS) id 14.3.224.2; Wed, 16 Dec 2015 03:15:34 +0200 From: Noam Camus To: Subject: [PATCH v4 16/19] ARC: [plat-eznps] Use dedicated identity auxiliary register. Date: Wed, 16 Dec 2015 03:10:35 +0200 Message-ID: <1450228238-4499-17-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 X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.000.1202-22004.003 X-TM-AS-Result: No--4.341100-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; DB3FFO11FD054; 1:MNY/5Axvl5Yg0NksD0lWLDpZkqSJnjK7HuXQG8Wq6x4RRdv1Bb5mMkl7uP7yGczpwYljRjNjPeiLaNSt3FKuLtWmeJ/SB22VnLfKr9Xi3IukaOzWRbH1jOdQeQSocFFsI+VDQbOCpUPmxxtvtncF04nQa3ClFt7f2TGSKuiCtjFbEUzbJ7WqJyEbWQCufZ0dKfPDYnxMye3Pr5/lX/u0jJFVx3prA0L3MB6Yt2G6Zgxfxr9KMLgOBVc/UpdSMEfkhiWGa0FZfkGaWpsDsZnNcoEKC0bQdAON8/hnXzNln6M3OtkXykiPnO45/7y9v7okUpx8uFVmOHHCVgOfbIuF6zG6GU2wEEluVwUilvwO3WhAPjUIE07HpYVlb3fLtuUsSho+GExQxIQFjuJ1PsKvFA== X-Forefront-Antispam-Report: CIP:212.179.42.66; CTRY:IL; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(50226001)(19580395003)(49486002)(92566002)(2950100001)(77096005)(19580405001)(86362001)(575784001)(5003940100001)(85426001)(586003)(87936001)(1096002)(47776003)(36756003)(229853001)(105606002)(104016004)(5001970100001)(106466001)(50466002)(107886002)(5008740100001)(4001430100002)(48376002)(110136002)(50986999)(33646002)(76176999)(1220700001)(189998001)(6806005)(11100500001)(2351001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB5PR02MB1208; H:ezex10.ezchip.com; FPR:; SPF:Fail; PTR:ezmail.ezchip.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; DB5PR02MB1208; 2:lE+AFwgq9Tzpgf8QLaU6yDj+wGOBTHVUM93Z5wxKCxQFnX0ifTC0bymUj4u11TDHM+4cZ7yZdQ9t1GFagZALALk1W36zXcZaDHQuUHKh3P+0eXxXdX4HTBGRI7Jbs7lEbXLuntf/i7yRfVgttysJ0A==; 3:qfNisfpYKCZ47JA29Nk+U1SAevDhNMPRAaocOOdZjTS1L8wKT1g2ARED9tG3AVtBgHDo5RvVSr7rbue6Oz+/5voc6kP58qrt/30frgtXYLvTY1hj067Z5VD6Uf1mVwLfQwQkWcPUvpEg/EVOwCm8NJYvABEiTY0SMi/w/U3tt8i8HNJu/lLSdrwhroiAttp+uW1doZal9DihNjvoNXX2fvIZ2AaQT3aL7EN5Vo4zmz4=; 25:ciRAYOGxe2QPOUZDyZWL7JQLljTdOhbSE8lifCaXvZTDC1tImHzyR6NSCcRKKXUkxM1F5J+Mxl3QzM+h9FhexG/M+d5pc9Hfv4JBRlkolwlXdAufXwe38pUtO0qY/vPRQtQbQwtt7mxyzJQNIWsnUzCZMsMSqRzLoTyb/IYSHVhv25TS/XCJw86zYWY/sQxiaTAuwGYeRE8UEjW5/SSNn0K9/f+cwmwPgWdF0Fb6QUVb/8sWU9bygmd62FewLqDhJUqi5gxcHJGslQxExGoWXA==; 20:gp7YHE8Jivckcl9hb/vY5sBhh/amFcg7Ycw4I/wh2tuCBveWhayPUiNXXNmsWdhb9ioG7vGshdt1eafrbBq91UQ1RVN/kK/HZH6WU8aLXjw1ECs07725PyL01nLrJZsLdD8oxI5endgry9Wt39WkEYVEhtGpZsWaF6QAFvbIk7M= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB5PR02MB1208; 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)(3002001)(10201501046); SRVR:DB5PR02MB1208; BCL:0; PCL:0; RULEID:; SRVR:DB5PR02MB1208; X-Microsoft-Exchange-Diagnostics: 1; DB5PR02MB1208; 4:X8ZNdZ8o3uNLorV1vqHhKLp3lrhRPkDRS1eorQVuAzbIFL+Kzgfzwclss8KPMD4neknCnfPfgOdF+d3HaM9rDGmIB2T/dNKwJblQmfrDvD8gvwp5FkKILuU6ICSSRGG/R0FtGgFhGF7CnWkvcKXUoHaff5IuxEb1/X3UGCGAWX6rQaFhHyxb9et7eM22PMpDhknpCA+p0MEnVT/8a/WxPQL96GHsY+QA8ZiejijO49vZzW9xRSZsQXflRT6C6zehxdHLXdVlW6al0nlRRrQPjzpsPE5G0NK6pbQRo0J69f0m4XItrI3n7F79seVb77hNJNKah+3wb0r3qIE/wsrbtc6JtMO0P95c4Zdzvc3f6GKQb8RI/STcRtQHQ6fFMlSIVW586tYbjjksW0qzhNp5afWKr+brWFMhR1KSz4Fpj87EhYcKpIUSP5v+8CdG9eiZ X-Forefront-PRVS: 0792DBEAD0 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB5PR02MB1208; 23:xqa9XotZZK2kSBPooIqj+FSDJ+tAuOEGLH/P1SjvY?= =?us-ascii?Q?JBrVB2r92PnuKsgcUaSkXMkRWZOkKOu9YG0kuvlC9lH34h0RXYJN0QEm/OUT?= =?us-ascii?Q?Rgf2NjUbdDeKNX7D2LSwuh/YlUsuPEi6PyJZGZIX2mhal7ui8GbMpk3TugdD?= =?us-ascii?Q?AdrXhby86AHHiZhFT2O6BF0l5fKOR9i2qBteylrlkp60RWnkD7eU4grTpBAv?= =?us-ascii?Q?RKSZ1UBrpVi/kpdP8HWq1Ag6aB8a73umsKekfI/7W8F2YvJhSf8rvoXCXgIT?= =?us-ascii?Q?WFA5Je+ZHsJ1/qaYFTcyrzkibhxtLLWbxtNiRblAheLLmVgb6CdqjHUeaSn1?= =?us-ascii?Q?6AWQ7I8KZ9ohBlLqWvwSuzhk92t0+MM/AbLzDru6tyzfJz2wDVtCmQxMWKnH?= =?us-ascii?Q?9ITHZWjxMKgKvW755+Co8MqGH3d1B9N9SVP0/jUhuBPYd2ku9F2NJKfte2Zi?= =?us-ascii?Q?gv3kl2VuRuvBHfOb8unRNyGQ124/19VLOemGQS6bMn85NUwJLqjTlotduBOV?= =?us-ascii?Q?NlIrkJi9C/XjsdOXKBgdxF4K6X46O8PvBFHd58kUtS/grHEDsowYqx9cwlPB?= =?us-ascii?Q?ZPwct41tCuhtwQ0ndab9od5KnE0yxrEAxnj9Lkh1xQZRvCdjJ/bTK9PFRNlT?= =?us-ascii?Q?s9TMUQ/ODU8nUd5rJxf1seZlgCDN+Ck8UJsqy2ja22MyYBEQ9Lam9Ci9a+ia?= =?us-ascii?Q?kjV/gOfjRf2H+aa6TzIPbL7wWGEU6wML5OyPCXinECT7YhRdakXaUF9yzgpS?= =?us-ascii?Q?3Wp3pfpiEo9NZy9x0PUJVH1F4M2szDHX0URYvses3cdQUZAIeFoRC4k+1tUI?= =?us-ascii?Q?0OCEHcTRZW3zz0EGxYEYz+tlc9v9AKvt6wx7ctLAgzGD40hntDTVWjv6WYc1?= =?us-ascii?Q?3nAcROSJPC2Og3hjGympsp+7FN4IdJAwbfJGiEzDlk0IB4qoWB9NRH8nXGYj?= =?us-ascii?Q?d0H3dLizcq4TfmWi3iLDCmwlhfrojIuJrBndF5Fuv7J0AmmzgNqN8SiCH+n0?= =?us-ascii?Q?BDHyGYNmEj4ENKS2GkkIrjouU8DxCZL+jz67XSC1FLSZPYOn0iEa16bN8F8l?= =?us-ascii?Q?AqWg/Efc9zUKiU3mg+4GiH/m3q2uJqXow3FPFypZa9jh9PGmWo5Fwkp6VDlA?= =?us-ascii?Q?Sgceq1vzOg=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB5PR02MB1208; 5:u8fPSa+0kxlpfTUeIXr32kq3xk+QNLKWQPqyHKi/GsBZrSofyPwnoV4CA4pBMnOMVeLvf7kK0TBIDIISAoJL3NGYkKXTc1jP+iZUYkMK2qcUIFuBvTsEyJWDp6uiYCUM8k4ReRreSrXT/HhKGOxokg==; 24:02BoYpMPJW2Z8qV7FUhpgQUcECJfJgOuRGe8mUI7zEMKvc4qL4Zn5eACymKsFRmKrv31A+mJBfKlFZcscuqD+6rNwwK1WvAQgmIs+PLpAvo= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2015 01:15:58.6831 (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: DB5PR02MB1208 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20151215_171622_666102_9B4D9D11 X-CRM114-Status: UNSURE ( 6.43 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.4.0 on bombadil.infradead.org summary: Content analysis details: (-1.9 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [157.56.112.66 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [157.56.112.66 listed in wl.mailspike.net] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-BeenThere: linux-snps-arc@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Linux on Synopsys ARC Processors List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: cmetcalf@ezchip.com, daniel.lezcano@linaro.org, Noam Camus , linux-kernel@vger.kernel.org Sender: "linux-snps-arc" Errors-To: linux-snps-arc-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org From: Noam Camus With generic "identity" num of CPUs is limited to 256 (8 bit). We use our alternative AUX register GLOBAL_ID (12 bit). Now we can support up to 4096 CPUs. Signed-off-by: Noam Camus --- arch/arc/include/asm/entry-compact.h | 8 ++++++++ arch/arc/kernel/ctx_sw.c | 13 +++++++++++++ 2 files changed, 21 insertions(+), 0 deletions(-) diff --git a/arch/arc/include/asm/entry-compact.h b/arch/arc/include/asm/entry-compact.h index 1aff3be..bf9a6a1 100644 --- a/arch/arc/include/asm/entry-compact.h +++ b/arch/arc/include/asm/entry-compact.h @@ -35,6 +35,7 @@ #include #include #include /* For THREAD_SIZE */ +#include /*-------------------------------------------------------------- * Switch to Kernel Mode stack if SP points to User Mode stack @@ -298,9 +299,16 @@ /* Get CPU-ID of this core */ .macro GET_CPU_ID reg +#ifdef CONFIG_ARC_PLAT_EZNPS + lr \reg, [CTOP_AUX_LOGIC_GLOBAL_ID] +#ifndef CONFIG_EZNPS_MTM_EXT + lsr \reg, \reg, 4 +#endif +#else lr \reg, [identity] lsr \reg, \reg, 8 bmsk \reg, \reg, 7 +#endif .endm #endif /* __ASM_ARC_ENTRY_COMPACT_H */ diff --git a/arch/arc/kernel/ctx_sw.c b/arch/arc/kernel/ctx_sw.c index 5d446df..6f4cb0d 100644 --- a/arch/arc/kernel/ctx_sw.c +++ b/arch/arc/kernel/ctx_sw.c @@ -16,6 +16,9 @@ #include #include +#ifdef CONFIG_ARC_PLAT_EZNPS +#include +#endif #define KSP_WORD_OFF ((TASK_THREAD + THREAD_KSP) / 4) @@ -67,9 +70,16 @@ __switch_to(struct task_struct *prev_task, struct task_struct *next_task) #ifndef CONFIG_SMP "st %2, [@_current_task] \n\t" #else +#ifdef CONFIG_ARC_PLAT_EZNPS + "lr r24, [%4] \n\t" +#ifndef CONFIG_EZNPS_MTM_EXT + "lsr r24, r24, 4 \n\t" +#endif +#else "lr r24, [identity] \n\t" "lsr r24, r24, 8 \n\t" "bmsk r24, r24, 7 \n\t" +#endif "add2 r24, @_current_task, r24 \n\t" "st %2, [r24] \n\t" #endif @@ -107,6 +117,9 @@ __switch_to(struct task_struct *prev_task, struct task_struct *next_task) : "=r"(tmp) : "n"(KSP_WORD_OFF), "r"(next), "r"(prev) +#ifdef CONFIG_ARC_PLAT_EZNPS + , "i"(CTOP_AUX_LOGIC_GLOBAL_ID) +#endif : "blink" );