From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754580AbbJaNV7 (ORCPT ); Sat, 31 Oct 2015 09:21:59 -0400 Received: from mail-am1on0077.outbound.protection.outlook.com ([157.56.112.77]:62592 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752891AbbJaNVt (ORCPT ); Sat, 31 Oct 2015 09:21:49 -0400 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 v1 15/20] ARC: [plat-eznps] Use dedicated identity auxiliary register. Date: Sat, 31 Oct 2015 15:15:22 +0200 Message-ID: <1446297327-16298-16-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-21912.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;DB3FFO11FD016;1:a/CWva2G3MHSFbal3oysY6j7pxR2G8tZlelDzyVCIf9mjquprMqpNrlXN+GFA1izp8CRjkRU4DTl8sXz9tTKD66mrOmcrsQkjEau0MdNwy/J60rgXB33BbacaMdGi5S9o9snZNAHFOeJk32Up1ytF1zj/08sYyzBELKoPxDvsyonzjvHJbLPPIGbYyMPsEkzVs8HW/q+U2SBBO0PAMXro0bpkASMegLo6EwQ+ryk1d38CVq06aSoEresXH8dVgNr4WleU15hYG5eX4ygBtPalGZc5us3PAMqb10f6oyWc5r53TAmN264MuqOpxMXDPi4Chszk5KuBzt9JG9Rld+gDG+iyN6jc4+daZCAdxZ6kyg/hnF5gZ3Yf2xXkcX323Iq55HeizyHmxw77P17qEqNGA== 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)(33646002)(50986999)(2950100001)(229853001)(19580395003)(11100500001)(110136002)(47776003)(107886002)(50226001)(104016004)(5008740100001)(2351001)(77096005)(87936001)(86362001)(48376002)(6806005)(76176999)(5003940100001)(19580405001)(5007970100001)(49486002)(5001920100001)(85426001)(92566002)(105606002)(106466001)(5001970100001)(36756003)(189998001)(50466002)(4001430100002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB4PR02MB189;H:ezex10.ezchip.com;FPR:;SPF:Fail;PTR:ezmail.ezchip.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB189;2:EuRMDK2uf7CGAKVT1Jus7qlHIWz1pqjmfaXRpm8dRt/5WaH+K6T7pMmn0YnnvcbrXCxrIBPyWzxeNgtVEmI3cWR5rv83axfxgBV8StcN0+i/SIdIImFh5rYILK9/Y4V/AHlIliJ5wcQo9qDSCJq8It0VMbk9ZeAJUOjHkV1VQdU=;3:pprMWzJ1mjgZ+M3ITJcogkb7y1Ex5lppdy+zIAdNqYHGTiw4PCNZFDX2u9OrT6GSJUhERt6DWgtsupV7faGsQ0D3nd6otUQoE2vGOOO3FSorKsZ+tUM0bQiAu+BMaBT2XJ+EbC/4xbqns6mcKlYmcRCPip8ujp0vK9CJN2G8In4Egs6NxAm4E/vKfJJuimBwOt+a1tZSaQKEYRsDgspL0fsXdDWu1bZ25rCK7YdZxfE=;25:eGVkavB0DhwvlKRcHN8xp2bViRnu6KSgrR7iVHkAomKBvLhL4EjI1Cq9UIyMxf9nyKTuIfJ6//U81sXMt7FO0Oh5tVOKI9jszRoPYIZg87cg/+2+EizNq4wKNS3/B+wMtQsQgmIQ7SeXbnaWlrMLeJUYSrCmzUvkJWl3IG0FOAX+DAqAfZOD/GWSmdL7DRIhzSazI38YwpMr76zeTUCy0FGy2sbj93FzbRy8DqZYo4eSEoUEMmM8VpIscGQrVXvSdESVFpDUCTRZMJfiwCcYvw==;20:4a8eRW/ciOLGJ0K7Udm0qNHTx3rL61PuDEwkr6e15dLGRtpU4V/eBPWt+6YXWTx5Wttw9KUjwKGuq27FKJ67nDlR8kBLUSG5tzFgS4VwmQk2n+oJgY5evhjn2CjsW0MgX3Y2pwVBCbD3DSpi8Pnw+AcDtDDF49FqsoKd6TPpmSc= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB4PR02MB189; 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)(8121501046)(520078)(3002001)(10201501046);SRVR:DB4PR02MB189;BCL:0;PCL:0;RULEID:;SRVR:DB4PR02MB189; X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB189;4:DPr7nbRc5dntCszYqpDqK7GBHYFiSyq2JS5tnVVCybH521HzXcSIJK/Z4KCJUoDsE+gSfKrcCQAJvvsaNiWHzHAUFCM0YXSn+gmCiVv1mQQ4/+Tf3sAHIBsPC0B5A4Zu1mNKtGHKM1INCA4MVrFNtUsYljQSy522+/jGa3OJUe+chbIhIKLtMQR4h8Re56mxeyiDNC5AVzP5IWWGgOYuS5/H2yMy35Bt5iFkPiaJ+rTzzXjCHDAosVhwQ24NTm8U9fXYMGYPa/W9wr4CA7NjiKRIJwaCdSmQrdKqQAWbPcDmqTeS/KZUEYDzC1XUrbak7USMZoXXMADRFRo5RoXMLrw2VurmT+UT/mWGrHCs9qxy2lfaA5D4tVbiG6PCTHR1 X-Forefront-PRVS: 07467C4D33 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB4PR02MB189;23:fnQQmXRlxclbjkOvhAlbRoOmK9e3bFmlZDU/1A0miG?= =?us-ascii?Q?qvgzmm+nO/HpI1FMrRsuYBT7+zfkVFccvNKyuhIx90/uHQ6eTJW7hqzKgPS7?= =?us-ascii?Q?XbIi+KFcqZXNhY4WVgOrU3Xukh+hONo30D1qFtKPsvEuVXbvPY8uEdMtQN3C?= =?us-ascii?Q?zUmG1OXZdeuDQEB0CO0GFkV8k1Fl97mlmxJqCm5hDHbxXLvAp+UTz/ZCUVAO?= =?us-ascii?Q?JUXw/7g5wL16BT7gbHHJdrFavXYcXiKrOU1Yg7qvZ2k4VJoxfwA9lm2j0b9P?= =?us-ascii?Q?54rkAT+/33lJKdQUxTdokiTNN0GRLlHWLD6CePgzJDeqvNoGZR1OXA20DwDU?= =?us-ascii?Q?tooMBs2qCJIxU25jYtpBjjVxUBVGWDPBPzZr6zu6NVr5dtRS3NvDc2kvhffx?= =?us-ascii?Q?3ZKLk0RoqbH5QywC+O5AEOGNn7YzS1UzNgZGkrEy6hh9CO9AtbSH/3jnZBw/?= =?us-ascii?Q?taJTBGr0y0as5c6mVwvhqvGqtP1QLO+GQ5ViPXruIiW0rAkbaOHg66d4iN6M?= =?us-ascii?Q?0acXPFQEIqd/DW9akB23aQEcdRvB7v/TdcpWl0GQcaLkE3iE85AdFxI8Jb6g?= =?us-ascii?Q?H5Iv0W7/g7XTQDh+QxzY9aYyEF3mK04eVW4K5WE8cb4etJd8LyZRZn/OQigW?= =?us-ascii?Q?Q5GzzLxBVvtgr28x3cBfssBxTmwFLbkMimRSVbxhQNkIOzOaMN2JDJsf3uM/?= =?us-ascii?Q?KfoeV1K+cfsbNJ5uEn7+jwgg4E6oUQcxRcbF02lDqDclriFmYA1Q/CG5CHRS?= =?us-ascii?Q?kUDU8MU+xEERwkqljaICVzz/OlEfGZx9vARQ85d07auEO8jkRp5jVGBEwjrG?= =?us-ascii?Q?uDLLZssRai7g/miLe29wC3SqOSKb/cRMHvz+FxECyCE7OmYVSTLwAapqjDmI?= =?us-ascii?Q?KIWqEp+zTSM5iTkinZjN2YvR2zM0HVJbKAivpiV9T2QqTUE+gt5QljXbniKd?= =?us-ascii?Q?39/ptoJNX5nsYZcE1n1IirlkZz8vdREDo5SRgzdCuDQEf+GtV+K2cJDeVoBb?= =?us-ascii?Q?FFAYjFX4j+l+9GXQk0qE2p/nIoY8OoSHeJKyetxM/oMkVDtgpCUNw9aSE0Ft?= =?us-ascii?Q?sL7Do9u04hNU1aS83Vvww6abZiX8obXZkNk6eFxIXH85eQoQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB189;5:bTcjAmEa4YmWHjNvc0BWtErXH/midbJ0bGh5S17m6N5PzVA08smlNmpF39DaURo1LA/uBITRXAqqu1Z5Z28jchiER3qwGxYjgEchuWEO5R+fsdhCdIFnzMPviuONib1KYb3eXuc/c947MeqbJ1qXxQ==;24:yuLw8MYdcZCmuWXiOENKTrkTav4jbdKGrB7nxOjVW8r6fY9kjzZSbtrBi8ctv9dnLFFRgeGbW1BFIEVw6GAJ52tWZVbBYl7zD4h+XvMsQLU=;20:n3/bD07xZZpcQNnRAE2BHUm+8o+Gppj+FSy5vrNxUunoAnvC7edBZ0328y07ZihrGuciR1trLHf94dZ4jVmzLQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2015 13:21:46.2332 (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: DB4PR02MB189 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.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 c14a5be..92e2e82 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) @@ -69,9 +72,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 @@ -109,6 +119,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