Re: [PATCH v3 4/6] parisc: uapi header and system call table file generation

From: Helge Deller
Date: Thu Oct 11 2018 - 06:27:40 EST


On 11.10.2018 08:48, Firoz Khan wrote:
> Hi Helge,
>
> On Thu, 11 Oct 2018 at 11:40, Firoz Khan <firoz.khan@xxxxxxxxxx> wrote:
>>
>> Hi Helge,
>>
>> On Wed, 10 Oct 2018 at 01:48, Helge Deller <deller@xxxxxx> wrote:
>>>
>>> * Firoz Khan <firoz.khan@xxxxxxxxxx>:
>>>> System call table generation script must be run to generate
>>>> unistd_32/64.h and syscall_table_32/64/c32.h files. This patch
>>>> will have changes which will invokes the script.
>>>>
>>>> This patch will generate unistd_32/64.h and syscall_table_
>>>> 32/64/c32.h files by the syscall table generation script
>>>> invoked by arch/parisc/Makefile and the generated files against
>>>> the removed files will be identical.
>>>>
>>>> The generated uapi header file will be included in uapi/asm/
>>>> unistd_32/64.h and generated system call table support file will
>>>> be included by arch/sparc/kernel/syscall_table_32/64.S file.
>>>>
>>>> Signed-off-by: Firoz Khan <firoz.khan@xxxxxxxxxx>
>>>> ---
>>>> arch/parisc/Makefile | 4 +
>>>> arch/parisc/include/asm/Kbuild | 3 +
>>>> arch/parisc/include/uapi/asm/Kbuild | 2 +
>>>> arch/parisc/include/uapi/asm/unistd.h | 373 +--------------------------
>>>> arch/parisc/kernel/syscall.S | 12 +-
>>>> arch/parisc/kernel/syscall_table.S | 459 ----------------------------------
>>>
>>>
>>> Can we please get rid of those two new files:
>>
>> Yes, we don't need those files some of the architecture and other
>> architecture does have same/similar files. That's why I added below
>> files, so every architecture implementation looks same.
>>
>> I feel it is better to remove these files.
>> Arnd, Do u have any comment on this?
>>
>> Thanks
>> Firoz
>>
>>>
>>>> arch/parisc/kernel/syscall_table_32.S | 13 +
>>>> arch/parisc/kernel/syscall_table_64.S | 20 ++
>>>
>>> Both are not needed (at least on parisc) if you apply the following
>>> patch on top of your patch series.
>>> This patch finally fixes the 64-bit kernel on parisc (tested on real
>>> hardware).
>>>
>>> Helge
>>>
>>> diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S
>>> index 2523b83b88d8..45cddeeb968f 100644
>>> --- a/arch/parisc/kernel/syscall.S
>>> +++ b/arch/parisc/kernel/syscall.S
>>> @@ -923,10 +923,20 @@ ENTRY(lws_table)
>>> END(lws_table)
>>> /* End of lws table */
>>>
>>> -#include "syscall_table_32.S"
>>> +#define __SYSCALL(nr, entry, nargs) ASM_ULONG_INSN entry
>>> +
>>> +ENTRY(sys_call_table)
>>> +#if defined(CONFIG_64BIT)
>>> +#include <asm/syscall_table_c32.h> /* compat syscalls */
>>> +#else
>>> +#include <asm/syscall_table_32.h> /* 32-bit native syscalls */
>>> +#endif
>>> +END(sys_call_table)
>>> +
>>> #ifdef CONFIG_64BIT
>>> -#define SYSCALL_TABLE_64BIT
>>> -#include "syscall_table_64.S"
>>> +ENTRY(sys_call_table64)
>>> +#include <asm/syscall_table_64.h> /* 64-bit native syscalls */
>>> +END(sys_call_table64)
>>> #endif
>>>
>>> /*
>
> I could see a patch (commit 47514da3ac20150cdf764466fbc2010c0fca0163)
> which will perform a compile-check when adding a new syscall. My patches
> will remove this feature. Is that fine?

Yes, removing that feature is OK.
Since everything is then autogenerated I don't expect such bugs.

Helge