From patchwork Wed Aug 17 11:46:36 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 660077 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3sDnZB2Tkkz9rxm for ; Wed, 17 Aug 2016 21:49:06 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b=BbUuWd+7; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-type; q=dns; s=default; b=QVeeu 45QnY082BujaJc9KZIkKDUSxp6fb//CoqMs/AsAQuflo4qnyPUTPmLKONjG92LV7 4KSZwE0/o3OBFAUgLmDJWx3c2iSonWKxRHajpcE716LpG/zcLZ26fwcmkDRHIwbE JH9MNTJwlO0ckkfwqcbB9EGcneUnZFKzhs76IA= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-type; s=default; bh=6H3mGx5bXAH szTgBHJsrHV7ks9c=; b=BbUuWd+7iPS4i9JEOsknPsE3qpqDm9yMqRRrZ7hi8ox w0s3j1e8yNG29JHzjTKwVCVgwCxdL2ZU+Snaxjso54wHlLdu4JOmZeeL2qO7Muh9 8o7jO50poj7DISdYUnXiyneO/011URfUjcbGSxY17d5Wkxx5irNgCipArdeEr6LY = Received: (qmail 110329 invoked by alias); 17 Aug 2016 11:48:51 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 110221 invoked by uid 89); 17 Aug 2016 11:48:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL, BAYES_00, KAM_MANYTO, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=no version=3.3.2 spammy=FORCE, Wrappers, 28, 7, H*M:git X-HELO: NAM02-CY1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; From: Yury Norov To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 11/18] arm64: ilp32: share aarch32 syscall handlers Date: Wed, 17 Aug 2016 14:46:36 +0300 Message-ID: <1471434403-25291-12-git-send-email-ynorov@caviumnetworks.com> In-Reply-To: <1471434403-25291-1-git-send-email-ynorov@caviumnetworks.com> References: <1471434403-25291-1-git-send-email-ynorov@caviumnetworks.com> MIME-Version: 1.0 X-ClientProxiedBy: AM3PR03CA013.eurprd03.prod.outlook.com (10.141.191.141) To DM3PR07MB2250.namprd07.prod.outlook.com (10.164.33.148) X-MS-Office365-Filtering-Correlation-Id: 4887dba4-d2ea-4cf3-8702-08d3c6946d38 X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 2:YuQ7ckMm+elj2HwVvKfyZknV5YWChA2ZX+jJ14payMjPATs8P+2On0viLCaHbH4VJfhmxcTII4FjUc6HzpmzSWhSRFULVVkXn1NRvNMuPRxIkuBtPFJ8+v509VsMLnNh9yyctQ5g04dihecqkjrZHgJRhrMjG76ENcfTeKVWWhyzdL3A4kiHaDd7pDjiqfDG; 3:XgKaNb+V5fX2sJ3P5xaHuKDnOUeQBsM0C+8K20mgDjupQJMMsVdW5hcN23rX1LVpHacezu2dvsET0eKjdhLioLaiKNAuKuqk+TogAreb78VOXN5uA9NJO7QNa9WB3nT/ X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM3PR07MB2250; X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 25:aEvrVcApR02t4baveWPiRJU/eTWM9bwZ0PAK72SuErBsA2WDRgzgdSlVvE5KUQq1bup+zLeEeXBkhHC5T0OIT7j4TULwLr0jRW1jI3U1LIvRaf9eY4K4O9+H/zIO+Z8jspxq+QJWcB6KMTVqdS8ZeVC5rV6Intd5fHEkdrepyaVLdhrrqwqA1vXbETxTS/rA2FYw0P0Eif+XtrL9xLmbjE98aYs8LQd9mqrIpmHX6jGfyTr0p6t9LEUSjVjANVvtlKgrti0CFrN/MkFwlaQIvqQy61RsEPTIzZpm6Tq4mhtStYfu9rOeBk1fIXQ76zY+8UzXW7x5Vx8hoMCs4dmDwcfX2GPBr0jQ/xcZBQ87vZRlzYwGhwB5mWpwv+L/F/h9rGBBa55EpBgfBpzJhPUQRXL7/kni41SUw6QrqIYwyXGEZvuoN+W6D8u5Wg3Ilt44jVN16yXi3qAY6rMrt4KJ7kyQ6z8JMzTrkg3a2I1O50QQmd9mAxk9d0hlcrCDz2r2EE721NBZ9ffsqY86mtQvA77A/oalDevgrLth1uucalIm/Bi+OGU5k+zmB2Em2kkMZdXDd8Z3EnmW1qYeuzcL58lsc4HI+fIKvoUobdNlNfx/63yyFAF/tkGLcE9XrR/zrng4cd150DQ5xDxNtcqQYe93R04JtLOzt38mPfoULnjLM6wJAi3lgrB07CFVhsHrexp8yOLne+XwardExdwfj7umSQNepLaDI6mEhz2Y5IrF8ABOJQ/UMYEluEknfnX9adUW3annvhEo3GiqTHz2x3iW5M95P0mAi1ELmqDXQNLzEFjRonWzBSQo+KUHRx3wiMWOA2G/oZeoUQA7kH6E94ailvQ/dI9voAjcgEgzQJI= X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 31:Ok+VlGpBJjZx1lmGUCnkQCVQAm5uQN3gpgylnigBF+TzDzOg4Y+lVl+tRqlmASO/gSa8KIL0MLcea47C5e5RYVBdNVm5weuBbZQDDgi7mcwufmgMdDOdqqMKFq9nAaPq8W3RGzjH4IJcfEZlztai7AcvzrizEYDZoyR/3fAG+LAsO2hMHXuher37duCXWWGfDuHowBlNRjYlSYTXmDVkQk3vJ+0XI0rPI5Q7JTs+GsE=; 20:gb+KpONwub7PfheWGPL9bt0sBfx25C9pakYSdWID609a4XdpObzlhGsPjWDQ4ifQ7TK5HqCgYj/QhJKtJeETD9eOm8fMJjBWpE4U5OQ4/we238JHusCFVnTHuYofPMJMUH1k+FQIjwoZ5CTQnq7stCEEJvL7KDyMtl8D9Zp5Cg5FPe+q0BYsGqBhPUQ7HtpgYpi14OEkPta/aaZTffxJelFaFo0ZT4eUPSXacjx6ItDdRNI2drYjFufmflSDz25AfCNOqYQxMYqcgx/H4hlrwyOdCoR0QWZSN6TjxhZfRvtq5ghJG7mvKF7m0rdoVIjDX94R7vWzGhsyyd1fnjbAiLQ058CTOSelmBgTUbhbzswoFMDvbENKjV2hVz3PFM4+dEgs5s5x5VfHrvYcdGrD+xCcDOfYPLysW/84wFDxFH0Gw5KonM8/EwoOlurvwDtP2kzFv2m3YKJARQTR9Q0os8kyvrCvEWUGJ5AR9bL6iA2DYV2okHFD1RbqoFUYFCnmoEjYIoDzuVBo/BcTARxBZ1b9mOuYAF0neBVcCb1nyPwjnXgvthPUWt9XcrXYFOr1Uw4MgHmfvPuCVXWDVcO5+/XOD1AFtBRtQZWJ+7Gtokk= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(250305191791016)(180628864354917)(22074186197030); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046); SRVR:DM3PR07MB2250; BCL:0; PCL:0; RULEID:; SRVR:DM3PR07MB2250; X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 4:3AT28I+bZnSH9frCpqOzOVdNe4ZkQASsnAmn6DPVMSEDgzhOBLDJCHLGtHD9TkNgH1MNI3PokD0iQJXJ73pgM6X2WBBgMzjTPSvspODiIF4qe0CM+Ss+Ue8594APRNDUWJCSZDvxlkzhsVsss7N3lWg/jmAgYCjmzzgJC7jg2/kWAHia4OZK/iI8TEvpdKgEYKVlihAYLG3nJ9vAGq4/AhwpUR4TJvSyL2aZMeTwM3X4Dv5dIgZuYCinCeXZdkFJITQzjxHwQwH/LkL2CgniajWl9IQtKkoM1Advjt0kSYFhWFB16qxUfFbYmbTneQynDV2bvXN7jnjaZWOHb50NyzWzufHvX2Lv6hiL1sQzGoatPxlth1VYCe4ANJiZ1MweNWAL474KWd0HQCwpoJBrVW2yN2zT//fT6YZzU8KiQTMsQuUKaQd1qE2kvsjhZ7rcG4+ZBc+yP4AMySKryQrKWmo5W3fYh7ItlY8qkt8Z6H4Y8l1NCKHVHfoaN5IUd66J X-Forefront-PRVS: 0037FD6480 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(199003)(189002)(5001770100001)(77096005)(15975445007)(101416001)(189998001)(2950100001)(81156014)(81166006)(50226002)(229853001)(106356001)(92566002)(42186005)(33646002)(575784001)(5003940100001)(19580405001)(19580395003)(97736004)(50986999)(36756003)(105586002)(47776003)(76176999)(50466002)(48376002)(76506005)(66066001)(8676002)(7736002)(4326007)(7846002)(68736007)(2201001)(2906002)(3846002)(7416002)(586003)(6116002)(305945005)(2004002)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM3PR07MB2250; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM3PR07MB2250; 23:GsTi1HBmsEp+rVKXpzyWtt8kn36NQFeAeJIdfcHiP?= =?us-ascii?Q?1gj22Aca/yj13wTaIgpoF/EJGWaIOVeuk3oFcJRDCXcuQIAgU4Q+sLVaKYAY?= =?us-ascii?Q?myK9L4ytI80t4QsqZTaypkVRmmPzGCqE31AVvkKR/ftpNGKmG3DJCw2E8EA+?= =?us-ascii?Q?I0AXIneyKC+RdHBuLel7MBKuVVCJt5Gpang2odBJ6pHr0PVzPwkBwXANuCDc?= =?us-ascii?Q?EZFZdS/NVyGmXvkCXTJCcq5pDRPA4Sv9RXCGL455hkFkAeliehzHbuqgq+U8?= =?us-ascii?Q?MVW628J1z9zqdh1KrwM7sAac5+H+OGvkbmrDisXxASvfXi1uhyMEGDIQqiUU?= =?us-ascii?Q?eStAovxnXfAdhnmvTQmnGdkZFa7SH5t2rFJHfutt8j0NLrPGx98D10EwsU8m?= =?us-ascii?Q?CUhqIceiI3fRWbdXc1kSRJ3lKkEgQwYFWBajB+Khm6zoPhM83+p8lak0BsR8?= =?us-ascii?Q?8sGeM2Jybi9XBNx44GwvgNhTjzGK5r7NTcqiUzLsr7tPUwb+ZVU0mlxqYsbe?= =?us-ascii?Q?XLsGrYMVgfkC0dMS2YBXxNeGdByXBk4IT7Dqp5buU+aK+0dQNF6m3O8Csiot?= =?us-ascii?Q?oG2pO3qhvrCcpX9k6J/QJxPfaFt6orrKL2nVutD4tiPjtEfRmmjrp8y4M+gb?= =?us-ascii?Q?w/F2L1vEmfrOmGfBhdZ7VMqcEwtulxZ4nlrfSobMtL6UmuT/YQzO3uF/b69w?= =?us-ascii?Q?uDXB4ftYSETTT2W10BhHpVF6W2hxdyWu7Pqvqi/VuWY3dLrTWUfLTW6aJNEl?= =?us-ascii?Q?2OGC4unr+UN7MAW5+mNXS/n/AOhzBqaIziBMEYPEwcf3Vw5/WsPnt9Pm0438?= =?us-ascii?Q?t/6g1l8Wj0MmcuK5RRiWm2/RjEQWie2dmgeCfHK8L5PB9j/NBCoC//yHxeMT?= =?us-ascii?Q?8mCbS/Z7bpwdc1ElVr92IXgCisFJVO3yNm+7e4gIU1RbDw3PAR4Zcgke6bKI?= =?us-ascii?Q?TPeP9vvHXf422q4JPCNOUMr9RAia1DEJyjcz7tUbernFjm29DBMrZCpUPI7k?= =?us-ascii?Q?A6iLS+myAIhyBO1h5DstvirFBHxzS+s49vDsfNIqFjNA1yuoRJFx/h+uQIK6?= =?us-ascii?Q?QgHvhMzitu9F0NUxmcnbieO5H6Z8cOmOH+wmUkR7T6IMlaBuykYRcmCdB0x7?= =?us-ascii?Q?1P0uOfxBh15pyckrDh+CI/0S6Y7C/Ec802yDphWFjKVDSQvq9DxY4lGu90s3?= =?us-ascii?Q?zjFlo/zAIBFFM/TlwIY0qj00cJ1R480c7jB?= X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 6:D1nSTCCnHU5xrwx/8GQcXlv6XhHa3OuQkZnRRbo51YKEy01lj2k1NWit//8vnS+mWSEcxXVDWPXjxXZVB7azaLt/gTgbCjg6Frd1HhppaszKTloEK7rLJmGmEGr1sWEdBiiacn2sTB1UuGZwau1bfG62YJHk6gUWMgq21c4MuFQgZ6SwnEHTCZjCyf7uSWVYgk13Q8pqRiJ+FFejp2fi7P42aPN4AZDq6VtMjZsa+HYROQZ9aMi7jv2XIyYZwZ8DgNtPpcCfqhEdUdSRiMyI4Ca4HbK4BMf2WiTab90XnlM=; 5:MxqakdV/0fc2BkRa8kFm5aAok6gdjqNu1ZDHIG4ybLpuVO8WqEdWujtAgjosMG2Cyge5D0tJ7rcGYidOLm+jsazzT/cuGh/dMRPcYqETMOCAQXpyGP0IevgupGtcnA5MYwpgD+j3fC9+rsFp1jcl7Q==; 24:xTBFSpO6z8B3Ct1HeXq/e8V1midb4kopiGz2NBX5Rm0ZV2CLtw9aFcb1Tlitv15XBPOD9k8r+AItjftNeMrvW6ja2D3A3e8ETaOsyYJuwAM=; 7:yrQcfi5aihM3E9CTm2aZ3Y2O2g0FksGOWew2TnexIUNX7MbV+/He7fh5TqxI867TgDIiJ4yY2N1L5eIEhQ+/XmcgHVrfxgnoBHh7Uoo0+3sUlc+EtjmxTvFyA5bliRoReBgvPG6Hi1N+KRCHYLypiL3q4shQPzQtwIFsOkup/WcCoaPxAMpgtxZnw0gTY8yeewMwNh7lGdmV+cBZge7M29+gGYf4iN7rDg5E889OST50kO7tGYvklr9fn/4ikHn/ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2016 11:48:37.5489 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR07MB2250 off_t is passed in register pair just like in aarch32. In this patch corresponding aarch32 handlers are shared to ilp32 code. Signed-off-by: Yury Norov --- arch/arm64/kernel/Makefile | 1 + arch/arm64/kernel/entry32.S | 65 -------------------------- arch/arm64/kernel/entry32_common.S | 93 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+), 65 deletions(-) create mode 100644 arch/arm64/kernel/entry32_common.S diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile index 9b6c324..4a81d93 100644 --- a/arch/arm64/kernel/Makefile +++ b/arch/arm64/kernel/Makefile @@ -28,6 +28,7 @@ $(obj)/%.stub.o: $(obj)/%.o FORCE arm64-obj-$(CONFIG_AARCH32_EL0) += sys32.o kuser32.o signal32.o \ sys_compat.o entry32.o binfmt_elf32.o arm64-obj-$(CONFIG_ARM64_ILP32) += binfmt_ilp32.o +arm64-obj-$(CONFIG_COMPAT) += entry32_common.o arm64-obj-$(CONFIG_FUNCTION_TRACER) += ftrace.o entry-ftrace.o arm64-obj-$(CONFIG_MODULES) += arm64ksyms.o module.o arm64-obj-$(CONFIG_ARM64_MODULE_PLTS) += module-plts.o diff --git a/arch/arm64/kernel/entry32.S b/arch/arm64/kernel/entry32.S index f332d5d..fd2b0d5 100644 --- a/arch/arm64/kernel/entry32.S +++ b/arch/arm64/kernel/entry32.S @@ -54,68 +54,3 @@ ENTRY(compat_sys_fstatfs64_wrapper) b compat_sys_fstatfs64 ENDPROC(compat_sys_fstatfs64_wrapper) -/* - * Note: off_4k (w5) is always in units of 4K. If we can't do the - * requested offset because it is not page-aligned, we return -EINVAL. - */ -ENTRY(compat_sys_mmap2_wrapper) -#if PAGE_SHIFT > 12 - tst w5, #~PAGE_MASK >> 12 - b.ne 1f - lsr w5, w5, #PAGE_SHIFT - 12 -#endif - b sys_mmap_pgoff -1: mov x0, #-EINVAL - ret -ENDPROC(compat_sys_mmap2_wrapper) - -/* - * Wrappers for AArch32 syscalls that either take 64-bit parameters - * in registers or that take 32-bit parameters which require sign - * extension. - */ -ENTRY(compat_sys_pread64_wrapper) - regs_to_64 x3, x4, x5 - b sys_pread64 -ENDPROC(compat_sys_pread64_wrapper) - -ENTRY(compat_sys_pwrite64_wrapper) - regs_to_64 x3, x4, x5 - b sys_pwrite64 -ENDPROC(compat_sys_pwrite64_wrapper) - -ENTRY(compat_sys_truncate64_wrapper) - regs_to_64 x1, x2, x3 - b sys_truncate -ENDPROC(compat_sys_truncate64_wrapper) - -ENTRY(compat_sys_ftruncate64_wrapper) - regs_to_64 x1, x2, x3 - b sys_ftruncate -ENDPROC(compat_sys_ftruncate64_wrapper) - -ENTRY(compat_sys_readahead_wrapper) - regs_to_64 x1, x2, x3 - mov w2, w4 - b sys_readahead -ENDPROC(compat_sys_readahead_wrapper) - -ENTRY(compat_sys_fadvise64_64_wrapper) - mov w6, w1 - regs_to_64 x1, x2, x3 - regs_to_64 x2, x4, x5 - mov w3, w6 - b sys_fadvise64_64 -ENDPROC(compat_sys_fadvise64_64_wrapper) - -ENTRY(compat_sys_sync_file_range2_wrapper) - regs_to_64 x2, x2, x3 - regs_to_64 x3, x4, x5 - b sys_sync_file_range2 -ENDPROC(compat_sys_sync_file_range2_wrapper) - -ENTRY(compat_sys_fallocate_wrapper) - regs_to_64 x2, x2, x3 - regs_to_64 x3, x4, x5 - b sys_fallocate -ENDPROC(compat_sys_fallocate_wrapper) diff --git a/arch/arm64/kernel/entry32_common.S b/arch/arm64/kernel/entry32_common.S new file mode 100644 index 0000000..261cd97 --- /dev/null +++ b/arch/arm64/kernel/entry32_common.S @@ -0,0 +1,93 @@ +/* + * Compat system call wrappers + * + * Copyright (C) 2012 ARM Ltd. + * Authors: Will Deacon + * Catalin Marinas + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include + +#include +#include +#include +#include + +/* + * Note: off_4k (w5) is always in units of 4K. If we can't do the + * requested offset because it is not page-aligned, we return -EINVAL. + */ +ENTRY(compat_sys_mmap2_wrapper) +#if PAGE_SHIFT > 12 + tst w5, #~PAGE_MASK >> 12 + b.ne 1f + lsr w5, w5, #PAGE_SHIFT - 12 +#endif + b sys_mmap_pgoff +1: mov x0, #-EINVAL + ret +ENDPROC(compat_sys_mmap2_wrapper) + +/* + * Wrappers for AArch32 syscalls that either take 64-bit parameters + * in registers or that take 32-bit parameters which require sign + * extension. + */ +ENTRY(compat_sys_pread64_wrapper) + regs_to_64 x3, x4, x5 + b sys_pread64 +ENDPROC(compat_sys_pread64_wrapper) + +ENTRY(compat_sys_pwrite64_wrapper) + regs_to_64 x3, x4, x5 + b sys_pwrite64 +ENDPROC(compat_sys_pwrite64_wrapper) + +ENTRY(compat_sys_truncate64_wrapper) + regs_to_64 x1, x2, x3 + b sys_truncate +ENDPROC(compat_sys_truncate64_wrapper) + +ENTRY(compat_sys_ftruncate64_wrapper) + regs_to_64 x1, x2, x3 + b sys_ftruncate +ENDPROC(compat_sys_ftruncate64_wrapper) + +ENTRY(compat_sys_readahead_wrapper) + regs_to_64 x1, x2, x3 + mov w2, w4 + b sys_readahead +ENDPROC(compat_sys_readahead_wrapper) + +ENTRY(compat_sys_fadvise64_64_wrapper) + mov w6, w1 + regs_to_64 x1, x2, x3 + regs_to_64 x2, x4, x5 + mov w3, w6 + b sys_fadvise64_64 +ENDPROC(compat_sys_fadvise64_64_wrapper) + +ENTRY(compat_sys_sync_file_range2_wrapper) + regs_to_64 x2, x2, x3 + regs_to_64 x3, x4, x5 + b sys_sync_file_range2 +ENDPROC(compat_sys_sync_file_range2_wrapper) + +ENTRY(compat_sys_fallocate_wrapper) + regs_to_64 x2, x2, x3 + regs_to_64 x3, x4, x5 + b sys_fallocate +ENDPROC(compat_sys_fallocate_wrapper)