From patchwork Fri Jan 21 16:30:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1582651 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JgPzB45Fsz9sCD for ; Sat, 22 Jan 2022 03:31:50 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JgPzB2y9nz3cm5 for ; Sat, 22 Jan 2022 03:31:50 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e19::629; helo=fra01-mr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01on0629.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e19::629]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JgPy02Wc9z30Qt for ; Sat, 22 Jan 2022 03:30:48 +1100 (AEDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nMBwN8hoX3KypkVrbef+L2CQLO0/SoO2Moa/z5UsuRGO96so09zCK+eLSZllz1ODMnDz7TzqQB3xc5+JPvZxX8QPmQfzqsYP8CTJmzqxS8ndTipVCn8+VDIvDp+uPyhJYktmF/X8SjKH3R6phcTivA6V/M141RYmxYsmKmEURrQIePxLO1tJyw8XP1yKwgE0JOmfvB3sBWzTJpFbJWUrnGKFb//gqSERaRRbsDN+DUVObWiq4vTJvMjxJjqHkqRRhNFvLDoljIfJt0/2LRdCYpjFuZsGxAu036Y1DKQqH57SsOTsnyF3gzABDXqgsivE/eDgmUGQ/DH9KgD0TaTLRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LqBVuTIqU1dVAeg6hBoCe/Re7DTyqbB/RfDQyeq4IY8=; b=XXjlJGjmaiCoXe8x3YASttCXga2bDMcpyWbEn/P94XpHHLXamhUzqZCmd1yuojIWrPlUTFMc50JJcdetW9jZhwUqRauLwvgy8HjOp5WdeGvR/gmsR1dHT3JT6FFzPxEgtAJK9TMB8D1lbWwiMkA6d3OXnkkWsFQnW+DYothKOtwgkW4zhqs1beFua1kI6T9Or46n9YKAk/R+YlFHOR6oUuoCddETan8xnRh7d2gPGANOnnP1uhNeqTi9Lqx6bSLZ4xlAWAeb75ebWLSXOUl78BriHqdpGgVdiy9GmWPWVYNEjQJKvrCZWw7F48tk5lBNN6RPVBizEARNpdqHLGikUg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by PR0P264MB3436.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:14b::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Fri, 21 Jan 2022 16:30:30 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::9d4f:1090:9b36:3fc5]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::9d4f:1090:9b36:3fc5%5]) with mapi id 15.20.4909.008; Fri, 21 Jan 2022 16:30:30 +0000 From: Christophe Leroy To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , "masahiroy@kernel.org" Subject: [PATCH v4 4/5] powerpc/vdso: Remove cvdso_call_time macro Thread-Topic: [PATCH v4 4/5] powerpc/vdso: Remove cvdso_call_time macro Thread-Index: AQHYDuQ06ytioK3kYkGg6cu79gegnA== Date: Fri, 21 Jan 2022 16:30:30 +0000 Message-ID: <837a260ad86fc1ce297a562c2117fd69be5f7b5c.1642782130.git.christophe.leroy@csgroup.eu> References: In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bdadc2ed-b81f-4fe2-f686-08d9dcfb5700 x-ms-traffictypediagnostic: PR0P264MB3436:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5516; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4/BiyQWQB5KJXQE98B6ryzDQmsKmhKbqfVZKNWZ2lYPz8O62A084enp4KLQI73zsCgUHasaWFSAhMRqlurZnyumfpbeUhNQzCvevK0NCAZEbOo1+2KD0s7+GfIenjWaUQ6CyY54rn5Yos1qnwrCMp6NTQqfOufhov+4dNUkqsHaW7nbKblu/uL9f9bT6xQXKLfn7xlao+22qztm53s5j245UbduBXtONJhfZgYJr9bidzbc9B54v6rHOZEJ9y3SGAit18Mb/7FrNW46uKfMyjVmbGI0xWCsznxgdibkAW6S1zWkUNE68rDYHEutGhSi/qq2z/TA8vBOwcX+FrQKdyltrupSeRP5M0NGJaPjQPPDlpHb53cbMMI2nPkqPXsssqLvZfiO1DLMmRa1ZSBqMLDRxBHt1R89JWGxU4RWpOVbDsYAdYRmQrhRqCOQ0UGm8KNfS6bvxV0OPPKhMNLlRMa58fgbdyWx0HBGldBVCPEtppdLBJB3zbJZifXyzeKtcIiOFQXIayzg3tsGuSeyOIpfbcnSkA8ZkEVmKRvRO9jLkySYbQpv2047FkIxc1u/dtIjcLgbap7EVnpytrEAFiR5Ogu+aOzcIru9XejSLk7JYuLaVLEYDZ6YCSzrZ5Vge8xgoqO1zchXIW4t8+/kdQzkJfErjYrnk5R+DjDaPRjXgsJ6FIc2xeHKmD4VqdVffScu7EKRMCsjrjVAUL3o+Dg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(4636009)(366004)(44832011)(36756003)(5660300002)(64756008)(38070700005)(6486002)(4326008)(66446008)(186003)(66476007)(66556008)(66946007)(91956017)(86362001)(6506007)(83380400001)(38100700002)(2906002)(54906003)(110136005)(122000001)(71200400001)(316002)(508600001)(6512007)(8676002)(8936002)(76116006)(26005)(2616005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?6EcOTad7SLmGtdTNInsP3hd?= =?iso-8859-1?q?NzF5CwQPJbix8HPwHG7EPiJ6uG2TydsGgM7o/p6lrYh8l7P5mB25GThzapz3?= =?iso-8859-1?q?Jo8Fwh2XOv0wOFC6T3XbdUB02ROEie2+ETLc1ub7REbvFoool27r7aJ+yCty?= =?iso-8859-1?q?1r2O5p6fVG+R8LOoo8b0E2wrjFu1jRmj2KXXcVx8rCTZBsrFNtQvRhqg7Fsh?= =?iso-8859-1?q?KGVXQebtaxVxpd7W/RmmD9snj4DgYqxVDL/jNKurDmxPelW58/vpIvu+PQ5f?= =?iso-8859-1?q?CfC+YHN+bBI5SUTcAI1DuLUp9C8jJDu/nqCuUK8gucu78yu2jawCudegTdyG?= =?iso-8859-1?q?v7yu5lM/5/gpWTOo1t4jtP8IAL5jI8Ky00VgcMfCMz9ru10OgN3p+Gs+N6q0?= =?iso-8859-1?q?GKB4OLcWbI/pqeXMoLvjZEX23PlFVrc5qDo1ddK2Q0Mg2Zn91ziEVUP3/DST?= =?iso-8859-1?q?w/HIH4Ksgt2KG1/71ot8b7o4+VRCD1lMo7DCHnCbjvvGe+20G6OXLg+4hku1?= =?iso-8859-1?q?hUx+17ajTEf1Y757mgXeuPGqwYUCCyJ9WfJr6HCg29xngqfp7tGwJZ8i9DHS?= =?iso-8859-1?q?L3LHNbbnjpeTOFlS+lnrqZgmap5oqxPCwPlE3b5hQJnSMMEup9wMg9HbJMac?= =?iso-8859-1?q?DpAQKSmB8THpbzUTMVfINy2E/03en0DNb39EqRtzCajYs3W6VK5qc6pLbS21?= =?iso-8859-1?q?BHIM5rWhoJJO8fxzcYBk7rD/iNplb4tjt94YH2Y/DAE9S/K5TG2bT4NCEz3q?= =?iso-8859-1?q?QCcC7+5QcjDpSPjARqxHnb5ka/5GX/6Ea8k3rp3C4UBDSthvT5E3gqFAMVAF?= =?iso-8859-1?q?EaqxVQeLHpMPcGSSxRzYK07ECK8LaEnS43drvYbz6XhvYE6XZ+EERT8zknpJ?= =?iso-8859-1?q?CcT5cRSvzLwHQ0bU8z29ZhpJhaDDpkgDqC49sRfslpR0pJicjHagSHLjqWdO?= =?iso-8859-1?q?XvV+PUQajhbXUak9+KxvuI7mf1dqgl7VuagyWikKd4aQ/GwRcshetCSK1EVD?= =?iso-8859-1?q?sMSdA+UIWMf/VPA7qexRK6+0wjIKo9qSK7Ljk1xiOJgaa9HNT/GGPNhsuxLG?= =?iso-8859-1?q?IEyp7oGB6QKvZYglH/uWf60N0ga58y20aFq8T/PFcP/gxVBIQzuNKZp2A5GZ?= =?iso-8859-1?q?gQ5rI6449rUP0aUnbaF4HpA0Y7Q9zvkMqNKKpbtffn3z2VNqsRcnHdD6JwkM?= =?iso-8859-1?q?8wt4N60vr0rq+QuolTXMMPBrOi8wzaSpJ883YlP/qYTwT/KumNZ1X63wO4Yd?= =?iso-8859-1?q?02JPhya6VNGHmG2QNdTOJkIdlmhxXqxbwycPK87sOzKMV55Bd62by1+WIdt0?= =?iso-8859-1?q?pyOjmqY+kSwIRmfY4edFNoF2oZ6dIEcfpR2p9Wp7aR1+eYOfPrf3Ld7UAMat?= =?iso-8859-1?q?VcMdsrSGUPx/Vl4riWZ0uBB6WlbxzOMBhYrAb6xO1c0z6yZKjbPVZQ9qFgGb?= =?iso-8859-1?q?74LMZf7/jJurSSGoThwtXcFq8vzNgv+sWYLaZf0TC4UVsyFbmx82PqXep+Td?= =?iso-8859-1?q?tFz1muiq5i7E0p1Qplz3p1VeRrnuqtpJbkkOtw7Q3JuxDSxEartthMAiV/Ui?= =?iso-8859-1?q?SwJpFcw9HLIckS8SYg99mQmFJpn7AKZkwLCs55X7IfmuiSWSCvqttSRXeGhv?= =?iso-8859-1?q?CaP3B0zBPyXjpLQdZrYA14qRcQ+GUYZSsZONMSjcMT8uNvMxL++Ms1mTD0sa?= =?iso-8859-1?q?JHyBgEe0lEC2LuZLDs4l159oFZd6/qTivBuB3S0wAUblUI1S1pYplmPhv2P4?= =?iso-8859-1?q?ahz8=3D?= MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: bdadc2ed-b81f-4fe2-f686-08d9dcfb5700 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jan 2022 16:30:30.3281 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: AbRk++NBdnkXs6gKelGS0ezonQHIu1AwumNsx3Xagsp3qY63NZHJ2VodFVCOgsCu82AN5sn6pRg72NND6luGQzmvepCFlfPVS2iDLxs2JL0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB3436 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" cvdso_call_time macro is very similar to cvdso_call macro. Add a call_time argument to cvdso_call which is 0 by default and set to 1 when using cvdso_call to call __c_kernel_time(). Return returned value as is with CR[SO] cleared when it is used for time(). Signed-off-by: Christophe Leroy --- arch/powerpc/include/asm/vdso/gettimeofday.h | 37 ++++++-------------- arch/powerpc/kernel/vdso/gettimeofday.S | 2 +- 2 files changed, 11 insertions(+), 28 deletions(-) diff --git a/arch/powerpc/include/asm/vdso/gettimeofday.h b/arch/powerpc/include/asm/vdso/gettimeofday.h index 1faff0be1111..df00e91c9a90 100644 --- a/arch/powerpc/include/asm/vdso/gettimeofday.h +++ b/arch/powerpc/include/asm/vdso/gettimeofday.h @@ -9,12 +9,12 @@ #include /* - * The macros sets two stack frames, one for the caller and one for the callee + * The macro sets two stack frames, one for the caller and one for the callee * because there are no requirement for the caller to set a stack frame when * calling VDSO so it may have omitted to set one, especially on PPC64 */ -.macro cvdso_call funct +.macro cvdso_call funct call_time=0 .cfi_startproc PPC_STLU r1, -PPC_MIN_STKFRM(r1) mflr r0 @@ -25,45 +25,28 @@ PPC_STL r2, PPC_MIN_STKFRM + STK_GOT(r1) #endif get_datapage r5 + .ifeq \call_time addi r5, r5, VDSO_DATA_OFFSET + .else + addi r4, r5, VDSO_DATA_OFFSET + .endif bl DOTSYM(\funct) PPC_LL r0, PPC_MIN_STKFRM + PPC_LR_STKOFF(r1) #ifdef __powerpc64__ PPC_LL r2, PPC_MIN_STKFRM + STK_GOT(r1) #endif + .ifeq \call_time cmpwi r3, 0 + .endif mtlr r0 .cfi_restore lr addi r1, r1, 2 * PPC_MIN_STKFRM crclr so + .ifeq \call_time beqlr+ crset so neg r3, r3 - blr - .cfi_endproc -.endm - -.macro cvdso_call_time funct - .cfi_startproc - PPC_STLU r1, -PPC_MIN_STKFRM(r1) - mflr r0 - .cfi_register lr, r0 - PPC_STLU r1, -PPC_MIN_STKFRM(r1) - PPC_STL r0, PPC_MIN_STKFRM + PPC_LR_STKOFF(r1) -#ifdef __powerpc64__ - PPC_STL r2, PPC_MIN_STKFRM + STK_GOT(r1) -#endif - get_datapage r4 - addi r4, r4, VDSO_DATA_OFFSET - bl DOTSYM(\funct) - PPC_LL r0, PPC_MIN_STKFRM + PPC_LR_STKOFF(r1) -#ifdef __powerpc64__ - PPC_LL r2, PPC_MIN_STKFRM + STK_GOT(r1) -#endif - crclr so - mtlr r0 - .cfi_restore lr - addi r1, r1, 2 * PPC_MIN_STKFRM + .endif blr .cfi_endproc .endm diff --git a/arch/powerpc/kernel/vdso/gettimeofday.S b/arch/powerpc/kernel/vdso/gettimeofday.S index c875312274aa..397f290015bc 100644 --- a/arch/powerpc/kernel/vdso/gettimeofday.S +++ b/arch/powerpc/kernel/vdso/gettimeofday.S @@ -65,7 +65,7 @@ V_FUNCTION_END(__kernel_clock_getres) * */ V_FUNCTION_BEGIN(__kernel_time) - cvdso_call_time __c_kernel_time + cvdso_call __c_kernel_time call_time=1 V_FUNCTION_END(__kernel_time) /* Routines for restoring integer registers, called by the compiler. */