[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK8P3a343PoH9WNH5ZYkNDTy=-ybGGsmvH9PbaSMmNo0Yob5eA@mail.gmail.com>
Date: Tue, 9 Oct 2018 13:28:14 +0200
From: Arnd Bergmann <arnd@...db.de>
To: Firoz Khan <firoz.khan@...aro.org>
Cc: Eugene Syromiatnikov <esyr@...hat.com>,
Parisc List <linux-parisc@...r.kernel.org>,
"James E.J. Bottomley" <jejb@...isc-linux.org>,
Helge Deller <deller@....de>,
Thomas Gleixner <tglx@...utronix.de>,
gregkh <gregkh@...uxfoundation.org>,
Philippe Ombredanne <pombredanne@...b.com>,
Kate Stewart <kstewart@...uxfoundation.org>,
y2038 Mailman List <y2038@...ts.linaro.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-arch <linux-arch@...r.kernel.org>,
Deepa Dinamani <deepa.kernel@...il.com>,
Marcin Juszkiewicz <marcin.juszkiewicz@...aro.org>
Subject: Re: [PATCH v3 3/6] parisc: add system call table generation support
On Tue, Oct 9, 2018 at 11:36 AM Firoz Khan <firoz.khan@...aro.org> wrote:
> On Tue, 9 Oct 2018 at 13:18, Arnd Bergmann <arnd@...db.de> wrote:
> > On Tue, Oct 9, 2018 at 7:35 AM Firoz Khan <firoz.khan@...aro.org> wrote:
> > > On Mon, 8 Oct 2018 at 19:27, Arnd Bergmann <arnd@...db.de> wrote:
> Let me bring another example from powerpc:
>
> syscall_32.tbl,
> 136 common personality sys_personality
> ppc64_personality ---> 32-bit, compat (this is the current
> model which I implemented)
> syscall_64.tbl
> 136 common personality ppc64_personality
> ---> 64-bit
>
> I was wondering if the above table is right, how to arrange like parisc model?
I think this should simply be
136 32 personality sys_personality ppc64_personality
136 64 personality ppc64_personality
Keeping the contents exactly the same as you have them
in the separate .tbl files, just merging the two files, and
splitting out the differences as 32/64 ABI.
> FYI, there are some implement missing for SPU in powerpc
>
> For your reference:
> SYSX_SPU(sys_newfstatat,sys_fstatat64,sys_fstatat64)
> SYSX_SPU(ppc64_personality,ppc64_personality,sys_personality)
This is a good question. The only difference between SPU and
native 64-bit is that some syscalls are not part of the SPU table
because those syscalls are impossible to implement on SPU.
Maybe we can solve this by allowing multiple comma-separated
ABIs in the table. On powerpc, 'common' would then mean
'32-bit, 64-bit and spu', while you could have various other
combinations:
/* always:32, 64 and SPU */
1 common exit sys_exit
/* 32-bit only call */
76 32 getrlimit sys_old_getrlimit compat_sys_old_getrlimit
/* 64-bit only, no SPU */
363 64 switch_endian sys_switch_endian
/* 32-bit and 64-bit, no SPU */
198 32,64 pciconfig_read sys_pciconfig_read
/* different pointers */
136 32 personality sys_personality ppc64_personality
136 64,spu personality ppc64_personality
Would that work for you?
Arnd
Powered by blists - more mailing lists