Re: [PATCH v3 3/6] parisc: add system call table generation support

From: Firoz Khan
Date: Tue Oct 09 2018 - 10:11:06 EST


Hi Arnd,

On Tue, 9 Oct 2018 at 16:58, Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> On Tue, Oct 9, 2018 at 11:36 AM Firoz Khan <firoz.khan@xxxxxxxxxx> wrote:
> > On Tue, 9 Oct 2018 at 13:18, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> > > On Tue, Oct 9, 2018 at 7:35 AM Firoz Khan <firoz.khan@xxxxxxxxxx> wrote:
> > > > On Mon, 8 Oct 2018 at 19:27, Arnd Bergmann <arnd@xxxxxxxx> 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?

At this point, yes. V2 patches for powerpc on my pipeline. I can bring
the above points when I start creating those patches.

Thanks
Firoz
>
> Arnd