Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755063AbbL0Nb0 (ORCPT ); Sun, 27 Dec 2015 08:31:26 -0500 Received: from mail-db3on0087.outbound.protection.outlook.com ([157.55.234.87]:5529 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754424AbbL0NbY (ORCPT ); Sun, 27 Dec 2015 08:31:24 -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 v5 17/20] ARC: [plat-eznps] Use dedicated identity auxiliary register. Date: Sun, 27 Dec 2015 15:23:36 +0200 Message-ID: <1451222619-3610-18-git-send-email-noamc@ezchip.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1451222619-3610-1-git-send-email-noamc@ezchip.com> References: <1451222619-3610-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-22026.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;DB3FFO11FD015;1:aKNBoo5p53+TAQ7mMSD//OWujbNkAMc+g1UYKkN+ZGW9FvfJ71ZoRmNjk1umwZ/sry8Bwd8OLIfmORmMGbJ/OPRY4FP8ttT6cCHoyeUlD7TAsJibCsOmtkwzbOsntrUzcz3+r86Q7B5CcEYxFAAIjSk277XQd/d9THwlo838qFXrifZMmBkFAHcDRfugt+UQ+knzezgRh4VWy9bOgfTlREp7bFufWN051Q5QxUKPDM2JtWwsGKwO7PUE76dJmaknfWBYgozWMaSURIe3rzkOAgcGrsY5OQyfsWUes+waXWidDm4UpqMpYZVH4Ytkih7MLyhDZINkwlyPaTinqH2v+82VtEqLjWCJsdJD0X5sJS5rKfIJFIsa1ds0iLRpm4kxamrmEtoW5rJidINfsnLQ4NNWEV9VM7Z6Rwwsnrm4cgA= 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)(36756003)(48376002)(2351001)(106466001)(77096005)(5001970100001)(50466002)(50226001)(105606002)(4001430100002)(229853001)(110136002)(189998001)(1096002)(85426001)(107886002)(19580405001)(1220700001)(92566002)(5003940100001)(19580395003)(47776003)(2950100001)(6806005)(87936001)(586003)(33646002)(5008740100001)(11100500001)(49486002)(76176999)(86362001)(575784001)(50986999)(104016004);DIR:OUT;SFP:1101;SCL:1;SRVR:HE1PR02MB1227;H:ezex10.ezchip.com;FPR:;SPF:Fail;PTR:ezmail.ezchip.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1227;2:MNNzGVL9ELgE0so7fyHy9PNDik8Anxst6TWXlwyXXafDiBx/8jEGb+xlqLixbxzOOV35Klp0WNJw8N176pAdhdlrI51HBpGuLaViGJCgXbAw9UZQ/0bbYDHzOWgEap3VZ7EgokOBqKGjsNejDgDYxg==;3:v1yqjufy9sJBph+YaF3+AzsWvVDMm5rpjfKD7zZg8xJ6vSnuSafoqhivd3RzSeHHw5f1HQ32h+JDcEo38cFPsTx0HroxwyxK2NIR9/GmB/JQgViZqP3zYOrAsiVG/mWxBFEO8tBQ9N/e3+B3s13hd3Bn/3fee9ng5ezxh6DfF9TkRB9IIMFGybpmqiE/jYGxbbnHGp7d3k6YKR8ZTezVKn/lOwVRuJJnkUahDGcPoi0=;25:Y8UVD4h/SbP/MenploLLRGgqiCLNjlSte1gCeBQzfwbiANduID+9TU/ZvBnDo+KTL0CPfY00JueuGoOXvEFqvQoZjYpLwldg7qKC/OqmAKCo9ICmZ1v1osoogdZRm2h8cmTZ80jwWtMRAPnBODzUIO8OTeSUIJoWt+xSzSiuMURTivm2hsiUGlTQ24A7w45bBnjjwAX/62Z8RVMv5pSVpVTystwhCPzSQL8EzQsMkM2w3QV3/6KU6+Jl8MoSeaY1pjIVHFutUpc5OE4JLE7wxg==;20:3WQbDGxaGe8OkXvCtkU/pJz19EgYu34YKujBpAVCIY0VNsiVEcU8G4xZ16iHwEtJoW2m0CqvJI3jY4rTJNgEMZ2rWxT82G3SQPHEmLL90AhsyHYCoDDjC+cSNjtWE45jhmbcWoB0gy8GEDurNNrkoOzlx6elAPoEr/ZVNMXfI24= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR02MB1227; 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)(10201501046)(3002001);SRVR:HE1PR02MB1227;BCL:0;PCL:0;RULEID:;SRVR:HE1PR02MB1227; X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1227;4:KxJMaE/+ufoAT9yXIaaIlcJjSFejR1CXrN3O+NyCNcghfHyT1+vKvxfHYM8acLKBdUrqVz6eCpGGvSn5mzRMkHy5ryAUbRRolFw+6+tI8WO5SCKAGDB18kYkpzxUUBBRzoYk5et/EqScEJ/UQ34NRq3z+qYfw7BAxMQIahrwjUreZ6wj4eoa2rwp0I13ESqY7UYFQvkUkiMv0l3N9Ipsl6uQYfd3+1305+mnTtomD7nChXD462U8UJFl82rZiupU+DW7FWRU8nvTEr0zf/OiQu/udHs7bVMRaeP6WqBKCzsq3RQJgBn3PHF8EkBzJHULXONDuTxqavqpTTyRjir8MUkuYve0bhR4MNYoW2A+8vs1xLgb/qbdLQGCFp9+KdJMymSzK7RR0kzHk4Zd8danMhfzcIPCSmyEaf9mdzYZE8DlFllUrP7TBgdyuDF58uD3 X-Forefront-PRVS: 0803A0241F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR02MB1227;23:XpvenbX37sSVuQpTmDaC7+jcV9oRMxKOvlP0WillR?= =?us-ascii?Q?Z65DiL3eW8gbUKT3sg7XwzchiSKfjKiuHt2XksDn8YrTbJmgBEIicnHrotiV?= =?us-ascii?Q?MOYlfUWgvk98DUWc0tR9S9f9j5DFOvQPeERNyfkIiobGAUXCDlW1JOBC7AeK?= =?us-ascii?Q?av2jP+VM1Q6/+5KI79DwQNdgpasm7dO0qMY2rThYOG1hsr8vvFY4xaDL4LtF?= =?us-ascii?Q?E9KGXiHtBATJuBeqaUITXgHngW+1Ye+oCn17AVELf+MovYBo5ppbVmA1rl2F?= =?us-ascii?Q?R/iO5QwmI+YLO2LuiSTqPUzfS7LkkpGWiaG6l3BxXvKPqxBL5KxR5EYw+yVa?= =?us-ascii?Q?KZakuIq0x0CRhTO2uoRzPdonHFUPxMAiZ6DB4xhKxLAHXtTmAsv4LwlHQqio?= =?us-ascii?Q?T8NMUZ66YpA07uItxaBWA2U6J0aNs2LgI9tYwGVQs4XB8X6W1QG9EM5+Qo25?= =?us-ascii?Q?rzRyZlgPZAXRzNs+ogpBuydfxrDhRSw1twXG1Du6iw/8wSuGNLur/QcmHFbz?= =?us-ascii?Q?LTCRAjOfyv3hEH65DbXSnWeSmDJw5yNdDbY1JBLv/YlJ43H8Byrv51x0U7si?= =?us-ascii?Q?NW4bvt78+jnOEybJQzajACS8NizHyQ0mNPm/4XOxksWycJLL/JjeZkn9uJUs?= =?us-ascii?Q?OwUf3GzidQMWbLJiY6ZNzJFHMGRGMy6aUi39kKj6y/4HV6orlfTR1PJ4iHiM?= =?us-ascii?Q?PDZVn4Fr6G98Qp7m2497dCfQ8MUG3+qqMuFF2Trz3ano2ZsDfrjtQBp7prgA?= =?us-ascii?Q?Y4dXaPkBLNAThIEhHuaLBu3Qf2ntksQuU7tRBIBKHVLa2o0ZAWFldCJpWLqD?= =?us-ascii?Q?hBVsRcG85n93bUnzoOoMGbRSmZUDgRrXNqaezUPb03PjPQmZAWkcRJeP7pHC?= =?us-ascii?Q?zbeX3RpPC6bfhHVLjCYapVUcaSyff6qbJvzPAuRT9sTqGtSWFesS/KY5uK44?= =?us-ascii?Q?TFcVcDs59bLxZQGU45xZZ2MgygtrVSAvbUQo9eB4JeESwBm/b9AwPUiU97G1?= =?us-ascii?Q?to7hwrWRop8MlnYeoxQ1bW3sjZp72+Lkw6pdj4EazOgwVCuzCfloYOFb5i1q?= =?us-ascii?Q?vTqIwYx8mF3X2hGvU3g53GJHSO7EUbb7clSXaqdQMzzRf5OQZabjcRr13J8B?= =?us-ascii?Q?g9b/LU9+ls=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1227;5:8/kEhATTvlse/il1nps1BsB/vxRCnSY/dBHuao8HAg0SF/o5lrH4LOsFvb3Nay6vPTkbTHRod/gGW3QIam1m6OMCSmHmY69fDAV+lGbX1xWzViHPFayUN2fpGRRXQlUtBSe0BsCOp6c/Zhezi/IXrg==;24:Ij/x0TFhvNWDZYHXZlFqAuBdDJOIGEf5gTe6cG2DaGmuyAGaYxDUSLwL0n6QzrcI2nyY8nn7RzeFOWonjA4kBArAHsRU6alK/EbLQqlVbIY= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Dec 2015 13:31:20.9120 (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: HE1PR02MB1227 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/