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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* 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: 

>  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
 
 	/*



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux