From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 11235C43441 for ; Fri, 12 Oct 2018 11:51:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D452320868 for ; Fri, 12 Oct 2018 11:51:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D452320868 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arndb.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728321AbeJLTX1 (ORCPT ); Fri, 12 Oct 2018 15:23:27 -0400 Received: from mail-qt1-f196.google.com ([209.85.160.196]:45065 "EHLO mail-qt1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726699AbeJLTX1 (ORCPT ); Fri, 12 Oct 2018 15:23:27 -0400 Received: by mail-qt1-f196.google.com with SMTP id e10-v6so13465709qtq.12; Fri, 12 Oct 2018 04:51:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=XtCn8ZP92iUsc6yQWrJSlNbSghzGVmlgpaQ1Sp23KVk=; b=YK+jC4kETMd16c7kD+mQUgbIk359DwSgXy8iEswmnE2EZOR7aUqgQQr8tSp92/HXr/ NKFLzE08jGqG5vmFfiKIbEvhpjjuf3OvZBonRDxV7pC7CfbGAu5N4v2/1NlzPvHlXxLX +Gtv0olt1HXJInuN0AM2+kjoZ3t0lr6BjPQyttOC3YGVUIdyYzNDQhUrAUEXPnohq0xL lSXiRnekRdn9D5UGlSPYLwc0HE9CjTwwmniJHH82k4rLqebK+x6AzyifrRnYLT5wzwP4 EaL7N0VIXIiQf7HuJxfl7IxiCtG2sKAPUk1Ye/ZoHlM9XVD3W4V4dEs6uaBOGCMJGXwq lqfg== X-Gm-Message-State: ABuFfogpqCbFyTViOPNkJJPhSDj9dFMFAdNvJEr9zwne1RkJUuoVn/vS Vk63H5m/lKROCilIxMtVefU+tLU2m2M870D7jmk= X-Google-Smtp-Source: ACcGV60ZPZuWO/Nc9iNK93N2zA05X6s34f7ezdcFevqC4F1+jMp56JVLKMlwkglNKJdEJaO8jXkS4yY7m81758zepBM= X-Received: by 2002:ac8:1d11:: with SMTP id d17-v6mr5241410qtl.343.1539345080789; Fri, 12 Oct 2018 04:51:20 -0700 (PDT) MIME-Version: 1.0 References: <1539337442-3676-1-git-send-email-firoz.khan@linaro.org> <1539337442-3676-4-git-send-email-firoz.khan@linaro.org> In-Reply-To: <1539337442-3676-4-git-send-email-firoz.khan@linaro.org> From: Arnd Bergmann Date: Fri, 12 Oct 2018 13:51:04 +0200 Message-ID: Subject: Re: [PATCH v4 3/6] parisc: add system call table generation support To: Firoz Khan Cc: Parisc List , "James E.J. Bottomley" , Helge Deller , Thomas Gleixner , gregkh , Philippe Ombredanne , Kate Stewart , y2038 Mailman List , Linux Kernel Mailing List , linux-arch , Deepa Dinamani , Marcin Juszkiewicz Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Oct 12, 2018 at 11:45 AM Firoz Khan wrote: > diff --git a/arch/parisc/kernel/syscalls/Makefile b/arch/parisc/kernel/syscalls/Makefile > new file mode 100644 > index 0000000..a0af5a3 > --- /dev/null > +++ b/arch/parisc/kernel/syscalls/Makefile > +syshdr_abi_unistd_32 := common,32 > +syshdr_offset_unistd_32 := __NR_Linux > +$(uapi)/unistd_32.h: $(syscall) $(syshdr) > + $(call if_changed,syshdr) > + > +syshdr_abi_unistd_64 := common,64 > +syshdr_offset_unistd_64 := __NR_Linux > +$(uapi)/unistd_64.h: $(syscall) $(syshdr) > + $(call if_changed,syshdr) The __NR_Linux seems misplaced here, don't we need that only for ia64 and mips? > +systbl_abi_syscall_table_32 := common,32 > +$(kapi)/syscall_table_32.h: $(syscall) $(systbl) > + $(call if_changed,systbl) > + > +systbl_abi_syscall_table_64 := common,64 > +$(kapi)/syscall_table_64.h: $(syscall) $(systbl) > + $(call if_changed,systbl) Have you considered making the 'common' part implied? I expected to see it done that way, although listing it explicitly doesn't seem harmful either. > +systbl_abi_syscall_table_c32 := common,compat,32 > +$(kapi)/syscall_table_c32.h: $(syscall) $(systbl) > + $(call if_changed,systbl) The way you specify 'compat' as one item in a list of ABIs seems rather odd, I'd suggest keeping that a separate flag. I think you can also pass arguments to 'if_changed', rather than setting a global variable to control it. arch/powerpc/boot/Makefile has some examples of that. It should be possible to do this like $(kapi)/syscall_table_c32.h: $(syscall) $(systbl) $(call if_changed,systbl,common|32,compat) Passing "common|32" as the list of ABIs in the first argument, and 'compat' as the second argument. > diff --git a/arch/parisc/kernel/syscalls/syscall.tbl b/arch/parisc/kernel/syscalls/syscall.tbl > new file mode 100644 > index 0000000..7c9f268 > --- /dev/null > +++ b/arch/parisc/kernel/syscalls/syscall.tbl ... > +346 common copy_file_range sys_copy_file_range > +347 common preadv2 sys_preadv2 compat_sys_preadv2 > +348 common pwritev2 sys_pwritev2 compat_sys_pwritev2 > +349 common statx sys_statx > +350 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents > \ No newline at end of file Here is the missing newline again. This should never happen if your text editor is configured correctly. > diff --git a/arch/parisc/kernel/syscalls/syscallhdr.sh b/arch/parisc/kernel/syscalls/syscallhdr.sh > new file mode 100644 > index 0000000..607d4ca > --- /dev/null > +++ b/arch/parisc/kernel/syscalls/syscallhdr.sh > @@ -0,0 +1,35 @@ > +#!/bin/sh > +# SPDX-License-Identifier: GPL-2.0 > + > +in="$1" > +out="$2" > +my_abis=`echo "($3)" | tr ',' '|'` > +prefix="$4" > +offset="$5" > + > +fileguard=_UAPI_ASM_PARISC_`basename "$out" | sed \ > + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ > + -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'` Maybe use ${ARCH} instead of PARISC here to keep it the same across architectures? > + my_abi="$(cut -d'|' -f2 <<< $my_abis)" > + while read nr abi name entry compat ; do > + if [ $my_abi = "compat" ]; then This check seems really fragile, but if you add another argument to the script instead of listing "compat" as the second option in the list of ABIs, I think it's fine. ARnd