From patchwork Tue Dec 1 13:03:02 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Noam Camus X-Patchwork-Id: 550849 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 D1CA61401DE for ; Wed, 2 Dec 2015 00:12:46 +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 1a3kjd-0005qy-0p; Tue, 01 Dec 2015 13:12:45 +0000 Received: from mail-db3on0087.outbound.protection.outlook.com ([157.55.234.87] helo=emea01-db3-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1a3kgn-0001hx-G9 for linux-snps-arc@lists.infradead.org; Tue, 01 Dec 2015 13:09:51 +0000 Received: from DB4PR02CA0030.eurprd02.prod.outlook.com (10.242.174.158) by HE1PR02MB1035.eurprd02.prod.outlook.com (10.163.172.153) with Microsoft SMTP Server (TLS) id 15.1.331.20; Tue, 1 Dec 2015 13:09:25 +0000 Received: from AM1FFO11FD043.protection.gbl (2a01:111:f400:7e00::196) by DB4PR02CA0030.outlook.office365.com (2a01:111:e400:983b::30) with Microsoft SMTP Server (TLS) id 15.1.331.20 via Frontend Transport; Tue, 1 Dec 2015 13:09:25 +0000 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; 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 AM1FFO11FD043.mail.protection.outlook.com (10.174.64.232) with Microsoft SMTP Server (TLS) id 15.1.331.11 via Frontend Transport; Tue, 1 Dec 2015 13:09:24 +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; Tue, 1 Dec 2015 15:09:01 +0200 From: Noam Camus To: Subject: [PATCH v3 15/18] ARC: [plat-eznps] Use dedicated identity auxiliary register. Date: Tue, 1 Dec 2015 15:03:02 +0200 Message-ID: <1448974985-11487-16-git-send-email-noamc@ezchip.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1448974985-11487-1-git-send-email-noamc@ezchip.com> References: <1448974985-11487-1-git-send-email-noamc@ezchip.com> MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.000.1202-21974.007 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; AM1FFO11FD043; 1:FoLzJKHiWbi1Gmn5PPZ1dB2fk7WsXjQGUnMQECqzcoCVtNZy+wBL3Rv//Pp8U4MhhaNY+hNuRmwyP0HgDdGukiU4NtON4gbZRA+b10admev0YkAzOdDt7hUfEgOmc57pdoqQWtSy1hRMu7OmwrpG0J4oVgv2TuAKPbS5cue9A6eU/F2LF60uq6cDKIRgR+4b10h9pgLGmUHnMwkEqiekWvZDepRm064gk85v96XuW+M16PBXwsV5FIatXD/hDBtWpkAXKOTqvo12+xiJiD2kwK8eqc0MKpX8AZi4xq80Zej8st/aMonrc4aUHRUfEWEEWSxrFLzZXyshNkFa5GGxJDuEyoQ1en+RmlThkPRnH+0O95VXQXpHVk5S/xp3DcXZ5K1sg7w9R3F+UNTdJ6brifgXjkXO/whlRTDMoJzuR/c= X-Forefront-Antispam-Report: CIP:212.179.42.66; CTRY:IL; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(47776003)(48376002)(104016004)(5003940100001)(4001430100002)(19580405001)(33646002)(19580395003)(5008740100001)(50466002)(2351001)(49486002)(229853001)(586003)(11100500001)(106466001)(575784001)(87936001)(105606002)(36756003)(50226001)(1096002)(86362001)(92566002)(50986999)(77096005)(2950100001)(6806005)(1220700001)(76176999)(110136002)(189998001)(85426001)(5001970100001)(107886002); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR02MB1035; H:ezex10.ezchip.com; FPR:; SPF:Fail; PTR:ezmail.ezchip.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; HE1PR02MB1035; 2:jFDYkOpQ2afHA87uapok4xanEQW9M8/64+ze7B/lyPehGgUI9nzCNOSZnqNakEfelmhioEhG1fDusSSX3hNWshCw+5UhUj6//oU9gaPln1V7iIE2R37c+IaJA4fk5DymdNC5PvnI1ZtollLiaX1F2g==; 3:lYShkUcWlKmIGuElIEsm5liMBGVRHmRkaPi6UTU5gtdNxEBrBDWAacHiUGH5l3la2x4D8Eap9/ZZ8SWgJ/IQOfbudOgPjh/3Oa6kQiG0jwR6Kwlm9GYtXvmLcfNkKHYa5Xpfa1RCr/alhyEubZlG7xc2guI6ztWnBXXcaEwNB31FdVnaU57o63skmOJ1npteuAribt3gEiWIlQ8eKPeQ/KwjrUXFIj5miOom12pt56w=; 25:8bmsh4YQuO3A3CuOn9E0lFoSTi428a1rPPCWkA+R2Zpl1QH6XzuQVPvyiEWA4wVqApu9EY6yTkE5E7yiwJivtV8o8fknkD74xz94yc46cY8yL9GWbnxD/XzNxHfeTVTSHrpvVWqLg5clsFJH1i6Rz0PBHs7Ends/f0mcqZf/thniY9gjEVEACjZlI+e6z/2vex1Qxt6ZsyqShZFBUKUMEweaLOu8Nt9CIH8C1n0Q5W5n4AEA5pTxGoCPy/YoJb7BFFrJ+O546CDw1DR5/Zg0wg==; 20:d8F7l1ej8kNd77H/boHrRY+pceINohna4x6V+0k+0RuUg639GYQmoiNkOgb/IbG2kZ7BGth44ELsL8HFeiQce/uRJoR+vVodAXATyVsGn7X6/XqPKG9+egn9jo4OttRbabaz8zQD5Y50Ba6lTk/bCgyiCMiL/KcskK2cTvY30tw= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR02MB1035; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(121898900299872); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(10201501046)(3002001); SRVR:HE1PR02MB1035; BCL:0; PCL:0; RULEID:; SRVR:HE1PR02MB1035; X-Microsoft-Exchange-Diagnostics: 1; HE1PR02MB1035; 4:NKaGS+/213U49tM3Tj3zSn3XJ//Rtn98HQXth0GUYxhWLQWKScgHhtQyts4y+QIA5oPt002Yg0aHtiZN7cP1ZyX75WzeZsqlzOkl/tsxtMuh6FuN5SyQW8CVouLXqUnP+3GzSov9QLly4zQQ5RwiibsqGbudAGlXYjafb+aQh1Z/4QR8AW0qkgRuJR4WVqDwTYIs+6thT3p+srdny/1ual25Piz46YLjisPg915nfLOM32Wovw/F6d8lNziDGJfFjkcZb9MOpkpNcDrZA15+sEjC8WTrus3GJMYx9VR2TYL5GkhBNZ4WzfhbSN6QizaffXaNMSzTVW4oG/V2UCQ3otS7QJS/onmsjl6WFTT3ehBkhsfAX6LrAXoKbMI1Bd1z0eTJEqP5rHgJuXrUlhoyfNnSzbAWILnq83JFPJuB9waldRVKw6UISpZYJi856ANv X-Forefront-PRVS: 07778E4001 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR02MB1035; 23:28oCjsPZYny0OUgkY/G56jcMAV1h6/2Ciu1Ja3op4?= =?us-ascii?Q?Du1xrhOXYhoImtKoSPPfTuFCwa4fO38cX9wcKJPOlF0ChvirDH4pSyAWGxRQ?= =?us-ascii?Q?ALJBFNkqjbqapNGO4c//YaB/LtBdSieFRmpqv1+PvzGthV1Rsd+0YmhJLsTT?= =?us-ascii?Q?x0HhTlCwzgmXtePXuolnNae0ZL7p7qDIjyIBfNyuBF2CTrP65WnqQBWFXev1?= =?us-ascii?Q?hSH8yXVUu6ekgrbxGdHFjxepBULIC4VpfqDs86TIEzUWa9Bpk5YCS1MXvK74?= =?us-ascii?Q?Bqk5ByvWl/tsg2c/N8O62CSdddw4LH4wh50GySkSbDFxYE+QHANlk/VwYW+u?= =?us-ascii?Q?8jYXhhWtI6ofvSpVCNLAVfB0ACoTrWy0yd9hhVBWVEp8+TDxL5uBzjo+RHR+?= =?us-ascii?Q?yrnM1KoYBJQYNwR/FImpHps25vRsybT8YRGURnrO1HvjpEl8FmcWH0QlfYlj?= =?us-ascii?Q?FctzRefdlu1ppgZr186B0I2k/XCit+bxcB2xqFiPKgLfkOYOqAnWac2+t2+1?= =?us-ascii?Q?x5zRYrx65FELOmcc4I6BNtP/93N0TpL7hNAcE5nldPEiIJRrauGi5oe+Vlh4?= =?us-ascii?Q?lssafcGRsHyGwsEpSHGInHEyq2ZxVNva+kMqzbYMdwhutlm1H6rLV/XYgm2r?= =?us-ascii?Q?95uO8qgtKkZmcV6yZaUiArsPW2IrClRT6Rb6PkShjXjtG9OqMxHlwwLHnhDV?= =?us-ascii?Q?Gc7MO2kmCgQYMRqA/npisprVKQb86JCQUQAF7MFupH2MsrrGtSO5iTvUHnp/?= =?us-ascii?Q?x5bVmy/ROlO1HSFQBcmDxMwCRqHmjJzFITgg5TB5hnWVnoXQV8W0BMBQvFSi?= =?us-ascii?Q?Je1A5iBcm94ncUieidnx7Q3FMreDtwmsGF3Ba59lIMHO4QacFWK3qqE/DT9W?= =?us-ascii?Q?C+pEi5xMwmUrvgowSYJFzU3cfvhDia1AIDXVCzScYvsltSrJkbTATcJPk3DR?= =?us-ascii?Q?B3gej2y8uVvFp3UuBxoj3cm5zn1mFPZNpS++QO6EyE3ajRE6OVlamH8WliYy?= =?us-ascii?Q?if5wwmNXMX2oXx9M4odyfCIAeC+eqiVNI+kVup3R3lewi5EKA+GZphv1Nc9C?= =?us-ascii?Q?/XglRMUzdCNce99LHGw3KvkaZ2gua0ifWf2gyu6oRRqP2xaxlzWcUnBguAFR?= =?us-ascii?Q?b8EUr3HIME=3D?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR02MB1035; 5:kMOqR/Zc0omwW62wm+W0Z9Ftok29C478MHTHyRZPTMaNGQilpEWJKVNk6lx6H7CYFRoqgSnUGGNc5ak3A6Viyfl3ykHNXE7RnvaXXkIe+TS4RAxtfdqfc/FlvGa2kBwNA6sXvjzF+WFBlUys+gsRRg==; 24:NzF5Z9WQieiIqnn0Zu1x10zq5pJZJoUCLtq1PVrkHMD+2JGF4rL4F2dWz0ZFEjUDnw2629ZbpBYtftoVTRZ0U0RVVFOhCsBcCrxfswU5XdM= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2015 13:09:24.9660 (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: HE1PR02MB1035 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20151201_050950_170420_02C7BD24 X-CRM114-Status: UNSURE ( 6.11 ) 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.55.234.87 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [157.55.234.87 listed in wl.mailspike.net] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO 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, 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" );