Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756550AbbLANJe (ORCPT ); Tue, 1 Dec 2015 08:09:34 -0500 Received: from mail-db3on0089.outbound.protection.outlook.com ([157.55.234.89]:51446 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754256AbbLANJ3 (ORCPT ); Tue, 1 Dec 2015 08:09:29 -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 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 Content-Type: text/plain 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 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2553 Lines: 90 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" ); -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/