linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] System call table generation support
@ 2018-08-09  5:05 Firoz Khan
  2018-08-09  5:05 ` [PATCH 1/5] ia64: Replace NR_syscalls macro from asm/unistd.h Firoz Khan
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Firoz Khan @ 2018-08-09  5:05 UTC (permalink / raw)
  To: linux-ia64, Tony Luck, Fenghua Yu
  Cc: y2038, linux-kernel, linux-arch, arnd, deepa.kernel,
	marcin.juszkiewicz, firoz.khan

The purpose of this patch series is:
1. We can easily add/modify/delete system call by changing entry 
in syscall.tbl file. No need to manually edit many files.

2. It is easy to unify the system call implementation across all 
the architectures. 

The system call tables are in different format in all architecture 
and it will be difficult to manually add or modify the system calls
manually in the respective files. To make it easy by keeping a script 
and which'll generate the header file and syscall table file so this 
change will unify the implementation across all architectures.

syscall.tbl contains the list of available system calls along with 
system call number and corresponding entry point. Add a new system 
call in this architecture will be possible by adding new entry in 
the syscall.tbl file.

Adding a new table entry consisting of:
        - System call number.
        - ABI.
        - System call name.
        - Entry point name.

ARM, s390 and x86 architecuture does exist the similar support. I 
leverage their implementation to come up with a generic solution.

I have done the same support for work for alpha, m68k, microblaze, 
mips, parisc, powerpc, sh, sparc, and xtensa. But I started sending 
the patch for one architecuture for review. Below mentioned git
repository contains more details.
Git repo:- https://github.com/frzkhn/system_call_table_generator/

Finally, this is the ground work for solving the Y2038 issue. We 
need to add/change two dozen of system calls to solve Y2038 issue. 
So this patch series will help to easily modify from existing 
system call to Y2038 compatible system calls.

I started working system call table generation on 4.17-rc1. I used 
marcin's script - https://github.com/hrw/syscalls-table to generate 
the syscall.tbl file. And this will be the input to the system call 
table generation script. But there are couple system call got add 
in the latest rc release. If run Marcin's script on latest release,
it will generate a different syscall.tbl. But I still use the old 
file - syscall.tbl and once all review got over I'll update 
syscall.tbl alone w.r.to the tip of the kernel. The impact of this
is, few of the system call won't work.

Firoz Khan (5):
  ia64: Replace NR_syscalls macro from asm/unistd.h
  ia64: Added an offset for system call number
  ia64: Replaced the system call table entry from entry.S
  ia64: Added system call table generation support
  ia64: uapi header and system call table file generation

 arch/ia64/Makefile                      |   3 +
 arch/ia64/include/asm/Kbuild            |   2 +
 arch/ia64/include/asm/unistd.h          |   4 -
 arch/ia64/include/uapi/asm/Kbuild       |   2 +
 arch/ia64/include/uapi/asm/unistd.h     | 331 +------------------------------
 arch/ia64/kernel/entry.S                | 335 +-------------------------------
 arch/ia64/kernel/fsys.S                 |   2 +-
 arch/ia64/kernel/gate.S                 |   4 +-
 arch/ia64/kernel/ivt.S                  |   2 +-
 arch/ia64/kernel/patch.c                |   2 +-
 arch/ia64/kernel/syscall.S              |  13 ++
 arch/ia64/kernel/syscalls/Makefile      |  40 ++++
 arch/ia64/kernel/syscalls/syscall.tbl   | 334 +++++++++++++++++++++++++++++++
 arch/ia64/kernel/syscalls/syscallhdr.sh |  33 ++++
 arch/ia64/kernel/syscalls/syscalltbl.sh |  34 ++++
 arch/ia64/mm/init.c                     |   6 +-
 16 files changed, 474 insertions(+), 673 deletions(-)
 create mode 100644 arch/ia64/kernel/syscall.S
 create mode 100644 arch/ia64/kernel/syscalls/Makefile
 create mode 100644 arch/ia64/kernel/syscalls/syscall.tbl
 create mode 100644 arch/ia64/kernel/syscalls/syscallhdr.sh
 create mode 100644 arch/ia64/kernel/syscalls/syscalltbl.sh

-- 
1.9.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/5] ia64: Replace NR_syscalls macro from asm/unistd.h
  2018-08-09  5:05 [PATCH 0/5] System call table generation support Firoz Khan
@ 2018-08-09  5:05 ` Firoz Khan
  2018-08-09  5:05 ` [PATCH 2/5] ia64: Added an offset for system call number Firoz Khan
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Firoz Khan @ 2018-08-09  5:05 UTC (permalink / raw)
  To: linux-ia64, Tony Luck, Fenghua Yu
  Cc: y2038, linux-kernel, linux-arch, arnd, deepa.kernel,
	marcin.juszkiewicz, firoz.khan

__NR_syscalls macro holds the number of system call exist in IA64
architecture. This macro is currently the part of asm/unistd.h file.
We have to change the value of __NR_syscalls, if we add or delete a
system call.

One of the patch in this patch series has a script which will generate
a uapi header based on syscall.tbl file. The syscall.tbl file contains
the number of system call information. So we have two option to update
__NR_syscalls value.

1. Update __NR_syscalls in asm/unistd.h manually by counting the
   no.of system calls. No need to update __NR_syscalls untill
   we either add a new system call or delete an existing system
   call.

2. We can keep this feature it above mentioned script, that'll
   count the number of syscalls and keep it in a generated file.
   In this case we don't need to explicitly update __NR_syscalls
   in asm/unistd.h file.

The 2nd option will be the recommended one. For that, I moved the
NR_syscalls macro from asm/unistd.h to uapi/asm/unistd.h. The macro
name also changed form NR_syscalls to __NR_syscalls for making the
name convention same across all architecture. While __NR_syscalls
isn't strictly part of the uapi, having it as part of the generated
header to simplifies the implementation.

Signed-off-by: Firoz Khan <firoz.khan@linaro.org>
---
 arch/ia64/include/asm/unistd.h      | 4 ----
 arch/ia64/include/uapi/asm/unistd.h | 2 ++
 arch/ia64/kernel/entry.S            | 4 ++--
 arch/ia64/kernel/fsys.S             | 2 +-
 arch/ia64/kernel/gate.S             | 4 ++--
 arch/ia64/kernel/ivt.S              | 2 +-
 arch/ia64/kernel/patch.c            | 2 +-
 arch/ia64/mm/init.c                 | 6 +++---
 8 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/arch/ia64/include/asm/unistd.h b/arch/ia64/include/asm/unistd.h
index ffb705d..6d1b047 100644
--- a/arch/ia64/include/asm/unistd.h
+++ b/arch/ia64/include/asm/unistd.h
@@ -10,10 +10,6 @@
 
 #include <uapi/asm/unistd.h>
 
-
-
-#define NR_syscalls			326 /* length of syscall table */
-
 /*
  * The following defines stop scripts/checksyscalls.sh from complaining about
  * unimplemented system calls.  Glibc provides for each of these by using
diff --git a/arch/ia64/include/uapi/asm/unistd.h b/arch/ia64/include/uapi/asm/unistd.h
index 5fe71d4..52c6712 100644
--- a/arch/ia64/include/uapi/asm/unistd.h
+++ b/arch/ia64/include/uapi/asm/unistd.h
@@ -341,4 +341,6 @@
 #define __NR_preadv2			1348
 #define __NR_pwritev2			1349
 
+#define __NR_syscalls			326 /* length of syscall table */
+
 #endif /* _UAPI_ASM_IA64_UNISTD_H */
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S
index 68362b3..f40d9fd 100644
--- a/arch/ia64/kernel/entry.S
+++ b/arch/ia64/kernel/entry.S
@@ -501,7 +501,7 @@ GLOBAL_ENTRY(ia64_trace_syscall)
 	adds r15=PT(R15)+16,sp			// r15 = &pt_regs.r15 (syscall #)
 	;;
 	ld8 r15=[r15]
-	mov r3=NR_syscalls - 1
+	mov r3=__NR_syscalls - 1
 	;;
 	adds r15=-1024,r15
 	movl r16=sys_call_table
@@ -1757,4 +1757,4 @@ sys_call_table:
 	data8 sys_preadv2
 	data8 sys_pwritev2
 
-	.org sys_call_table + 8*NR_syscalls	// guard against failures to increase NR_syscalls
+	.org sys_call_table + 8*__NR_syscalls	// guard against failures to increase __NR_syscalls
diff --git a/arch/ia64/kernel/fsys.S b/arch/ia64/kernel/fsys.S
index fe742ff..2d33cff 100644
--- a/arch/ia64/kernel/fsys.S
+++ b/arch/ia64/kernel/fsys.S
@@ -834,4 +834,4 @@ fsyscall_table:
 
 	// fill in zeros for the remaining entries
 	.zero:
-	.space fsyscall_table + 8*NR_syscalls - .zero, 0
+	.space fsyscall_table + 8*__NR_syscalls - .zero, 0
diff --git a/arch/ia64/kernel/gate.S b/arch/ia64/kernel/gate.S
index 9f235cd..eeafa31 100644
--- a/arch/ia64/kernel/gate.S
+++ b/arch/ia64/kernel/gate.S
@@ -331,12 +331,12 @@ GLOBAL_ENTRY(__kernel_syscall_via_epc)
 	;;
 	mov r16=IA64_KR(CURRENT)		// M2 (12 cyc)
 	shladd r18=r17,3,r14			// A
-	mov r19=NR_syscalls-1			// A
+	mov r19=__NR_syscalls-1			// A
 	;;
 	lfetch [r18]				// M0|1
 	MOV_FROM_PSR(p0, r29, r8)		// M2 (12 cyc)
 	// If r17 is a NaT, p6 will be zero
-	cmp.geu p6,p7=r19,r17			// A    (sysnr > 0 && sysnr < 1024+NR_syscalls)?
+	cmp.geu p6,p7=r19,r17			// A    (sysnr > 0 && sysnr < 1024+__NR_syscalls)?
 	;;
 	mov r21=ar.fpsr				// M2 (12 cyc)
 	tnat.nz p10,p9=r15			// I0
diff --git a/arch/ia64/kernel/ivt.S b/arch/ia64/kernel/ivt.S
index 1efcbe5..93ddc00 100644
--- a/arch/ia64/kernel/ivt.S
+++ b/arch/ia64/kernel/ivt.S
@@ -763,7 +763,7 @@ ENTRY(break_fault)
 
 	adds r16=IA64_TASK_THREAD_ON_USTACK_OFFSET,r16
 	adds r15=-1024,r15			// A    subtract 1024 from syscall number
-	mov r3=NR_syscalls - 1
+	mov r3=__NR_syscalls - 1
 	;;
 	ld1.bias r17=[r16]			// M0|1 r17 = current->thread.on_ustack flag
 	ld4 r9=[r9]				// M0|1 r9 = current_thread_info()->flags
diff --git a/arch/ia64/kernel/patch.c b/arch/ia64/kernel/patch.c
index 7f21a8c..d2e7e31 100644
--- a/arch/ia64/kernel/patch.c
+++ b/arch/ia64/kernel/patch.c
@@ -172,7 +172,7 @@
 static void __init
 patch_fsyscall_table (unsigned long start, unsigned long end)
 {
-	extern unsigned long fsyscall_table[NR_syscalls];
+	extern unsigned long fsyscall_table[__NR_syscalls];
 	s32 *offp = (s32 *) start;
 	u64 ip;
 
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
index 3b85c3e..0096be4 100644
--- a/arch/ia64/mm/init.c
+++ b/arch/ia64/mm/init.c
@@ -635,9 +635,9 @@ int __init register_active_ranges(u64 start, u64 len, int nid)
 	 * (heavy-weight) handler, but mark it by setting bit 0, so the fsyscall entry
 	 * code can tell them apart.
 	 */
-	for (i = 0; i < NR_syscalls; ++i) {
-		extern unsigned long fsyscall_table[NR_syscalls];
-		extern unsigned long sys_call_table[NR_syscalls];
+	for (i = 0; i < __NR_syscalls; ++i) {
+		extern unsigned long fsyscall_table[__NR_syscalls];
+		extern unsigned long sys_call_table[__NR_syscalls];
 
 		if (!fsyscall_table[i] || nolwsys)
 			fsyscall_table[i] = sys_call_table[i] | 1;
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/5] ia64: Added an offset for system call number
  2018-08-09  5:05 [PATCH 0/5] System call table generation support Firoz Khan
  2018-08-09  5:05 ` [PATCH 1/5] ia64: Replace NR_syscalls macro from asm/unistd.h Firoz Khan
@ 2018-08-09  5:05 ` Firoz Khan
  2018-08-09  5:05 ` [PATCH 3/5] ia64: Replaced the system call table entry from entry.S Firoz Khan
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Firoz Khan @ 2018-08-09  5:05 UTC (permalink / raw)
  To: linux-ia64, Tony Luck, Fenghua Yu
  Cc: y2038, linux-kernel, linux-arch, arnd, deepa.kernel,
	marcin.juszkiewicz, firoz.khan

The system call number in IA64 architecture starts with 1024. Most
of the other architecute starts with 0. In order to come up with
a common implementation to generate uapi header we need to add an
offset - __NR_Linux with a value 1024.

One of the patch in this patch series does have a script to generate
uapi header which uses syscall.tbl file. In syscall.tbl contain
system call number. With the use of __NR_Linux, we can start the number
0 instead of 1024.

Signed-off-by: Firoz Khan <firoz.khan@linaro.org>
---
 arch/ia64/include/uapi/asm/unistd.h | 643 ++++++++++++++++++------------------
 1 file changed, 322 insertions(+), 321 deletions(-)

diff --git a/arch/ia64/include/uapi/asm/unistd.h b/arch/ia64/include/uapi/asm/unistd.h
index 52c6712..b96ca91 100644
--- a/arch/ia64/include/uapi/asm/unistd.h
+++ b/arch/ia64/include/uapi/asm/unistd.h
@@ -11,336 +11,337 @@
 
 #include <asm/break.h>
 
-#define __BREAK_SYSCALL			__IA64_BREAK_SYSCALL
+#define __BREAK_SYSCALL	__IA64_BREAK_SYSCALL
 
-#define __NR_ni_syscall			1024
-#define __NR_exit			1025
-#define __NR_read			1026
-#define __NR_write			1027
-#define __NR_open			1028
-#define __NR_close			1029
-#define __NR_creat			1030
-#define __NR_link			1031
-#define __NR_unlink			1032
-#define __NR_execve			1033
-#define __NR_chdir			1034
-#define __NR_fchdir			1035
-#define __NR_utimes			1036
-#define __NR_mknod			1037
-#define __NR_chmod			1038
-#define __NR_chown			1039
-#define __NR_lseek			1040
-#define __NR_getpid			1041
-#define __NR_getppid			1042
-#define __NR_mount			1043
-#define __NR_umount			1044
-#define __NR_setuid			1045
-#define __NR_getuid			1046
-#define __NR_geteuid			1047
-#define __NR_ptrace			1048
-#define __NR_access			1049
-#define __NR_sync			1050
-#define __NR_fsync			1051
-#define __NR_fdatasync			1052
-#define __NR_kill			1053
-#define __NR_rename			1054
-#define __NR_mkdir			1055
-#define __NR_rmdir			1056
-#define __NR_dup			1057
-#define __NR_pipe			1058
-#define __NR_times			1059
-#define __NR_brk			1060
-#define __NR_setgid			1061
-#define __NR_getgid			1062
-#define __NR_getegid			1063
-#define __NR_acct			1064
-#define __NR_ioctl			1065
-#define __NR_fcntl			1066
-#define __NR_umask			1067
-#define __NR_chroot			1068
-#define __NR_ustat			1069
-#define __NR_dup2			1070
-#define __NR_setreuid			1071
-#define __NR_setregid			1072
-#define __NR_getresuid			1073
-#define __NR_setresuid			1074
-#define __NR_getresgid			1075
-#define __NR_setresgid			1076
-#define __NR_getgroups			1077
-#define __NR_setgroups			1078
-#define __NR_getpgid			1079
-#define __NR_setpgid			1080
-#define __NR_setsid			1081
-#define __NR_getsid			1082
-#define __NR_sethostname		1083
-#define __NR_setrlimit			1084
-#define __NR_getrlimit			1085
-#define __NR_getrusage			1086
-#define __NR_gettimeofday		1087
-#define __NR_settimeofday		1088
-#define __NR_select			1089
-#define __NR_poll			1090
-#define __NR_symlink			1091
-#define __NR_readlink			1092
-#define __NR_uselib			1093
-#define __NR_swapon			1094
-#define __NR_swapoff			1095
-#define __NR_reboot			1096
-#define __NR_truncate			1097
-#define __NR_ftruncate			1098
-#define __NR_fchmod			1099
-#define __NR_fchown			1100
-#define __NR_getpriority		1101
-#define __NR_setpriority		1102
-#define __NR_statfs			1103
-#define __NR_fstatfs			1104
-#define __NR_gettid			1105
-#define __NR_semget			1106
-#define __NR_semop			1107
-#define __NR_semctl			1108
-#define __NR_msgget			1109
-#define __NR_msgsnd			1110
-#define __NR_msgrcv			1111
-#define __NR_msgctl			1112
-#define __NR_shmget			1113
-#define __NR_shmat			1114
-#define __NR_shmdt			1115
-#define __NR_shmctl			1116
+#define __NR_Linux      1024
+#define __NR_ni_syscall	(__NR_Linux + 0)
+#define __NR_exit	(__NR_Linux + 1)
+#define __NR_read	(__NR_Linux + 2)
+#define __NR_write	(__NR_Linux + 3)
+#define __NR_open	(__NR_Linux + 4)
+#define __NR_close	(__NR_Linux + 5)
+#define __NR_creat	(__NR_Linux + 6)
+#define __NR_link	(__NR_Linux + 7)
+#define __NR_unlink	(__NR_Linux + 8)
+#define __NR_execve	(__NR_Linux + 9)
+#define __NR_chdir	(__NR_Linux + 10)
+#define __NR_fchdir	(__NR_Linux + 11)
+#define __NR_utimes	(__NR_Linux + 12)
+#define __NR_mknod	(__NR_Linux + 13)
+#define __NR_chmod	(__NR_Linux + 14)
+#define __NR_chown	(__NR_Linux + 15)
+#define __NR_lseek	(__NR_Linux + 16)
+#define __NR_getpid	(__NR_Linux + 17)
+#define __NR_getppid	(__NR_Linux + 18)
+#define __NR_mount	(__NR_Linux + 19)
+#define __NR_umount	(__NR_Linux + 20)
+#define __NR_setuid	(__NR_Linux + 21)
+#define __NR_getuid	(__NR_Linux + 22)
+#define __NR_geteuid	(__NR_Linux + 23)
+#define __NR_ptrace	(__NR_Linux + 24)
+#define __NR_access	(__NR_Linux + 25)
+#define __NR_sync	(__NR_Linux + 26)
+#define __NR_fsync	(__NR_Linux + 27)
+#define __NR_fdatasync	(__NR_Linux + 28)
+#define __NR_kill	(__NR_Linux + 29)
+#define __NR_rename	(__NR_Linux + 30)
+#define __NR_mkdir	(__NR_Linux + 31)
+#define __NR_rmdir	(__NR_Linux + 32)
+#define __NR_dup	(__NR_Linux + 33)
+#define __NR_pipe	(__NR_Linux + 34)
+#define __NR_times	(__NR_Linux + 35)
+#define __NR_brk	(__NR_Linux + 36)
+#define __NR_setgid	(__NR_Linux + 37)
+#define __NR_getgid	(__NR_Linux + 38)
+#define __NR_getegid	(__NR_Linux + 39)
+#define __NR_acct	(__NR_Linux + 40)
+#define __NR_ioctl	(__NR_Linux + 41)
+#define __NR_fcntl	(__NR_Linux + 42)
+#define __NR_umask	(__NR_Linux + 43)
+#define __NR_chroot	(__NR_Linux + 44)
+#define __NR_ustat	(__NR_Linux + 45)
+#define __NR_dup2	(__NR_Linux + 46)
+#define __NR_setreuid	(__NR_Linux + 47)
+#define __NR_setregid	(__NR_Linux + 48)
+#define __NR_getresuid	(__NR_Linux + 49)
+#define __NR_setresuid	(__NR_Linux + 50)
+#define __NR_getresgid	(__NR_Linux + 51)
+#define __NR_setresgid	(__NR_Linux + 52)
+#define __NR_getgroups	(__NR_Linux + 53)
+#define __NR_setgroups	(__NR_Linux + 54)
+#define __NR_getpgid	(__NR_Linux + 55)
+#define __NR_setpgid	(__NR_Linux + 56)
+#define __NR_setsid	(__NR_Linux + 57)
+#define __NR_getsid	(__NR_Linux + 58)
+#define __NR_sethostname	(__NR_Linux + 59)
+#define __NR_setrlimit	(__NR_Linux + 60)
+#define __NR_getrlimit	(__NR_Linux + 61)
+#define __NR_getrusage	(__NR_Linux + 62)
+#define __NR_gettimeofday	(__NR_Linux + 63)
+#define __NR_settimeofday	(__NR_Linux + 64)
+#define __NR_select	(__NR_Linux + 65)
+#define __NR_poll	(__NR_Linux + 66)
+#define __NR_symlink	(__NR_Linux + 67)
+#define __NR_readlink	(__NR_Linux + 68)
+#define __NR_uselib	(__NR_Linux + 69)
+#define __NR_swapon	(__NR_Linux + 70)
+#define __NR_swapoff	(__NR_Linux + 71)
+#define __NR_reboot	(__NR_Linux + 72)
+#define __NR_truncate	(__NR_Linux + 73)
+#define __NR_ftruncate	(__NR_Linux + 74)
+#define __NR_fchmod	(__NR_Linux + 75)
+#define __NR_fchown	(__NR_Linux + 76)
+#define __NR_getpriority	(__NR_Linux + 77)
+#define __NR_setpriority	(__NR_Linux + 78)
+#define __NR_statfs	(__NR_Linux + 79)
+#define __NR_fstatfs	(__NR_Linux + 80)
+#define __NR_gettid	(__NR_Linux + 81)
+#define __NR_semget	(__NR_Linux + 82)
+#define __NR_semop	(__NR_Linux + 83)
+#define __NR_semctl	(__NR_Linux + 84)
+#define __NR_msgget	(__NR_Linux + 85)
+#define __NR_msgsnd	(__NR_Linux + 86)
+#define __NR_msgrcv	(__NR_Linux + 87)
+#define __NR_msgctl	(__NR_Linux + 88)
+#define __NR_shmget	(__NR_Linux + 89)
+#define __NR_shmat	(__NR_Linux + 90)
+#define __NR_shmdt	(__NR_Linux + 91)
+#define __NR_shmctl	(__NR_Linux + 92)
 /* also known as klogctl() in GNU libc: */
-#define __NR_syslog			1117
-#define __NR_setitimer			1118
-#define __NR_getitimer			1119
+#define __NR_syslog	(__NR_Linux + 93)
+#define __NR_setitimer	(__NR_Linux + 94)
+#define __NR_getitimer	(__NR_Linux + 95)
 /* 1120 was __NR_old_stat */
 /* 1121 was __NR_old_lstat */
 /* 1122 was __NR_old_fstat */
-#define __NR_vhangup			1123
-#define __NR_lchown			1124
-#define __NR_remap_file_pages		1125
-#define __NR_wait4			1126
-#define __NR_sysinfo			1127
-#define __NR_clone			1128
-#define __NR_setdomainname		1129
-#define __NR_uname			1130
-#define __NR_adjtimex			1131
+#define __NR_vhangup	(__NR_Linux + 99)
+#define __NR_lchown	(__NR_Linux + 100)
+#define __NR_remap_file_pages	(__NR_Linux + 101)
+#define __NR_wait4	(__NR_Linux + 102)
+#define __NR_sysinfo	(__NR_Linux + 103)
+#define __NR_clone	(__NR_Linux + 104)
+#define __NR_setdomainname	(__NR_Linux + 105)
+#define __NR_uname	(__NR_Linux + 106)
+#define __NR_adjtimex	(__NR_Linux + 107)
 /* 1132 was __NR_create_module */
-#define __NR_init_module		1133
-#define __NR_delete_module		1134
+#define __NR_init_module	(__NR_Linux + 109)
+#define __NR_delete_module	(__NR_Linux + 110)
 /* 1135 was __NR_get_kernel_syms */
 /* 1136 was __NR_query_module */
-#define __NR_quotactl			1137
-#define __NR_bdflush			1138
-#define __NR_sysfs			1139
-#define __NR_personality		1140
-#define __NR_afs_syscall		1141
-#define __NR_setfsuid			1142
-#define __NR_setfsgid			1143
-#define __NR_getdents			1144
-#define __NR_flock			1145
-#define __NR_readv			1146
-#define __NR_writev			1147
-#define __NR_pread64			1148
-#define __NR_pwrite64			1149
-#define __NR__sysctl			1150
-#define __NR_mmap			1151
-#define __NR_munmap			1152
-#define __NR_mlock			1153
-#define __NR_mlockall			1154
-#define __NR_mprotect			1155
-#define __NR_mremap			1156
-#define __NR_msync			1157
-#define __NR_munlock			1158
-#define __NR_munlockall			1159
-#define __NR_sched_getparam		1160
-#define __NR_sched_setparam		1161
-#define __NR_sched_getscheduler		1162
-#define __NR_sched_setscheduler		1163
-#define __NR_sched_yield		1164
-#define __NR_sched_get_priority_max	1165
-#define __NR_sched_get_priority_min	1166
-#define __NR_sched_rr_get_interval	1167
-#define __NR_nanosleep			1168
-#define __NR_nfsservctl			1169
-#define __NR_prctl			1170
+#define __NR_quotactl	(__NR_Linux + 113)
+#define __NR_bdflush	(__NR_Linux + 114)
+#define __NR_sysfs	(__NR_Linux + 115)
+#define __NR_personality	(__NR_Linux + 116)
+#define __NR_afs_syscall	(__NR_Linux + 117)
+#define __NR_setfsuid	(__NR_Linux + 118)
+#define __NR_setfsgid	(__NR_Linux + 119)
+#define __NR_getdents	(__NR_Linux + 120)
+#define __NR_flock	(__NR_Linux + 121)
+#define __NR_readv	(__NR_Linux + 122)
+#define __NR_writev	(__NR_Linux + 123)
+#define __NR_pread64	(__NR_Linux + 124)
+#define __NR_pwrite64	(__NR_Linux + 125)
+#define __NR__sysctl	(__NR_Linux + 126)
+#define __NR_mmap	(__NR_Linux + 127)
+#define __NR_munmap	(__NR_Linux + 128)
+#define __NR_mlock	(__NR_Linux + 129)
+#define __NR_mlockall	(__NR_Linux + 130)
+#define __NR_mprotect	(__NR_Linux + 131)
+#define __NR_mremap	(__NR_Linux + 132)
+#define __NR_msync	(__NR_Linux + 133)
+#define __NR_munlock	(__NR_Linux + 134)
+#define __NR_munlockall	(__NR_Linux + 135)
+#define __NR_sched_getparam	(__NR_Linux + 136)
+#define __NR_sched_setparam	(__NR_Linux + 137)
+#define __NR_sched_getscheduler	(__NR_Linux + 138)
+#define __NR_sched_setscheduler	(__NR_Linux + 139)
+#define __NR_sched_yield	(__NR_Linux + 140)
+#define __NR_sched_get_priority_max	(__NR_Linux + 141)
+#define __NR_sched_get_priority_min	(__NR_Linux + 142)
+#define __NR_sched_rr_get_interval	(__NR_Linux + 143)
+#define __NR_nanosleep	(__NR_Linux + 144)
+#define __NR_nfsservctl	(__NR_Linux + 145)
+#define __NR_prctl	(__NR_Linux + 146)
 /* 1171 is reserved for backwards compatibility with old __NR_getpagesize */
-#define __NR_mmap2			1172
-#define __NR_pciconfig_read		1173
-#define __NR_pciconfig_write		1174
-#define __NR_perfmonctl			1175
-#define __NR_sigaltstack		1176
-#define __NR_rt_sigaction		1177
-#define __NR_rt_sigpending		1178
-#define __NR_rt_sigprocmask		1179
-#define __NR_rt_sigqueueinfo		1180
-#define __NR_rt_sigreturn		1181
-#define __NR_rt_sigsuspend		1182
-#define __NR_rt_sigtimedwait		1183
-#define __NR_getcwd			1184
-#define __NR_capget			1185
-#define __NR_capset			1186
-#define __NR_sendfile			1187
-#define __NR_getpmsg			1188
-#define __NR_putpmsg			1189
-#define __NR_socket			1190
-#define __NR_bind			1191
-#define __NR_connect			1192
-#define __NR_listen			1193
-#define __NR_accept			1194
-#define __NR_getsockname		1195
-#define __NR_getpeername		1196
-#define __NR_socketpair			1197
-#define __NR_send			1198
-#define __NR_sendto			1199
-#define __NR_recv			1200
-#define __NR_recvfrom			1201
-#define __NR_shutdown			1202
-#define __NR_setsockopt			1203
-#define __NR_getsockopt			1204
-#define __NR_sendmsg			1205
-#define __NR_recvmsg			1206
-#define __NR_pivot_root			1207
-#define __NR_mincore			1208
-#define __NR_madvise			1209
-#define __NR_stat			1210
-#define __NR_lstat			1211
-#define __NR_fstat			1212
-#define __NR_clone2			1213
-#define __NR_getdents64			1214
-#define __NR_getunwind			1215
-#define __NR_readahead			1216
-#define __NR_setxattr			1217
-#define __NR_lsetxattr			1218
-#define __NR_fsetxattr			1219
-#define __NR_getxattr			1220
-#define __NR_lgetxattr			1221
-#define __NR_fgetxattr			1222
-#define __NR_listxattr			1223
-#define __NR_llistxattr			1224
-#define __NR_flistxattr			1225
-#define __NR_removexattr		1226
-#define __NR_lremovexattr		1227
-#define __NR_fremovexattr		1228
-#define __NR_tkill			1229
-#define __NR_futex			1230
-#define __NR_sched_setaffinity		1231
-#define __NR_sched_getaffinity		1232
-#define __NR_set_tid_address		1233
-#define __NR_fadvise64			1234
-#define __NR_tgkill			1235
-#define __NR_exit_group			1236
-#define __NR_lookup_dcookie		1237
-#define __NR_io_setup			1238
-#define __NR_io_destroy			1239
-#define __NR_io_getevents		1240
-#define __NR_io_submit			1241
-#define __NR_io_cancel			1242
-#define __NR_epoll_create		1243
-#define __NR_epoll_ctl			1244
-#define __NR_epoll_wait			1245
-#define __NR_restart_syscall		1246
-#define __NR_semtimedop			1247
-#define __NR_timer_create		1248
-#define __NR_timer_settime		1249
-#define __NR_timer_gettime		1250
-#define __NR_timer_getoverrun		1251
-#define __NR_timer_delete		1252
-#define __NR_clock_settime		1253
-#define __NR_clock_gettime		1254
-#define __NR_clock_getres		1255
-#define __NR_clock_nanosleep		1256
-#define __NR_fstatfs64			1257
-#define __NR_statfs64			1258
-#define __NR_mbind			1259
-#define __NR_get_mempolicy		1260
-#define __NR_set_mempolicy		1261
-#define __NR_mq_open			1262
-#define __NR_mq_unlink			1263
-#define __NR_mq_timedsend		1264
-#define __NR_mq_timedreceive		1265
-#define __NR_mq_notify			1266
-#define __NR_mq_getsetattr		1267
-#define __NR_kexec_load			1268
-#define __NR_vserver			1269
-#define __NR_waitid			1270
-#define __NR_add_key			1271
-#define __NR_request_key		1272
-#define __NR_keyctl			1273
-#define __NR_ioprio_set			1274
-#define __NR_ioprio_get			1275
-#define __NR_move_pages			1276
-#define __NR_inotify_init		1277
-#define __NR_inotify_add_watch		1278
-#define __NR_inotify_rm_watch		1279
-#define __NR_migrate_pages		1280
-#define __NR_openat			1281
-#define __NR_mkdirat			1282
-#define __NR_mknodat			1283
-#define __NR_fchownat			1284
-#define __NR_futimesat			1285
-#define __NR_newfstatat			1286
-#define __NR_unlinkat			1287
-#define __NR_renameat			1288
-#define __NR_linkat			1289
-#define __NR_symlinkat			1290
-#define __NR_readlinkat			1291
-#define __NR_fchmodat			1292
-#define __NR_faccessat			1293
-#define __NR_pselect6			1294
-#define __NR_ppoll			1295
-#define __NR_unshare			1296
-#define __NR_splice			1297
-#define __NR_set_robust_list		1298
-#define __NR_get_robust_list		1299
-#define __NR_sync_file_range		1300
-#define __NR_tee			1301
-#define __NR_vmsplice			1302
-#define __NR_fallocate			1303
-#define __NR_getcpu			1304
-#define __NR_epoll_pwait		1305
-#define __NR_utimensat			1306
-#define __NR_signalfd			1307
-#define __NR_timerfd			1308
-#define __NR_eventfd			1309
-#define __NR_timerfd_create		1310
-#define __NR_timerfd_settime		1311
-#define __NR_timerfd_gettime		1312
-#define __NR_signalfd4			1313
-#define __NR_eventfd2			1314
-#define __NR_epoll_create1		1315
-#define __NR_dup3			1316
-#define __NR_pipe2			1317
-#define __NR_inotify_init1		1318
-#define __NR_preadv			1319
-#define __NR_pwritev			1320
-#define __NR_rt_tgsigqueueinfo		1321
-#define __NR_recvmmsg			1322
-#define __NR_fanotify_init		1323
-#define __NR_fanotify_mark		1324
-#define __NR_prlimit64			1325
-#define __NR_name_to_handle_at		1326
-#define __NR_open_by_handle_at  	1327
-#define __NR_clock_adjtime		1328
-#define __NR_syncfs			1329
-#define __NR_setns			1330
-#define __NR_sendmmsg			1331
-#define __NR_process_vm_readv		1332
-#define __NR_process_vm_writev		1333
-#define __NR_accept4			1334
-#define __NR_finit_module		1335
-#define __NR_sched_setattr		1336
-#define __NR_sched_getattr		1337
-#define __NR_renameat2			1338
-#define __NR_getrandom			1339
-#define __NR_memfd_create		1340
-#define __NR_bpf			1341
-#define __NR_execveat			1342
-#define __NR_userfaultfd		1343
-#define __NR_membarrier			1344
-#define __NR_kcmp			1345
-#define __NR_mlock2			1346
-#define __NR_copy_file_range		1347
-#define __NR_preadv2			1348
-#define __NR_pwritev2			1349
+#define __NR_mmap2	(__NR_Linux + 148)
+#define __NR_pciconfig_read	(__NR_Linux + 149)
+#define __NR_pciconfig_write	(__NR_Linux + 150)
+#define __NR_perfmonctl	(__NR_Linux + 151)
+#define __NR_sigaltstack	(__NR_Linux + 152)
+#define __NR_rt_sigaction	(__NR_Linux + 153)
+#define __NR_rt_sigpending	(__NR_Linux + 154)
+#define __NR_rt_sigprocmask	(__NR_Linux + 155)
+#define __NR_rt_sigqueueinfo	(__NR_Linux + 156)
+#define __NR_rt_sigreturn	(__NR_Linux + 157)
+#define __NR_rt_sigsuspend	(__NR_Linux + 158)
+#define __NR_rt_sigtimedwait	(__NR_Linux + 159)
+#define __NR_getcwd	(__NR_Linux + 160)
+#define __NR_capget	(__NR_Linux + 161)
+#define __NR_capset	(__NR_Linux + 162)
+#define __NR_sendfile	(__NR_Linux + 163)
+#define __NR_getpmsg	(__NR_Linux + 164)
+#define __NR_putpmsg	(__NR_Linux + 165)
+#define __NR_socket	(__NR_Linux + 166)
+#define __NR_bind	(__NR_Linux + 167)
+#define __NR_connect	(__NR_Linux + 168)
+#define __NR_listen	(__NR_Linux + 169)
+#define __NR_accept	(__NR_Linux + 170)
+#define __NR_getsockname	(__NR_Linux + 171)
+#define __NR_getpeername	(__NR_Linux + 172)
+#define __NR_socketpair	(__NR_Linux + 173)
+#define __NR_send	(__NR_Linux + 174)
+#define __NR_sendto	(__NR_Linux + 175)
+#define __NR_recv	(__NR_Linux + 176)
+#define __NR_recvfrom	(__NR_Linux + 177)
+#define __NR_shutdown	(__NR_Linux + 178)
+#define __NR_setsockopt	(__NR_Linux + 179)
+#define __NR_getsockopt	(__NR_Linux + 180)
+#define __NR_sendmsg	(__NR_Linux + 181)
+#define __NR_recvmsg	(__NR_Linux + 182)
+#define __NR_pivot_root	(__NR_Linux + 183)
+#define __NR_mincore	(__NR_Linux + 184)
+#define __NR_madvise	(__NR_Linux + 185)
+#define __NR_stat	(__NR_Linux + 186)
+#define __NR_lstat	(__NR_Linux + 187)
+#define __NR_fstat	(__NR_Linux + 188)
+#define __NR_clone2	(__NR_Linux + 189)
+#define __NR_getdents64	(__NR_Linux + 190)
+#define __NR_getunwind	(__NR_Linux + 191)
+#define __NR_readahead	(__NR_Linux + 192)
+#define __NR_setxattr	(__NR_Linux + 193)
+#define __NR_lsetxattr	(__NR_Linux + 194)
+#define __NR_fsetxattr	(__NR_Linux + 195)
+#define __NR_getxattr	(__NR_Linux + 196)
+#define __NR_lgetxattr	(__NR_Linux + 197)
+#define __NR_fgetxattr	(__NR_Linux + 198)
+#define __NR_listxattr	(__NR_Linux + 199)
+#define __NR_llistxattr	(__NR_Linux + 200)
+#define __NR_flistxattr	(__NR_Linux + 201)
+#define __NR_removexattr	(__NR_Linux + 202)
+#define __NR_lremovexattr	(__NR_Linux + 203)
+#define __NR_fremovexattr	(__NR_Linux + 204)
+#define __NR_tkill	(__NR_Linux + 205)
+#define __NR_futex	(__NR_Linux + 206)
+#define __NR_sched_setaffinity	(__NR_Linux + 207)
+#define __NR_sched_getaffinity	(__NR_Linux + 208)
+#define __NR_set_tid_address	(__NR_Linux + 209)
+#define __NR_fadvise64	(__NR_Linux + 210)
+#define __NR_tgkill	(__NR_Linux + 211)
+#define __NR_exit_group	(__NR_Linux + 212)
+#define __NR_lookup_dcookie	(__NR_Linux + 213)
+#define __NR_io_setup	(__NR_Linux + 214)
+#define __NR_io_destroy	(__NR_Linux + 215)
+#define __NR_io_getevents	(__NR_Linux + 216)
+#define __NR_io_submit	(__NR_Linux + 217)
+#define __NR_io_cancel	(__NR_Linux + 218)
+#define __NR_epoll_create	(__NR_Linux + 219)
+#define __NR_epoll_ctl	(__NR_Linux + 220)
+#define __NR_epoll_wait	(__NR_Linux + 221)
+#define __NR_restart_syscall	(__NR_Linux + 222)
+#define __NR_semtimedop	(__NR_Linux + 223)
+#define __NR_timer_create	(__NR_Linux + 224)
+#define __NR_timer_settime	(__NR_Linux + 225)
+#define __NR_timer_gettime	(__NR_Linux + 226)
+#define __NR_timer_getoverrun	(__NR_Linux + 227)
+#define __NR_timer_delete	(__NR_Linux + 228)
+#define __NR_clock_settime	(__NR_Linux + 229)
+#define __NR_clock_gettime	(__NR_Linux + 230)
+#define __NR_clock_getres	(__NR_Linux + 231)
+#define __NR_clock_nanosleep	(__NR_Linux + 232)
+#define __NR_fstatfs64	(__NR_Linux + 233)
+#define __NR_statfs64	(__NR_Linux + 234)
+#define __NR_mbind	(__NR_Linux + 235)
+#define __NR_get_mempolicy	(__NR_Linux + 236)
+#define __NR_set_mempolicy	(__NR_Linux + 237)
+#define __NR_mq_open	(__NR_Linux + 238)
+#define __NR_mq_unlink	(__NR_Linux + 239)
+#define __NR_mq_timedsend	(__NR_Linux + 240)
+#define __NR_mq_timedreceive	(__NR_Linux + 241)
+#define __NR_mq_notify	(__NR_Linux + 242)
+#define __NR_mq_getsetattr	(__NR_Linux + 243)
+#define __NR_kexec_load	(__NR_Linux + 244)
+#define __NR_vserver	(__NR_Linux + 245)
+#define __NR_waitid	(__NR_Linux + 246)
+#define __NR_add_key	(__NR_Linux + 247)
+#define __NR_request_key	(__NR_Linux + 248)
+#define __NR_keyctl	(__NR_Linux + 249)
+#define __NR_ioprio_set	(__NR_Linux + 250)
+#define __NR_ioprio_get	(__NR_Linux + 251)
+#define __NR_move_pages	(__NR_Linux + 252)
+#define __NR_inotify_init	(__NR_Linux + 253)
+#define __NR_inotify_add_watch	(__NR_Linux + 254)
+#define __NR_inotify_rm_watch	(__NR_Linux + 255)
+#define __NR_migrate_pages	(__NR_Linux + 256)
+#define __NR_openat	(__NR_Linux + 257)
+#define __NR_mkdirat	(__NR_Linux + 258)
+#define __NR_mknodat	(__NR_Linux + 259)
+#define __NR_fchownat	(__NR_Linux + 260)
+#define __NR_futimesat	(__NR_Linux + 261)
+#define __NR_newfstatat	(__NR_Linux + 262)
+#define __NR_unlinkat	(__NR_Linux + 263)
+#define __NR_renameat	(__NR_Linux + 264)
+#define __NR_linkat	(__NR_Linux + 265)
+#define __NR_symlinkat	(__NR_Linux + 266)
+#define __NR_readlinkat	(__NR_Linux + 267)
+#define __NR_fchmodat	(__NR_Linux + 268)
+#define __NR_faccessat	(__NR_Linux + 269)
+#define __NR_pselect6	(__NR_Linux + 270)
+#define __NR_ppoll	(__NR_Linux + 271)
+#define __NR_unshare	(__NR_Linux + 272)
+#define __NR_splice	(__NR_Linux + 273)
+#define __NR_set_robust_list	(__NR_Linux + 274)
+#define __NR_get_robust_list	(__NR_Linux + 275)
+#define __NR_sync_file_range	(__NR_Linux + 276)
+#define __NR_tee	(__NR_Linux + 277)
+#define __NR_vmsplice	(__NR_Linux + 278)
+#define __NR_fallocate	(__NR_Linux + 279)
+#define __NR_getcpu	(__NR_Linux + 280)
+#define __NR_epoll_pwait	(__NR_Linux + 281)
+#define __NR_utimensat	(__NR_Linux + 282)
+#define __NR_signalfd	(__NR_Linux + 283)
+#define __NR_timerfd	(__NR_Linux + 284)
+#define __NR_eventfd	(__NR_Linux + 285)
+#define __NR_timerfd_create	(__NR_Linux + 286)
+#define __NR_timerfd_settime	(__NR_Linux + 287)
+#define __NR_timerfd_gettime	(__NR_Linux + 288)
+#define __NR_signalfd4	(__NR_Linux + 289)
+#define __NR_eventfd2	(__NR_Linux + 290)
+#define __NR_epoll_create1	(__NR_Linux + 291)
+#define __NR_dup3	(__NR_Linux + 292)
+#define __NR_pipe2	(__NR_Linux + 293)
+#define __NR_inotify_init1	(__NR_Linux + 294)
+#define __NR_preadv	(__NR_Linux + 295)
+#define __NR_pwritev	(__NR_Linux + 296)
+#define __NR_rt_tgsigqueueinfo	(__NR_Linux + 297)
+#define __NR_recvmmsg	(__NR_Linux + 298)
+#define __NR_fanotify_init	(__NR_Linux + 299)
+#define __NR_fanotify_mark	(__NR_Linux + 300)
+#define __NR_prlimit64	(__NR_Linux + 301)
+#define __NR_name_to_handle_at	(__NR_Linux + 302)
+#define __NR_open_by_handle_at	(__NR_Linux + 303)
+#define __NR_clock_adjtime	(__NR_Linux + 304)
+#define __NR_syncfs	(__NR_Linux + 305)
+#define __NR_setns	(__NR_Linux + 306)
+#define __NR_sendmmsg	(__NR_Linux + 307)
+#define __NR_process_vm_readv	(__NR_Linux + 308)
+#define __NR_process_vm_writev	(__NR_Linux + 309)
+#define __NR_accept4	(__NR_Linux + 310)
+#define __NR_finit_module	(__NR_Linux + 311)
+#define __NR_sched_setattr	(__NR_Linux + 312)
+#define __NR_sched_getattr	(__NR_Linux + 313)
+#define __NR_renameat2	(__NR_Linux + 314)
+#define __NR_getrandom	(__NR_Linux + 315)
+#define __NR_memfd_create	(__NR_Linux + 316)
+#define __NR_bpf	(__NR_Linux + 317)
+#define __NR_execveat	(__NR_Linux + 318)
+#define __NR_userfaultfd	(__NR_Linux + 319)
+#define __NR_membarrier	(__NR_Linux + 320)
+#define __NR_kcmp	(__NR_Linux + 321)
+#define __NR_mlock2	(__NR_Linux + 322)
+#define __NR_copy_file_range	(__NR_Linux + 323)
+#define __NR_preadv2	(__NR_Linux + 324)
+#define __NR_pwritev2	(__NR_Linux + 325)
 
-#define __NR_syscalls			326 /* length of syscall table */
+#define __NR_syscalls	326 /* length of syscall table */
 
 #endif /* _UAPI_ASM_IA64_UNISTD_H */
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/5] ia64: Replaced the system call table entry from entry.S
  2018-08-09  5:05 [PATCH 0/5] System call table generation support Firoz Khan
  2018-08-09  5:05 ` [PATCH 1/5] ia64: Replace NR_syscalls macro from asm/unistd.h Firoz Khan
  2018-08-09  5:05 ` [PATCH 2/5] ia64: Added an offset for system call number Firoz Khan
@ 2018-08-09  5:05 ` Firoz Khan
  2018-08-09  5:05 ` [PATCH 4/5] ia64: Added system call table generation support Firoz Khan
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Firoz Khan @ 2018-08-09  5:05 UTC (permalink / raw)
  To: linux-ia64, Tony Luck, Fenghua Yu
  Cc: y2038, linux-kernel, linux-arch, arnd, deepa.kernel,
	marcin.juszkiewicz, firoz.khan

In IA64, system call table entries are the part of entry.S file. We
need to keep it in a seperate file so that one of the patch in this
patch seriers does have a system call table generation script which
can seperatly handle system call table entries.

Replaced the system call table from entry.S to new file - syscall.S,
and this change will unify the implementation across all the
architecture and to simplify the implementation for system call
table generation using the script.

Signed-off-by: Firoz Khan <firoz.khan@linaro.org>
---
 arch/ia64/kernel/entry.S   | 333 +-------------------------------------------
 arch/ia64/kernel/syscall.S | 334 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 335 insertions(+), 332 deletions(-)
 create mode 100644 arch/ia64/kernel/syscall.S

diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S
index f40d9fd..cf463a6 100644
--- a/arch/ia64/kernel/entry.S
+++ b/arch/ia64/kernel/entry.S
@@ -1426,335 +1426,4 @@ END(ftrace_stub)
 
 #endif /* CONFIG_FUNCTION_TRACER */
 
-	.rodata
-	.align 8
-	.globl sys_call_table
-sys_call_table:
-	data8 sys_ni_syscall		//  This must be sys_ni_syscall!  See ivt.S.
-	data8 sys_exit				// 1025
-	data8 sys_read
-	data8 sys_write
-	data8 sys_open
-	data8 sys_close
-	data8 sys_creat				// 1030
-	data8 sys_link
-	data8 sys_unlink
-	data8 ia64_execve
-	data8 sys_chdir
-	data8 sys_fchdir			// 1035
-	data8 sys_utimes
-	data8 sys_mknod
-	data8 sys_chmod
-	data8 sys_chown
-	data8 sys_lseek				// 1040
-	data8 sys_getpid
-	data8 sys_getppid
-	data8 sys_mount
-	data8 sys_umount
-	data8 sys_setuid			// 1045
-	data8 sys_getuid
-	data8 sys_geteuid
-	data8 sys_ptrace
-	data8 sys_access
-	data8 sys_sync				// 1050
-	data8 sys_fsync
-	data8 sys_fdatasync
-	data8 sys_kill
-	data8 sys_rename
-	data8 sys_mkdir				// 1055
-	data8 sys_rmdir
-	data8 sys_dup
-	data8 sys_ia64_pipe
-	data8 sys_times
-	data8 ia64_brk				// 1060
-	data8 sys_setgid
-	data8 sys_getgid
-	data8 sys_getegid
-	data8 sys_acct
-	data8 sys_ioctl				// 1065
-	data8 sys_fcntl
-	data8 sys_umask
-	data8 sys_chroot
-	data8 sys_ustat
-	data8 sys_dup2				// 1070
-	data8 sys_setreuid
-	data8 sys_setregid
-	data8 sys_getresuid
-	data8 sys_setresuid
-	data8 sys_getresgid			// 1075
-	data8 sys_setresgid
-	data8 sys_getgroups
-	data8 sys_setgroups
-	data8 sys_getpgid
-	data8 sys_setpgid			// 1080
-	data8 sys_setsid
-	data8 sys_getsid
-	data8 sys_sethostname
-	data8 sys_setrlimit
-	data8 sys_getrlimit			// 1085
-	data8 sys_getrusage
-	data8 sys_gettimeofday
-	data8 sys_settimeofday
-	data8 sys_select
-	data8 sys_poll				// 1090
-	data8 sys_symlink
-	data8 sys_readlink
-	data8 sys_uselib
-	data8 sys_swapon
-	data8 sys_swapoff			// 1095
-	data8 sys_reboot
-	data8 sys_truncate
-	data8 sys_ftruncate
-	data8 sys_fchmod
-	data8 sys_fchown			// 1100
-	data8 ia64_getpriority
-	data8 sys_setpriority
-	data8 sys_statfs
-	data8 sys_fstatfs
-	data8 sys_gettid			// 1105
-	data8 sys_semget
-	data8 sys_semop
-	data8 sys_semctl
-	data8 sys_msgget
-	data8 sys_msgsnd			// 1110
-	data8 sys_msgrcv
-	data8 sys_msgctl
-	data8 sys_shmget
-	data8 sys_shmat
-	data8 sys_shmdt				// 1115
-	data8 sys_shmctl
-	data8 sys_syslog
-	data8 sys_setitimer
-	data8 sys_getitimer
-	data8 sys_ni_syscall			// 1120		/* was: ia64_oldstat */
-	data8 sys_ni_syscall					/* was: ia64_oldlstat */
-	data8 sys_ni_syscall					/* was: ia64_oldfstat */
-	data8 sys_vhangup
-	data8 sys_lchown
-	data8 sys_remap_file_pages		// 1125
-	data8 sys_wait4
-	data8 sys_sysinfo
-	data8 sys_clone
-	data8 sys_setdomainname
-	data8 sys_newuname			// 1130
-	data8 sys_adjtimex
-	data8 sys_ni_syscall					/* was: ia64_create_module */
-	data8 sys_init_module
-	data8 sys_delete_module
-	data8 sys_ni_syscall			// 1135		/* was: sys_get_kernel_syms */
-	data8 sys_ni_syscall					/* was: sys_query_module */
-	data8 sys_quotactl
-	data8 sys_bdflush
-	data8 sys_sysfs
-	data8 sys_personality			// 1140
-	data8 sys_ni_syscall		// sys_afs_syscall
-	data8 sys_setfsuid
-	data8 sys_setfsgid
-	data8 sys_getdents
-	data8 sys_flock				// 1145
-	data8 sys_readv
-	data8 sys_writev
-	data8 sys_pread64
-	data8 sys_pwrite64
-	data8 sys_sysctl			// 1150
-	data8 sys_mmap
-	data8 sys_munmap
-	data8 sys_mlock
-	data8 sys_mlockall
-	data8 sys_mprotect			// 1155
-	data8 ia64_mremap
-	data8 sys_msync
-	data8 sys_munlock
-	data8 sys_munlockall
-	data8 sys_sched_getparam		// 1160
-	data8 sys_sched_setparam
-	data8 sys_sched_getscheduler
-	data8 sys_sched_setscheduler
-	data8 sys_sched_yield
-	data8 sys_sched_get_priority_max	// 1165
-	data8 sys_sched_get_priority_min
-	data8 sys_sched_rr_get_interval
-	data8 sys_nanosleep
-	data8 sys_ni_syscall			// old nfsservctl
-	data8 sys_prctl				// 1170
-	data8 sys_getpagesize
-	data8 sys_mmap2
-	data8 sys_pciconfig_read
-	data8 sys_pciconfig_write
-	data8 sys_perfmonctl			// 1175
-	data8 sys_sigaltstack
-	data8 sys_rt_sigaction
-	data8 sys_rt_sigpending
-	data8 sys_rt_sigprocmask
-	data8 sys_rt_sigqueueinfo		// 1180
-	data8 sys_rt_sigreturn
-	data8 sys_rt_sigsuspend
-	data8 sys_rt_sigtimedwait
-	data8 sys_getcwd
-	data8 sys_capget			// 1185
-	data8 sys_capset
-	data8 sys_sendfile64
-	data8 sys_ni_syscall		// sys_getpmsg (STREAMS)
-	data8 sys_ni_syscall		// sys_putpmsg (STREAMS)
-	data8 sys_socket			// 1190
-	data8 sys_bind
-	data8 sys_connect
-	data8 sys_listen
-	data8 sys_accept
-	data8 sys_getsockname			// 1195
-	data8 sys_getpeername
-	data8 sys_socketpair
-	data8 sys_send
-	data8 sys_sendto
-	data8 sys_recv				// 1200
-	data8 sys_recvfrom
-	data8 sys_shutdown
-	data8 sys_setsockopt
-	data8 sys_getsockopt
-	data8 sys_sendmsg			// 1205
-	data8 sys_recvmsg
-	data8 sys_pivot_root
-	data8 sys_mincore
-	data8 sys_madvise
-	data8 sys_newstat			// 1210
-	data8 sys_newlstat
-	data8 sys_newfstat
-	data8 sys_clone2
-	data8 sys_getdents64
-	data8 sys_getunwind			// 1215
-	data8 sys_readahead
-	data8 sys_setxattr
-	data8 sys_lsetxattr
-	data8 sys_fsetxattr
-	data8 sys_getxattr			// 1220
-	data8 sys_lgetxattr
-	data8 sys_fgetxattr
-	data8 sys_listxattr
-	data8 sys_llistxattr
-	data8 sys_flistxattr			// 1225
-	data8 sys_removexattr
-	data8 sys_lremovexattr
-	data8 sys_fremovexattr
-	data8 sys_tkill
-	data8 sys_futex				// 1230
-	data8 sys_sched_setaffinity
-	data8 sys_sched_getaffinity
-	data8 sys_set_tid_address
-	data8 sys_fadvise64_64
-	data8 sys_tgkill 			// 1235
-	data8 sys_exit_group
-	data8 sys_lookup_dcookie
-	data8 sys_io_setup
-	data8 sys_io_destroy
-	data8 sys_io_getevents			// 1240
-	data8 sys_io_submit
-	data8 sys_io_cancel
-	data8 sys_epoll_create
-	data8 sys_epoll_ctl
-	data8 sys_epoll_wait			// 1245
-	data8 sys_restart_syscall
-	data8 sys_semtimedop
-	data8 sys_timer_create
-	data8 sys_timer_settime
-	data8 sys_timer_gettime			// 1250
-	data8 sys_timer_getoverrun
-	data8 sys_timer_delete
-	data8 sys_clock_settime
-	data8 sys_clock_gettime
-	data8 sys_clock_getres			// 1255
-	data8 sys_clock_nanosleep
-	data8 sys_fstatfs64
-	data8 sys_statfs64
-	data8 sys_mbind
-	data8 sys_get_mempolicy			// 1260
-	data8 sys_set_mempolicy
-	data8 sys_mq_open
-	data8 sys_mq_unlink
-	data8 sys_mq_timedsend
-	data8 sys_mq_timedreceive		// 1265
-	data8 sys_mq_notify
-	data8 sys_mq_getsetattr
-	data8 sys_kexec_load
-	data8 sys_ni_syscall			// reserved for vserver
-	data8 sys_waitid			// 1270
-	data8 sys_add_key
-	data8 sys_request_key
-	data8 sys_keyctl
-	data8 sys_ioprio_set
-	data8 sys_ioprio_get			// 1275
-	data8 sys_move_pages
-	data8 sys_inotify_init
-	data8 sys_inotify_add_watch
-	data8 sys_inotify_rm_watch
-	data8 sys_migrate_pages			// 1280
-	data8 sys_openat
-	data8 sys_mkdirat
-	data8 sys_mknodat
-	data8 sys_fchownat
-	data8 sys_futimesat			// 1285
-	data8 sys_newfstatat
-	data8 sys_unlinkat
-	data8 sys_renameat
-	data8 sys_linkat
-	data8 sys_symlinkat			// 1290
-	data8 sys_readlinkat
-	data8 sys_fchmodat
-	data8 sys_faccessat
-	data8 sys_pselect6
-	data8 sys_ppoll				// 1295
-	data8 sys_unshare
-	data8 sys_splice
-	data8 sys_set_robust_list
-	data8 sys_get_robust_list
-	data8 sys_sync_file_range		// 1300
-	data8 sys_tee
-	data8 sys_vmsplice
-	data8 sys_fallocate
-	data8 sys_getcpu
-	data8 sys_epoll_pwait			// 1305
-	data8 sys_utimensat
-	data8 sys_signalfd
-	data8 sys_ni_syscall
-	data8 sys_eventfd
-	data8 sys_timerfd_create		// 1310
-	data8 sys_timerfd_settime
-	data8 sys_timerfd_gettime
-	data8 sys_signalfd4
-	data8 sys_eventfd2
-	data8 sys_epoll_create1			// 1315
-	data8 sys_dup3
-	data8 sys_pipe2
-	data8 sys_inotify_init1
-	data8 sys_preadv
-	data8 sys_pwritev			// 1320
-	data8 sys_rt_tgsigqueueinfo
-	data8 sys_recvmmsg
-	data8 sys_fanotify_init
-	data8 sys_fanotify_mark
-	data8 sys_prlimit64			// 1325
-	data8 sys_name_to_handle_at
-	data8 sys_open_by_handle_at
-	data8 sys_clock_adjtime
-	data8 sys_syncfs
-	data8 sys_setns				// 1330
-	data8 sys_sendmmsg
-	data8 sys_process_vm_readv
-	data8 sys_process_vm_writev
-	data8 sys_accept4
-	data8 sys_finit_module			// 1335
-	data8 sys_sched_setattr
-	data8 sys_sched_getattr
-	data8 sys_renameat2
-	data8 sys_getrandom
-	data8 sys_memfd_create			// 1340
-	data8 sys_bpf
-	data8 sys_execveat
-	data8 sys_userfaultfd
-	data8 sys_membarrier
-	data8 sys_kcmp				// 1345
-	data8 sys_mlock2
-	data8 sys_copy_file_range
-	data8 sys_preadv2
-	data8 sys_pwritev2
-
-	.org sys_call_table + 8*__NR_syscalls	// guard against failures to increase __NR_syscalls
+#include "syscall.S"
diff --git a/arch/ia64/kernel/syscall.S b/arch/ia64/kernel/syscall.S
new file mode 100644
index 0000000..970e0e6
--- /dev/null
+++ b/arch/ia64/kernel/syscall.S
@@ -0,0 +1,334 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+	.rodata
+	.align 8
+	.globl sys_call_table
+sys_call_table:
+	data8 sys_ni_syscall		//  This must be sys_ni_syscall!  See ivt.S.
+	data8 sys_exit				// 1025
+	data8 sys_read
+	data8 sys_write
+	data8 sys_open
+	data8 sys_close
+	data8 sys_creat				// 1030
+	data8 sys_link
+	data8 sys_unlink
+	data8 ia64_execve
+	data8 sys_chdir
+	data8 sys_fchdir			// 1035
+	data8 sys_utimes
+	data8 sys_mknod
+	data8 sys_chmod
+	data8 sys_chown
+	data8 sys_lseek				// 1040
+	data8 sys_getpid
+	data8 sys_getppid
+	data8 sys_mount
+	data8 sys_umount
+	data8 sys_setuid			// 1045
+	data8 sys_getuid
+	data8 sys_geteuid
+	data8 sys_ptrace
+	data8 sys_access
+	data8 sys_sync				// 1050
+	data8 sys_fsync
+	data8 sys_fdatasync
+	data8 sys_kill
+	data8 sys_rename
+	data8 sys_mkdir				// 1055
+	data8 sys_rmdir
+	data8 sys_dup
+	data8 sys_ia64_pipe
+	data8 sys_times
+	data8 ia64_brk				// 1060
+	data8 sys_setgid
+	data8 sys_getgid
+	data8 sys_getegid
+	data8 sys_acct
+	data8 sys_ioctl				// 1065
+	data8 sys_fcntl
+	data8 sys_umask
+	data8 sys_chroot
+	data8 sys_ustat
+	data8 sys_dup2				// 1070
+	data8 sys_setreuid
+	data8 sys_setregid
+	data8 sys_getresuid
+	data8 sys_setresuid
+	data8 sys_getresgid			// 1075
+	data8 sys_setresgid
+	data8 sys_getgroups
+	data8 sys_setgroups
+	data8 sys_getpgid
+	data8 sys_setpgid			// 1080
+	data8 sys_setsid
+	data8 sys_getsid
+	data8 sys_sethostname
+	data8 sys_setrlimit
+	data8 sys_getrlimit			// 1085
+	data8 sys_getrusage
+	data8 sys_gettimeofday
+	data8 sys_settimeofday
+	data8 sys_select
+	data8 sys_poll				// 1090
+	data8 sys_symlink
+	data8 sys_readlink
+	data8 sys_uselib
+	data8 sys_swapon
+	data8 sys_swapoff			// 1095
+	data8 sys_reboot
+	data8 sys_truncate
+	data8 sys_ftruncate
+	data8 sys_fchmod
+	data8 sys_fchown			// 1100
+	data8 ia64_getpriority
+	data8 sys_setpriority
+	data8 sys_statfs
+	data8 sys_fstatfs
+	data8 sys_gettid			// 1105
+	data8 sys_semget
+	data8 sys_semop
+	data8 sys_semctl
+	data8 sys_msgget
+	data8 sys_msgsnd			// 1110
+	data8 sys_msgrcv
+	data8 sys_msgctl
+	data8 sys_shmget
+	data8 sys_shmat
+	data8 sys_shmdt				// 1115
+	data8 sys_shmctl
+	data8 sys_syslog
+	data8 sys_setitimer
+	data8 sys_getitimer
+	data8 sys_ni_syscall			// 1120		/* was: ia64_oldstat */
+	data8 sys_ni_syscall					/* was: ia64_oldlstat */
+	data8 sys_ni_syscall					/* was: ia64_oldfstat */
+	data8 sys_vhangup
+	data8 sys_lchown
+	data8 sys_remap_file_pages		// 1125
+	data8 sys_wait4
+	data8 sys_sysinfo
+	data8 sys_clone
+	data8 sys_setdomainname
+	data8 sys_newuname			// 1130
+	data8 sys_adjtimex
+	data8 sys_ni_syscall					/* was: ia64_create_module */
+	data8 sys_init_module
+	data8 sys_delete_module
+	data8 sys_ni_syscall			// 1135		/* was: sys_get_kernel_syms */
+	data8 sys_ni_syscall					/* was: sys_query_module */
+	data8 sys_quotactl
+	data8 sys_bdflush
+	data8 sys_sysfs
+	data8 sys_personality			// 1140
+	data8 sys_ni_syscall		// sys_afs_syscall
+	data8 sys_setfsuid
+	data8 sys_setfsgid
+	data8 sys_getdents
+	data8 sys_flock				// 1145
+	data8 sys_readv
+	data8 sys_writev
+	data8 sys_pread64
+	data8 sys_pwrite64
+	data8 sys_sysctl			// 1150
+	data8 sys_mmap
+	data8 sys_munmap
+	data8 sys_mlock
+	data8 sys_mlockall
+	data8 sys_mprotect			// 1155
+	data8 ia64_mremap
+	data8 sys_msync
+	data8 sys_munlock
+	data8 sys_munlockall
+	data8 sys_sched_getparam		// 1160
+	data8 sys_sched_setparam
+	data8 sys_sched_getscheduler
+	data8 sys_sched_setscheduler
+	data8 sys_sched_yield
+	data8 sys_sched_get_priority_max	// 1165
+	data8 sys_sched_get_priority_min
+	data8 sys_sched_rr_get_interval
+	data8 sys_nanosleep
+	data8 sys_ni_syscall			// old nfsservctl
+	data8 sys_prctl				// 1170
+	data8 sys_getpagesize
+	data8 sys_mmap2
+	data8 sys_pciconfig_read
+	data8 sys_pciconfig_write
+	data8 sys_perfmonctl			// 1175
+	data8 sys_sigaltstack
+	data8 sys_rt_sigaction
+	data8 sys_rt_sigpending
+	data8 sys_rt_sigprocmask
+	data8 sys_rt_sigqueueinfo		// 1180
+	data8 sys_rt_sigreturn
+	data8 sys_rt_sigsuspend
+	data8 sys_rt_sigtimedwait
+	data8 sys_getcwd
+	data8 sys_capget			// 1185
+	data8 sys_capset
+	data8 sys_sendfile64
+	data8 sys_ni_syscall		// sys_getpmsg (STREAMS)
+	data8 sys_ni_syscall		// sys_putpmsg (STREAMS)
+	data8 sys_socket			// 1190
+	data8 sys_bind
+	data8 sys_connect
+	data8 sys_listen
+	data8 sys_accept
+	data8 sys_getsockname			// 1195
+	data8 sys_getpeername
+	data8 sys_socketpair
+	data8 sys_send
+	data8 sys_sendto
+	data8 sys_recv				// 1200
+	data8 sys_recvfrom
+	data8 sys_shutdown
+	data8 sys_setsockopt
+	data8 sys_getsockopt
+	data8 sys_sendmsg			// 1205
+	data8 sys_recvmsg
+	data8 sys_pivot_root
+	data8 sys_mincore
+	data8 sys_madvise
+	data8 sys_newstat			// 1210
+	data8 sys_newlstat
+	data8 sys_newfstat
+	data8 sys_clone2
+	data8 sys_getdents64
+	data8 sys_getunwind			// 1215
+	data8 sys_readahead
+	data8 sys_setxattr
+	data8 sys_lsetxattr
+	data8 sys_fsetxattr
+	data8 sys_getxattr			// 1220
+	data8 sys_lgetxattr
+	data8 sys_fgetxattr
+	data8 sys_listxattr
+	data8 sys_llistxattr
+	data8 sys_flistxattr			// 1225
+	data8 sys_removexattr
+	data8 sys_lremovexattr
+	data8 sys_fremovexattr
+	data8 sys_tkill
+	data8 sys_futex				// 1230
+	data8 sys_sched_setaffinity
+	data8 sys_sched_getaffinity
+	data8 sys_set_tid_address
+	data8 sys_fadvise64_64
+	data8 sys_tgkill 			// 1235
+	data8 sys_exit_group
+	data8 sys_lookup_dcookie
+	data8 sys_io_setup
+	data8 sys_io_destroy
+	data8 sys_io_getevents			// 1240
+	data8 sys_io_submit
+	data8 sys_io_cancel
+	data8 sys_epoll_create
+	data8 sys_epoll_ctl
+	data8 sys_epoll_wait			// 1245
+	data8 sys_restart_syscall
+	data8 sys_semtimedop
+	data8 sys_timer_create
+	data8 sys_timer_settime
+	data8 sys_timer_gettime			// 1250
+	data8 sys_timer_getoverrun
+	data8 sys_timer_delete
+	data8 sys_clock_settime
+	data8 sys_clock_gettime
+	data8 sys_clock_getres			// 1255
+	data8 sys_clock_nanosleep
+	data8 sys_fstatfs64
+	data8 sys_statfs64
+	data8 sys_mbind
+	data8 sys_get_mempolicy			// 1260
+	data8 sys_set_mempolicy
+	data8 sys_mq_open
+	data8 sys_mq_unlink
+	data8 sys_mq_timedsend
+	data8 sys_mq_timedreceive		// 1265
+	data8 sys_mq_notify
+	data8 sys_mq_getsetattr
+	data8 sys_kexec_load
+	data8 sys_ni_syscall			// reserved for vserver
+	data8 sys_waitid			// 1270
+	data8 sys_add_key
+	data8 sys_request_key
+	data8 sys_keyctl
+	data8 sys_ioprio_set
+	data8 sys_ioprio_get			// 1275
+	data8 sys_move_pages
+	data8 sys_inotify_init
+	data8 sys_inotify_add_watch
+	data8 sys_inotify_rm_watch
+	data8 sys_migrate_pages			// 1280
+	data8 sys_openat
+	data8 sys_mkdirat
+	data8 sys_mknodat
+	data8 sys_fchownat
+	data8 sys_futimesat			// 1285
+	data8 sys_newfstatat
+	data8 sys_unlinkat
+	data8 sys_renameat
+	data8 sys_linkat
+	data8 sys_symlinkat			// 1290
+	data8 sys_readlinkat
+	data8 sys_fchmodat
+	data8 sys_faccessat
+	data8 sys_pselect6
+	data8 sys_ppoll				// 1295
+	data8 sys_unshare
+	data8 sys_splice
+	data8 sys_set_robust_list
+	data8 sys_get_robust_list
+	data8 sys_sync_file_range		// 1300
+	data8 sys_tee
+	data8 sys_vmsplice
+	data8 sys_fallocate
+	data8 sys_getcpu
+	data8 sys_epoll_pwait			// 1305
+	data8 sys_utimensat
+	data8 sys_signalfd
+	data8 sys_ni_syscall
+	data8 sys_eventfd
+	data8 sys_timerfd_create		// 1310
+	data8 sys_timerfd_settime
+	data8 sys_timerfd_gettime
+	data8 sys_signalfd4
+	data8 sys_eventfd2
+	data8 sys_epoll_create1			// 1315
+	data8 sys_dup3
+	data8 sys_pipe2
+	data8 sys_inotify_init1
+	data8 sys_preadv
+	data8 sys_pwritev			// 1320
+	data8 sys_rt_tgsigqueueinfo
+	data8 sys_recvmmsg
+	data8 sys_fanotify_init
+	data8 sys_fanotify_mark
+	data8 sys_prlimit64			// 1325
+	data8 sys_name_to_handle_at
+	data8 sys_open_by_handle_at
+	data8 sys_clock_adjtime
+	data8 sys_syncfs
+	data8 sys_setns				// 1330
+	data8 sys_sendmmsg
+	data8 sys_process_vm_readv
+	data8 sys_process_vm_writev
+	data8 sys_accept4
+	data8 sys_finit_module			// 1335
+	data8 sys_sched_setattr
+	data8 sys_sched_getattr
+	data8 sys_renameat2
+	data8 sys_getrandom
+	data8 sys_memfd_create			// 1340
+	data8 sys_bpf
+	data8 sys_execveat
+	data8 sys_userfaultfd
+	data8 sys_membarrier
+	data8 sys_kcmp				// 1345
+	data8 sys_mlock2
+	data8 sys_copy_file_range
+	data8 sys_preadv2
+	data8 sys_pwritev2
+
+	.org sys_call_table + 8*__NR_syscalls	// guard against failures to increase NR_syscalls
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 4/5] ia64: Added system call table generation support
  2018-08-09  5:05 [PATCH 0/5] System call table generation support Firoz Khan
                   ` (2 preceding siblings ...)
  2018-08-09  5:05 ` [PATCH 3/5] ia64: Replaced the system call table entry from entry.S Firoz Khan
@ 2018-08-09  5:05 ` Firoz Khan
  2018-08-09  5:05 ` [PATCH 5/5] ia64: uapi header and system call table file generation Firoz Khan
  2018-08-10 16:20 ` [PATCH 0/5] System call table generation support Luck, Tony
  5 siblings, 0 replies; 8+ messages in thread
From: Firoz Khan @ 2018-08-09  5:05 UTC (permalink / raw)
  To: linux-ia64, Tony Luck, Fenghua Yu
  Cc: y2038, linux-kernel, linux-arch, arnd, deepa.kernel,
	marcin.juszkiewicz, firoz.khan

The system call tables are in different format in all
architecture and it will be difficult to manually add or
modify the system calls in the respective files. To make
it easy by keeping a script and which'll generate the
header file and syscall table file so this change will
unify them across all architectures.

The system call table generation script is added in
syscalls directory which contain the script to generate
both uapi header file system call table generation file
and syscall.tbl file which'll be the input for the scripts.

syscall.tbl contains the list of available system calls
along with system call number and corresponding entry point.
Add a new system call in this architecture will be possible
by adding new entry in the syscall.tbl file.

Adding a new table entry consisting of:
        - System call number.
        - ABI.
        - System call name.
        - Entry point name.

syscallhdr.sh and syscalltbl.sh will generate uapi header-
unistd.h and syscall_table.h files respectively. File
syscall_table.h is included by syscall.S - the real system
call table. Both .sh files will parse the content syscall.tbl
to generate the header and table files.

ARM, s390 and x86 architecuture does have the similar support.
I leverage their implementation to come up with a generic
solution. And this is the ground work for y2038 issue. We need
to change 52 system call implementation and this work will
reduce the effort by simply modify 52 entries in syscall.tbl.

Signed-off-by: Firoz Khan <firoz.khan@linaro.org>
---
 arch/ia64/kernel/syscalls/Makefile      |  40 ++++
 arch/ia64/kernel/syscalls/syscall.tbl   | 334 ++++++++++++++++++++++++++++++++
 arch/ia64/kernel/syscalls/syscallhdr.sh |  33 ++++
 arch/ia64/kernel/syscalls/syscalltbl.sh |  34 ++++
 4 files changed, 441 insertions(+)
 create mode 100644 arch/ia64/kernel/syscalls/Makefile
 create mode 100644 arch/ia64/kernel/syscalls/syscall.tbl
 create mode 100644 arch/ia64/kernel/syscalls/syscallhdr.sh
 create mode 100644 arch/ia64/kernel/syscalls/syscalltbl.sh

diff --git a/arch/ia64/kernel/syscalls/Makefile b/arch/ia64/kernel/syscalls/Makefile
new file mode 100644
index 0000000..ddb26c0
--- /dev/null
+++ b/arch/ia64/kernel/syscalls/Makefile
@@ -0,0 +1,40 @@
+# SPDX-License-Identifier: GPL-2.0
+out := arch/$(SRCARCH)/include/generated/asm
+uapi := arch/$(SRCARCH)/include/generated/uapi/asm
+
+_dummy := $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)') \
+	  $(shell [ -d '$(out)' ] || mkdir -p '$(out)')
+
+syscall := $(srctree)/$(src)/syscall.tbl
+
+syshdr := $(srctree)/$(src)/syscallhdr.sh
+systbl := $(srctree)/$(src)/syscalltbl.sh
+
+quiet_cmd_syshdr = SYSHDR  $@
+      cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@'  \
+		   '$(syshdr_abi_$(basetarget))'          \
+		   '$(syshdr_pfx_$(basetarget))'          \
+		   '$(syshdr_offset_$(basetarget))'
+
+quiet_cmd_systbl = SYSTBL  $@
+      cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@'  \
+		   '$(systbl_abi_$(basetarget))'	  \
+	           '$(systbl_offset_$(basetarget))'
+
+syshdr_offset_unistd := __NR_Linux
+$(uapi)/unistd_64.h: $(syscall) $(syshdr)
+	$(call if_changed,syshdr)
+
+systbl_offset_syscall_table := 1024
+$(out)/syscall_table.h: $(syscall) $(systbl)
+	$(call if_changed,systbl)
+
+uapisyshdr-y			+= unistd_64.h
+syshdr-y			+= syscall_table.h
+
+targets	+= $(uapisyshdr-y) $(syshdr-y)
+
+PHONY += all
+all: $(addprefix $(uapi)/,$(uapisyshdr-y))
+all: $(addprefix $(out)/,$(syshdr-y))
+	@:
diff --git a/arch/ia64/kernel/syscalls/syscall.tbl b/arch/ia64/kernel/syscalls/syscall.tbl
new file mode 100644
index 0000000..bef7184
--- /dev/null
+++ b/arch/ia64/kernel/syscalls/syscall.tbl
@@ -0,0 +1,334 @@
+#
+# Linux system call numbers and entry vectors
+#
+# The format is:
+# <number> <abi> <name> <entry point>
+#
+# The abi is always common for this file.
+#
+0       common  ni_syscall                      sys_ni_syscall
+1       common  exit                            sys_exit
+2       common  read                            sys_read
+3       common  write                           sys_write
+4       common  open                            sys_open
+5       common  close                           sys_close
+6       common  creat                           sys_creat
+7       common  link                            sys_link
+8       common  unlink                          sys_unlink
+9       common  execve                          ia64_execve
+10      common  chdir                           sys_chdir
+11      common  fchdir                          sys_fchdir
+12      common  utimes                          sys_utimes
+13      common  mknod                           sys_mknod
+14      common  chmod                           sys_chmod
+15      common  chown                           sys_chown
+16      common  lseek                           sys_lseek
+17      common  getpid                          sys_getpid
+18      common  getppid                         sys_getppid
+19      common  mount                           sys_mount
+20      common  umount                          sys_umount
+21      common  setuid                          sys_setuid
+22      common  getuid                          sys_getuid
+23      common  geteuid                         sys_geteuid
+24      common  ptrace                          sys_ptrace
+25      common  access                          sys_access
+26      common  sync                            sys_sync
+27      common  fsync                           sys_fsync
+28      common  fdatasync                       sys_fdatasync
+29      common  kill                            sys_kill
+30      common  rename                          sys_rename
+31      common  mkdir                           sys_mkdir
+32      common  rmdir                           sys_rmdir
+33      common  dup                             sys_dup
+34      common  pipe                            sys_ia64_pipe
+35      common  times                           sys_times
+36      common  brk                             ia64_brk
+37      common  setgid                          sys_setgid
+38      common  getgid                          sys_getgid
+39      common  getegid                         sys_getegid
+40      common  acct                            sys_acct
+41      common  ioctl                           sys_ioctl
+42      common  fcntl                           sys_fcntl
+43      common  umask                           sys_umask
+44      common  chroot                          sys_chroot
+45      common  ustat                           sys_ustat
+46      common  dup2                            sys_dup2
+47      common  setreuid                        sys_setreuid
+48      common  setregid                        sys_setregid
+49      common  getresuid                       sys_getresuid
+50      common  setresuid                       sys_setresuid
+51      common  getresgid                       sys_getresgid
+52      common  setresgid                       sys_setresgid
+53      common  getgroups                       sys_getgroups
+54      common  setgroups                       sys_setgroups
+55      common  getpgid                         sys_getpgid
+56      common  setpgid                         sys_setpgid
+57      common  setsid                          sys_setsid
+58      common  getsid                          sys_getsid
+59      common  sethostname                     sys_sethostname
+60      common  setrlimit                       sys_setrlimit
+61      common  getrlimit                       sys_getrlimit
+62      common  getrusage                       sys_getrusage
+63      common  gettimeofday                    sys_gettimeofday
+64      common  settimeofday                    sys_settimeofday
+65      common  select                          sys_select
+66      common  poll                            sys_poll
+67      common  symlink                         sys_symlink
+68      common  readlink                        sys_readlink
+69      common  uselib                          sys_uselib
+70      common  swapon                          sys_swapon
+71      common  swapoff                         sys_swapoff
+72      common  reboot                          sys_reboot
+73      common  truncate                        sys_truncate
+74      common  ftruncate                       sys_ftruncate
+75      common  fchmod                          sys_fchmod
+76      common  fchown                          sys_fchown
+77      common  getpriority                     ia64_getpriority
+78      common  setpriority                     sys_setpriority
+79      common  statfs                          sys_statfs
+80      common  fstatfs                         sys_fstatfs
+81      common  gettid                          sys_gettid
+82      common  semget                          sys_semget
+83      common  semop                           sys_semop
+84      common  semctl                          sys_semctl
+85      common  msgget                          sys_msgget
+86      common  msgsnd                          sys_msgsnd
+87      common  msgrcv                          sys_msgrcv
+88      common  msgctl                          sys_msgctl
+89      common  shmget                          sys_shmget
+90      common  shmat                           sys_shmat
+91      common  shmdt                           sys_shmdt
+92      common  shmctl                          sys_shmctl
+93      common  syslog                          sys_syslog
+94      common  setitimer                       sys_setitimer
+95      common  getitimer                       sys_getitimer
+96      common  old_stat                        sys_ni_syscall
+97      common  old_lstat                       sys_ni_syscall
+98      common  old_fstat                       sys_ni_syscall
+99      common  vhangup                         sys_vhangup
+100     common  lchown                          sys_lchown
+101     common  remap_file_pages                sys_remap_file_pages
+102     common  wait4                           sys_wait4
+103     common  sysinfo                         sys_sysinfo
+104     common  clone                           sys_clone
+105     common  setdomainname                   sys_setdomainname
+106     common  uname                           sys_newuname
+107     common  adjtimex                        sys_adjtimex
+108     common  create_module                   sys_ni_syscall
+109     common  init_module                     sys_init_module
+110     common  delete_module                   sys_delete_module
+111     common  get_kernel_syms                 sys_ni_syscall
+112     common  query_module                    sys_ni_syscall
+113     common  quotactl                        sys_quotactl
+114     common  bdflush                         sys_bdflush
+115     common  sysfs                           sys_sysfs
+116     common  personality                     sys_personality
+117     common  afs_syscall                     sys_ni_syscall
+118     common  setfsuid                        sys_setfsuid
+119     common  setfsgid                        sys_setfsgid
+120     common  getdents                        sys_getdents
+121     common  flock                           sys_flock
+122     common  readv                           sys_readv
+123     common  writev                          sys_writev
+124     common  pread64                         sys_pread64
+125     common  pwrite64                        sys_pwrite64
+126     common  _sysctl                         sys_sysctl
+127     common  mmap                            sys_mmap
+128     common  munmap                          sys_munmap
+129     common  mlock                           sys_mlock
+130     common  mlockall                        sys_mlockall
+131     common  mprotect                        sys_mprotect
+132     common  mremap                          ia64_mremap
+133     common  msync                           sys_msync
+134     common  munlock                         sys_munlock
+135     common  munlockall                      sys_munlockall
+136     common  sched_getparam                  sys_sched_getparam
+137     common  sched_setparam                  sys_sched_setparam
+138     common  sched_getscheduler              sys_sched_getscheduler
+139     common  sched_setscheduler              sys_sched_setscheduler
+140     common  sched_yield                     sys_sched_yield
+141     common  sched_get_priority_max          sys_sched_get_priority_max
+142     common  sched_get_priority_min          sys_sched_get_priority_min
+143     common  sched_rr_get_interval           sys_sched_rr_get_interval
+144     common  nanosleep                       sys_nanosleep
+145     common  nfsservctl                      sys_ni_syscall
+146     common  prctl                           sys_prctl
+147     common  getpagesize                     sys_getpagesize
+148     common  mmap2                      	sys_mmap2
+149     common  pciconfig_read                  sys_pciconfig_read
+150     common  pciconfig_write                 sys_pciconfig_write
+151     common  perfmonctl                      sys_perfmonctl
+152     common  sigaltstack                     sys_sigaltstack
+153     common  rt_sigaction                    sys_rt_sigaction
+154     common  rt_sigpending                   sys_rt_sigpending
+155     common  rt_sigprocmask                  sys_rt_sigprocmask
+156     common  rt_sigqueueinfo                 sys_rt_sigqueueinfo
+157     common  rt_sigreturn                    sys_rt_sigreturn
+158     common  rt_sigsuspend                   sys_rt_sigsuspend
+159     common  rt_sigtimedwait                 sys_rt_sigtimedwait
+160     common  getcwd                          sys_getcwd
+161     common  capget                          sys_capget
+162     common  capset                          sys_capset
+163     common  sendfile                        sys_sendfile64
+164     common  getpmsg                         sys_ni_syscall
+165     common  putpmsg                         sys_ni_syscall
+166     common  socket                          sys_socket
+167     common  bind                            sys_bind
+168     common  connect                         sys_connect
+169     common  listen                          sys_listen
+170     common  accept                          sys_accept
+171     common  getsockname                     sys_getsockname
+172     common  getpeername                     sys_getpeername
+173     common  socketpair                      sys_socketpair
+174     common  send                            sys_send
+175     common  sendto                          sys_sendto
+176     common  recv                            sys_recv
+177     common  recvfrom                        sys_recvfrom
+178     common  shutdown                        sys_shutdown
+179     common  setsockopt                      sys_setsockopt
+180     common  getsockopt                      sys_getsockopt
+181     common  sendmsg                         sys_sendmsg
+182     common  recvmsg                         sys_recvmsg
+183     common  pivot_root                      sys_pivot_root
+184     common  mincore                         sys_mincore
+185     common  madvise                         sys_madvise
+186     common  stat                            sys_newstat
+187     common  lstat                           sys_newlstat
+188     common  fstat                           sys_newfstat
+189     common  clone2                          sys_clone2
+190     common  getdents64                      sys_getdents64
+191     common  getunwind                       sys_getunwind
+192     common  readahead                       sys_readahead
+193     common  setxattr                        sys_setxattr
+194     common  lsetxattr                       sys_lsetxattr
+195     common  fsetxattr                       sys_fsetxattr
+196     common  getxattr                        sys_getxattr
+197     common  lgetxattr                       sys_lgetxattr
+198     common  fgetxattr                       sys_fgetxattr
+199     common  listxattr                       sys_listxattr
+200     common  llistxattr                      sys_llistxattr
+201     common  flistxattr                      sys_flistxattr
+202     common  removexattr                     sys_removexattr
+203     common  lremovexattr                    sys_lremovexattr
+204     common  fremovexattr                    sys_fremovexattr
+205     common  tkill                           sys_tkill
+206     common  futex                           sys_futex
+207     common  sched_setaffinity               sys_sched_setaffinity
+208     common  sched_getaffinity               sys_sched_getaffinity
+209     common  set_tid_address                 sys_set_tid_address
+210     common  fadvise64                       sys_fadvise64_64
+211     common  tgkill                          sys_tgkill
+212     common  exit_group                      sys_exit_group
+213     common  lookup_dcookie                  sys_lookup_dcookie
+214     common  io_setup                        sys_io_setup
+215     common  io_destroy                      sys_io_destroy
+216     common  io_getevents                    sys_io_getevents
+217     common  io_submit                       sys_io_submit
+218     common  io_cancel                       sys_io_cancel
+219     common  epoll_create                    sys_epoll_create
+220     common  epoll_ctl                       sys_epoll_ctl
+221     common  epoll_wait                      sys_epoll_wait
+222     common  restart_syscall                 sys_restart_syscall
+223     common  semtimedop                      sys_semtimedop
+224     common  timer_create                    sys_timer_create
+225     common  timer_settime                   sys_timer_settime
+226     common  timer_gettime                   sys_timer_gettime
+227     common  timer_getoverrun                sys_timer_getoverrun
+228     common  timer_delete                    sys_timer_delete
+229     common  clock_settime                   sys_clock_settime
+230     common  clock_gettime                   sys_clock_gettime
+231     common  clock_getres                    sys_clock_getres
+232     common  clock_nanosleep                 sys_clock_nanosleep
+233     common  fstatfs64                       sys_fstatfs64
+234     common  statfs64                        sys_statfs64
+235     common  mbind                           sys_mbind
+236     common  get_mempolicy                   sys_get_mempolicy
+237     common  set_mempolicy                   sys_set_mempolicy
+238     common  mq_open                         sys_mq_open
+239     common  mq_unlink                       sys_mq_unlink
+240     common  mq_timedsend                    sys_mq_timedsend
+241     common  mq_timedreceive                 sys_mq_timedreceive
+242     common  mq_notify                       sys_mq_notify
+243     common  mq_getsetattr                   sys_mq_getsetattr
+244     common  kexec_load                      sys_kexec_load
+245     common  vserver                         sys_ni_syscall
+246     common  waitid                          sys_waitid
+247     common  add_key                         sys_add_key
+248     common  request_key                     sys_request_key
+249     common  keyctl                          sys_keyctl
+250     common  ioprio_set                      sys_ioprio_set
+251     common  ioprio_get                      sys_ioprio_get
+252     common  move_pages                      sys_move_pages
+253     common  inotify_init                    sys_inotify_init
+254     common  inotify_add_watch               sys_inotify_add_watch
+255     common  inotify_rm_watch                sys_inotify_rm_watch
+256     common  migrate_pages                   sys_migrate_pages
+257     common  openat                          sys_openat
+258     common  mkdirat                         sys_mkdirat
+259     common  mknodat                         sys_mknodat
+260     common  fchownat                        sys_fchownat
+261     common  futimesat                       sys_futimesat
+262     common  newfstatat                      sys_newfstatat
+263     common  unlinkat                        sys_unlinkat
+264     common  renameat                        sys_renameat
+265     common  linkat                          sys_linkat
+266     common  symlinkat                       sys_symlinkat
+267     common  readlinkat                      sys_readlinkat
+268     common  fchmodat                        sys_fchmodat
+269     common  faccessat                       sys_faccessat
+270     common  pselect6                        sys_pselect6
+271     common  ppoll                           sys_ppoll
+272     common  unshare                         sys_unshare
+273     common  splice                          sys_splice
+274     common  set_robust_list                 sys_set_robust_list
+275     common  get_robust_list                 sys_get_robust_list
+276     common  sync_file_range                 sys_sync_file_range
+277     common  tee                             sys_tee
+278     common  vmsplice                        sys_vmsplice
+279     common  fallocate                       sys_fallocate
+280     common  getcpu                          sys_getcpu
+281     common  epoll_pwait                     sys_epoll_pwait
+282     common  utimensat                       sys_utimensat
+283     common  signalfd                        sys_signalfd
+284     common  timerfd                         sys_ni_syscall
+285     common  eventfd                         sys_eventfd
+286     common  timerfd_create                  sys_timerfd_create
+287     common  timerfd_settime                 sys_timerfd_settime
+288     common  timerfd_gettime                 sys_timerfd_gettime
+289     common  signalfd4                       sys_signalfd4
+290     common  eventfd2                        sys_eventfd2
+291     common  epoll_create1                   sys_epoll_create1
+292     common  dup3                            sys_dup3
+293     common  pipe2                           sys_pipe2
+294     common  inotify_init1                   sys_inotify_init1
+295     common  preadv                          sys_preadv
+296     common  pwritev                         sys_pwritev
+297     common  rt_tgsigqueueinfo               sys_rt_tgsigqueueinfo
+298     common  recvmmsg                        sys_recvmmsg
+299     common  fanotify_init                   sys_fanotify_init
+300     common  fanotify_mark                   sys_fanotify_mark
+301     common  prlimit64                       sys_prlimit64
+302     common  name_to_handle_at               sys_name_to_handle_at
+303     common  open_by_handle_at               sys_open_by_handle_at
+304     common  clock_adjtime                   sys_clock_adjtime
+305     common  syncfs                          sys_syncfs
+306     common  setns                           sys_setns
+307     common  sendmmsg                        sys_sendmmsg
+308     common  process_vm_readv                sys_process_vm_readv
+309     common  process_vm_writev               sys_process_vm_writev
+310     common  accept4                         sys_accept4
+311     common  finit_module                    sys_finit_module
+312     common  sched_setattr                   sys_sched_setattr
+313     common  sched_getattr                   sys_sched_getattr
+314     common  renameat2                       sys_renameat2
+315     common  getrandom                       sys_getrandom
+316     common  memfd_create                    sys_memfd_create
+317     common  bpf                             sys_bpf
+318     common  execveat                        sys_execveat
+319     common  userfaultfd                     sys_userfaultfd
+320     common  membarrier                      sys_membarrier
+321     common  kcmp                            sys_kcmp
+322     common  mlock2                          sys_mlock2
+323     common  copy_file_range                 sys_copy_file_range
+324     common  preadv2                         sys_preadv2
+325     common  pwritev2                        sys_pwritev2
diff --git a/arch/ia64/kernel/syscalls/syscallhdr.sh b/arch/ia64/kernel/syscalls/syscallhdr.sh
new file mode 100644
index 0000000..34d8ad3
--- /dev/null
+++ b/arch/ia64/kernel/syscalls/syscallhdr.sh
@@ -0,0 +1,33 @@
+#!/bin/sh -x
+# SPDX-License-Identifier: GPL-2.0
+
+in="$1"
+out="$2"
+my_abis=`echo "($3)" | tr ',' '|'`
+prefix="$4"
+offset="$5"
+
+fileguard=_UAPI_ASM_IA64_`basename "$out" | sed \
+    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
+    -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
+grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
+    echo "#ifndef ${fileguard}"
+    echo "#define ${fileguard}"
+    echo ""
+
+    nxt=0
+    while read nr abi name entry ; do
+	if [ -z "$offset" ]; then
+	    echo -e "#define __NR_${prefix}${name}\t$nr"
+	else
+	    echo -e "#define __NR_${prefix}${name}\t($offset + $nr)"
+	fi
+	nxt=$nr
+	let nxt=nxt+1
+    done
+
+    echo ""
+    echo -e "#define __NR_syscalls\t$nxt"
+    echo ""
+    echo "#endif /* ${fileguard} */"
+) > "$out"
diff --git a/arch/ia64/kernel/syscalls/syscalltbl.sh b/arch/ia64/kernel/syscalls/syscalltbl.sh
new file mode 100644
index 0000000..2d708db
--- /dev/null
+++ b/arch/ia64/kernel/syscalls/syscalltbl.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+
+in="$1"
+out="$2"
+my_abi="$3"
+offset="$4"
+
+emit() {
+    nxt="$1"
+    nr="$2"
+    entry="$3"
+
+    while [ $nxt -lt $nr ]; do
+	echo "__SYSCALL($nxt, sys_ni_syscall, )"
+        let nxt=nxt+1
+    done
+
+    echo "__SYSCALL($nr, $entry, )"
+}
+
+grep '^[0-9]' "$in" | sort -n | (
+    if [ -z "$offset" ]; then
+	nxt=0
+    else
+	nxt=$offset
+    fi
+
+    while read nr abi name entry ; do
+	emit $nxt $nr $entry
+	nxt=$nr+$nxt
+	let nxt=nxt+1
+    done
+) > "$out"
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 5/5] ia64: uapi header and system call table file generation
  2018-08-09  5:05 [PATCH 0/5] System call table generation support Firoz Khan
                   ` (3 preceding siblings ...)
  2018-08-09  5:05 ` [PATCH 4/5] ia64: Added system call table generation support Firoz Khan
@ 2018-08-09  5:05 ` Firoz Khan
  2018-08-10 16:20 ` [PATCH 0/5] System call table generation support Luck, Tony
  5 siblings, 0 replies; 8+ messages in thread
From: Firoz Khan @ 2018-08-09  5:05 UTC (permalink / raw)
  To: linux-ia64, Tony Luck, Fenghua Yu
  Cc: y2038, linux-kernel, linux-arch, arnd, deepa.kernel,
	marcin.juszkiewicz, firoz.khan

System call table generation script must be run to generate
unistd_64.h and syscall_table.h files. This patch will have
changes which will invokes the script.

This patch will generate unistd_64.h and syscall_table.h
files by the syscall table generation script invoked by
arch/ia64/Makefile and the generated files against the
removed files will be identical.

The generated uapi header file will be included in
uapi/asm/unistd.h and generated system call table support
file will be included by ia64/kernel/syscall_table.S file.

Signed-off-by: Firoz Khan <firoz.khan@linaro.org>
---
 arch/ia64/Makefile                  |   3 +
 arch/ia64/include/asm/Kbuild        |   2 +
 arch/ia64/include/uapi/asm/Kbuild   |   2 +
 arch/ia64/include/uapi/asm/unistd.h | 330 +----------------------------------
 arch/ia64/kernel/syscall.S          | 339 +-----------------------------------
 5 files changed, 17 insertions(+), 659 deletions(-)

diff --git a/arch/ia64/Makefile b/arch/ia64/Makefile
index 45f5980..320d86f 100644
--- a/arch/ia64/Makefile
+++ b/arch/ia64/Makefile
@@ -80,6 +80,9 @@ unwcheck: vmlinux
 archclean:
 	$(Q)$(MAKE) $(clean)=$(boot)
 
+archheaders:
+	$(Q)$(MAKE) $(build)=arch/ia64/kernel/syscalls all
+
 CLEAN_FILES += vmlinux.gz bootloader
 
 boot:	lib/lib.a vmlinux
diff --git a/arch/ia64/include/asm/Kbuild b/arch/ia64/include/asm/Kbuild
index 557bbc8..6e11673 100644
--- a/arch/ia64/include/asm/Kbuild
+++ b/arch/ia64/include/asm/Kbuild
@@ -7,3 +7,5 @@ generic-y += preempt.h
 generic-y += trace_clock.h
 generic-y += vtime.h
 generic-y += word-at-a-time.h
+
+generated-y += syscall_table.h
\ No newline at end of file
diff --git a/arch/ia64/include/uapi/asm/Kbuild b/arch/ia64/include/uapi/asm/Kbuild
index 3982e67..ce14b40 100644
--- a/arch/ia64/include/uapi/asm/Kbuild
+++ b/arch/ia64/include/uapi/asm/Kbuild
@@ -8,3 +8,5 @@ generic-y += msgbuf.h
 generic-y += poll.h
 generic-y += sembuf.h
 generic-y += shmbuf.h
+
+generated-y += unistd_64.h
\ No newline at end of file
diff --git a/arch/ia64/include/uapi/asm/unistd.h b/arch/ia64/include/uapi/asm/unistd.h
index b96ca91..c6f33bc 100644
--- a/arch/ia64/include/uapi/asm/unistd.h
+++ b/arch/ia64/include/uapi/asm/unistd.h
@@ -14,334 +14,6 @@
 #define __BREAK_SYSCALL	__IA64_BREAK_SYSCALL
 
 #define __NR_Linux      1024
-#define __NR_ni_syscall	(__NR_Linux + 0)
-#define __NR_exit	(__NR_Linux + 1)
-#define __NR_read	(__NR_Linux + 2)
-#define __NR_write	(__NR_Linux + 3)
-#define __NR_open	(__NR_Linux + 4)
-#define __NR_close	(__NR_Linux + 5)
-#define __NR_creat	(__NR_Linux + 6)
-#define __NR_link	(__NR_Linux + 7)
-#define __NR_unlink	(__NR_Linux + 8)
-#define __NR_execve	(__NR_Linux + 9)
-#define __NR_chdir	(__NR_Linux + 10)
-#define __NR_fchdir	(__NR_Linux + 11)
-#define __NR_utimes	(__NR_Linux + 12)
-#define __NR_mknod	(__NR_Linux + 13)
-#define __NR_chmod	(__NR_Linux + 14)
-#define __NR_chown	(__NR_Linux + 15)
-#define __NR_lseek	(__NR_Linux + 16)
-#define __NR_getpid	(__NR_Linux + 17)
-#define __NR_getppid	(__NR_Linux + 18)
-#define __NR_mount	(__NR_Linux + 19)
-#define __NR_umount	(__NR_Linux + 20)
-#define __NR_setuid	(__NR_Linux + 21)
-#define __NR_getuid	(__NR_Linux + 22)
-#define __NR_geteuid	(__NR_Linux + 23)
-#define __NR_ptrace	(__NR_Linux + 24)
-#define __NR_access	(__NR_Linux + 25)
-#define __NR_sync	(__NR_Linux + 26)
-#define __NR_fsync	(__NR_Linux + 27)
-#define __NR_fdatasync	(__NR_Linux + 28)
-#define __NR_kill	(__NR_Linux + 29)
-#define __NR_rename	(__NR_Linux + 30)
-#define __NR_mkdir	(__NR_Linux + 31)
-#define __NR_rmdir	(__NR_Linux + 32)
-#define __NR_dup	(__NR_Linux + 33)
-#define __NR_pipe	(__NR_Linux + 34)
-#define __NR_times	(__NR_Linux + 35)
-#define __NR_brk	(__NR_Linux + 36)
-#define __NR_setgid	(__NR_Linux + 37)
-#define __NR_getgid	(__NR_Linux + 38)
-#define __NR_getegid	(__NR_Linux + 39)
-#define __NR_acct	(__NR_Linux + 40)
-#define __NR_ioctl	(__NR_Linux + 41)
-#define __NR_fcntl	(__NR_Linux + 42)
-#define __NR_umask	(__NR_Linux + 43)
-#define __NR_chroot	(__NR_Linux + 44)
-#define __NR_ustat	(__NR_Linux + 45)
-#define __NR_dup2	(__NR_Linux + 46)
-#define __NR_setreuid	(__NR_Linux + 47)
-#define __NR_setregid	(__NR_Linux + 48)
-#define __NR_getresuid	(__NR_Linux + 49)
-#define __NR_setresuid	(__NR_Linux + 50)
-#define __NR_getresgid	(__NR_Linux + 51)
-#define __NR_setresgid	(__NR_Linux + 52)
-#define __NR_getgroups	(__NR_Linux + 53)
-#define __NR_setgroups	(__NR_Linux + 54)
-#define __NR_getpgid	(__NR_Linux + 55)
-#define __NR_setpgid	(__NR_Linux + 56)
-#define __NR_setsid	(__NR_Linux + 57)
-#define __NR_getsid	(__NR_Linux + 58)
-#define __NR_sethostname	(__NR_Linux + 59)
-#define __NR_setrlimit	(__NR_Linux + 60)
-#define __NR_getrlimit	(__NR_Linux + 61)
-#define __NR_getrusage	(__NR_Linux + 62)
-#define __NR_gettimeofday	(__NR_Linux + 63)
-#define __NR_settimeofday	(__NR_Linux + 64)
-#define __NR_select	(__NR_Linux + 65)
-#define __NR_poll	(__NR_Linux + 66)
-#define __NR_symlink	(__NR_Linux + 67)
-#define __NR_readlink	(__NR_Linux + 68)
-#define __NR_uselib	(__NR_Linux + 69)
-#define __NR_swapon	(__NR_Linux + 70)
-#define __NR_swapoff	(__NR_Linux + 71)
-#define __NR_reboot	(__NR_Linux + 72)
-#define __NR_truncate	(__NR_Linux + 73)
-#define __NR_ftruncate	(__NR_Linux + 74)
-#define __NR_fchmod	(__NR_Linux + 75)
-#define __NR_fchown	(__NR_Linux + 76)
-#define __NR_getpriority	(__NR_Linux + 77)
-#define __NR_setpriority	(__NR_Linux + 78)
-#define __NR_statfs	(__NR_Linux + 79)
-#define __NR_fstatfs	(__NR_Linux + 80)
-#define __NR_gettid	(__NR_Linux + 81)
-#define __NR_semget	(__NR_Linux + 82)
-#define __NR_semop	(__NR_Linux + 83)
-#define __NR_semctl	(__NR_Linux + 84)
-#define __NR_msgget	(__NR_Linux + 85)
-#define __NR_msgsnd	(__NR_Linux + 86)
-#define __NR_msgrcv	(__NR_Linux + 87)
-#define __NR_msgctl	(__NR_Linux + 88)
-#define __NR_shmget	(__NR_Linux + 89)
-#define __NR_shmat	(__NR_Linux + 90)
-#define __NR_shmdt	(__NR_Linux + 91)
-#define __NR_shmctl	(__NR_Linux + 92)
-/* also known as klogctl() in GNU libc: */
-#define __NR_syslog	(__NR_Linux + 93)
-#define __NR_setitimer	(__NR_Linux + 94)
-#define __NR_getitimer	(__NR_Linux + 95)
-/* 1120 was __NR_old_stat */
-/* 1121 was __NR_old_lstat */
-/* 1122 was __NR_old_fstat */
-#define __NR_vhangup	(__NR_Linux + 99)
-#define __NR_lchown	(__NR_Linux + 100)
-#define __NR_remap_file_pages	(__NR_Linux + 101)
-#define __NR_wait4	(__NR_Linux + 102)
-#define __NR_sysinfo	(__NR_Linux + 103)
-#define __NR_clone	(__NR_Linux + 104)
-#define __NR_setdomainname	(__NR_Linux + 105)
-#define __NR_uname	(__NR_Linux + 106)
-#define __NR_adjtimex	(__NR_Linux + 107)
-/* 1132 was __NR_create_module */
-#define __NR_init_module	(__NR_Linux + 109)
-#define __NR_delete_module	(__NR_Linux + 110)
-/* 1135 was __NR_get_kernel_syms */
-/* 1136 was __NR_query_module */
-#define __NR_quotactl	(__NR_Linux + 113)
-#define __NR_bdflush	(__NR_Linux + 114)
-#define __NR_sysfs	(__NR_Linux + 115)
-#define __NR_personality	(__NR_Linux + 116)
-#define __NR_afs_syscall	(__NR_Linux + 117)
-#define __NR_setfsuid	(__NR_Linux + 118)
-#define __NR_setfsgid	(__NR_Linux + 119)
-#define __NR_getdents	(__NR_Linux + 120)
-#define __NR_flock	(__NR_Linux + 121)
-#define __NR_readv	(__NR_Linux + 122)
-#define __NR_writev	(__NR_Linux + 123)
-#define __NR_pread64	(__NR_Linux + 124)
-#define __NR_pwrite64	(__NR_Linux + 125)
-#define __NR__sysctl	(__NR_Linux + 126)
-#define __NR_mmap	(__NR_Linux + 127)
-#define __NR_munmap	(__NR_Linux + 128)
-#define __NR_mlock	(__NR_Linux + 129)
-#define __NR_mlockall	(__NR_Linux + 130)
-#define __NR_mprotect	(__NR_Linux + 131)
-#define __NR_mremap	(__NR_Linux + 132)
-#define __NR_msync	(__NR_Linux + 133)
-#define __NR_munlock	(__NR_Linux + 134)
-#define __NR_munlockall	(__NR_Linux + 135)
-#define __NR_sched_getparam	(__NR_Linux + 136)
-#define __NR_sched_setparam	(__NR_Linux + 137)
-#define __NR_sched_getscheduler	(__NR_Linux + 138)
-#define __NR_sched_setscheduler	(__NR_Linux + 139)
-#define __NR_sched_yield	(__NR_Linux + 140)
-#define __NR_sched_get_priority_max	(__NR_Linux + 141)
-#define __NR_sched_get_priority_min	(__NR_Linux + 142)
-#define __NR_sched_rr_get_interval	(__NR_Linux + 143)
-#define __NR_nanosleep	(__NR_Linux + 144)
-#define __NR_nfsservctl	(__NR_Linux + 145)
-#define __NR_prctl	(__NR_Linux + 146)
-/* 1171 is reserved for backwards compatibility with old __NR_getpagesize */
-#define __NR_mmap2	(__NR_Linux + 148)
-#define __NR_pciconfig_read	(__NR_Linux + 149)
-#define __NR_pciconfig_write	(__NR_Linux + 150)
-#define __NR_perfmonctl	(__NR_Linux + 151)
-#define __NR_sigaltstack	(__NR_Linux + 152)
-#define __NR_rt_sigaction	(__NR_Linux + 153)
-#define __NR_rt_sigpending	(__NR_Linux + 154)
-#define __NR_rt_sigprocmask	(__NR_Linux + 155)
-#define __NR_rt_sigqueueinfo	(__NR_Linux + 156)
-#define __NR_rt_sigreturn	(__NR_Linux + 157)
-#define __NR_rt_sigsuspend	(__NR_Linux + 158)
-#define __NR_rt_sigtimedwait	(__NR_Linux + 159)
-#define __NR_getcwd	(__NR_Linux + 160)
-#define __NR_capget	(__NR_Linux + 161)
-#define __NR_capset	(__NR_Linux + 162)
-#define __NR_sendfile	(__NR_Linux + 163)
-#define __NR_getpmsg	(__NR_Linux + 164)
-#define __NR_putpmsg	(__NR_Linux + 165)
-#define __NR_socket	(__NR_Linux + 166)
-#define __NR_bind	(__NR_Linux + 167)
-#define __NR_connect	(__NR_Linux + 168)
-#define __NR_listen	(__NR_Linux + 169)
-#define __NR_accept	(__NR_Linux + 170)
-#define __NR_getsockname	(__NR_Linux + 171)
-#define __NR_getpeername	(__NR_Linux + 172)
-#define __NR_socketpair	(__NR_Linux + 173)
-#define __NR_send	(__NR_Linux + 174)
-#define __NR_sendto	(__NR_Linux + 175)
-#define __NR_recv	(__NR_Linux + 176)
-#define __NR_recvfrom	(__NR_Linux + 177)
-#define __NR_shutdown	(__NR_Linux + 178)
-#define __NR_setsockopt	(__NR_Linux + 179)
-#define __NR_getsockopt	(__NR_Linux + 180)
-#define __NR_sendmsg	(__NR_Linux + 181)
-#define __NR_recvmsg	(__NR_Linux + 182)
-#define __NR_pivot_root	(__NR_Linux + 183)
-#define __NR_mincore	(__NR_Linux + 184)
-#define __NR_madvise	(__NR_Linux + 185)
-#define __NR_stat	(__NR_Linux + 186)
-#define __NR_lstat	(__NR_Linux + 187)
-#define __NR_fstat	(__NR_Linux + 188)
-#define __NR_clone2	(__NR_Linux + 189)
-#define __NR_getdents64	(__NR_Linux + 190)
-#define __NR_getunwind	(__NR_Linux + 191)
-#define __NR_readahead	(__NR_Linux + 192)
-#define __NR_setxattr	(__NR_Linux + 193)
-#define __NR_lsetxattr	(__NR_Linux + 194)
-#define __NR_fsetxattr	(__NR_Linux + 195)
-#define __NR_getxattr	(__NR_Linux + 196)
-#define __NR_lgetxattr	(__NR_Linux + 197)
-#define __NR_fgetxattr	(__NR_Linux + 198)
-#define __NR_listxattr	(__NR_Linux + 199)
-#define __NR_llistxattr	(__NR_Linux + 200)
-#define __NR_flistxattr	(__NR_Linux + 201)
-#define __NR_removexattr	(__NR_Linux + 202)
-#define __NR_lremovexattr	(__NR_Linux + 203)
-#define __NR_fremovexattr	(__NR_Linux + 204)
-#define __NR_tkill	(__NR_Linux + 205)
-#define __NR_futex	(__NR_Linux + 206)
-#define __NR_sched_setaffinity	(__NR_Linux + 207)
-#define __NR_sched_getaffinity	(__NR_Linux + 208)
-#define __NR_set_tid_address	(__NR_Linux + 209)
-#define __NR_fadvise64	(__NR_Linux + 210)
-#define __NR_tgkill	(__NR_Linux + 211)
-#define __NR_exit_group	(__NR_Linux + 212)
-#define __NR_lookup_dcookie	(__NR_Linux + 213)
-#define __NR_io_setup	(__NR_Linux + 214)
-#define __NR_io_destroy	(__NR_Linux + 215)
-#define __NR_io_getevents	(__NR_Linux + 216)
-#define __NR_io_submit	(__NR_Linux + 217)
-#define __NR_io_cancel	(__NR_Linux + 218)
-#define __NR_epoll_create	(__NR_Linux + 219)
-#define __NR_epoll_ctl	(__NR_Linux + 220)
-#define __NR_epoll_wait	(__NR_Linux + 221)
-#define __NR_restart_syscall	(__NR_Linux + 222)
-#define __NR_semtimedop	(__NR_Linux + 223)
-#define __NR_timer_create	(__NR_Linux + 224)
-#define __NR_timer_settime	(__NR_Linux + 225)
-#define __NR_timer_gettime	(__NR_Linux + 226)
-#define __NR_timer_getoverrun	(__NR_Linux + 227)
-#define __NR_timer_delete	(__NR_Linux + 228)
-#define __NR_clock_settime	(__NR_Linux + 229)
-#define __NR_clock_gettime	(__NR_Linux + 230)
-#define __NR_clock_getres	(__NR_Linux + 231)
-#define __NR_clock_nanosleep	(__NR_Linux + 232)
-#define __NR_fstatfs64	(__NR_Linux + 233)
-#define __NR_statfs64	(__NR_Linux + 234)
-#define __NR_mbind	(__NR_Linux + 235)
-#define __NR_get_mempolicy	(__NR_Linux + 236)
-#define __NR_set_mempolicy	(__NR_Linux + 237)
-#define __NR_mq_open	(__NR_Linux + 238)
-#define __NR_mq_unlink	(__NR_Linux + 239)
-#define __NR_mq_timedsend	(__NR_Linux + 240)
-#define __NR_mq_timedreceive	(__NR_Linux + 241)
-#define __NR_mq_notify	(__NR_Linux + 242)
-#define __NR_mq_getsetattr	(__NR_Linux + 243)
-#define __NR_kexec_load	(__NR_Linux + 244)
-#define __NR_vserver	(__NR_Linux + 245)
-#define __NR_waitid	(__NR_Linux + 246)
-#define __NR_add_key	(__NR_Linux + 247)
-#define __NR_request_key	(__NR_Linux + 248)
-#define __NR_keyctl	(__NR_Linux + 249)
-#define __NR_ioprio_set	(__NR_Linux + 250)
-#define __NR_ioprio_get	(__NR_Linux + 251)
-#define __NR_move_pages	(__NR_Linux + 252)
-#define __NR_inotify_init	(__NR_Linux + 253)
-#define __NR_inotify_add_watch	(__NR_Linux + 254)
-#define __NR_inotify_rm_watch	(__NR_Linux + 255)
-#define __NR_migrate_pages	(__NR_Linux + 256)
-#define __NR_openat	(__NR_Linux + 257)
-#define __NR_mkdirat	(__NR_Linux + 258)
-#define __NR_mknodat	(__NR_Linux + 259)
-#define __NR_fchownat	(__NR_Linux + 260)
-#define __NR_futimesat	(__NR_Linux + 261)
-#define __NR_newfstatat	(__NR_Linux + 262)
-#define __NR_unlinkat	(__NR_Linux + 263)
-#define __NR_renameat	(__NR_Linux + 264)
-#define __NR_linkat	(__NR_Linux + 265)
-#define __NR_symlinkat	(__NR_Linux + 266)
-#define __NR_readlinkat	(__NR_Linux + 267)
-#define __NR_fchmodat	(__NR_Linux + 268)
-#define __NR_faccessat	(__NR_Linux + 269)
-#define __NR_pselect6	(__NR_Linux + 270)
-#define __NR_ppoll	(__NR_Linux + 271)
-#define __NR_unshare	(__NR_Linux + 272)
-#define __NR_splice	(__NR_Linux + 273)
-#define __NR_set_robust_list	(__NR_Linux + 274)
-#define __NR_get_robust_list	(__NR_Linux + 275)
-#define __NR_sync_file_range	(__NR_Linux + 276)
-#define __NR_tee	(__NR_Linux + 277)
-#define __NR_vmsplice	(__NR_Linux + 278)
-#define __NR_fallocate	(__NR_Linux + 279)
-#define __NR_getcpu	(__NR_Linux + 280)
-#define __NR_epoll_pwait	(__NR_Linux + 281)
-#define __NR_utimensat	(__NR_Linux + 282)
-#define __NR_signalfd	(__NR_Linux + 283)
-#define __NR_timerfd	(__NR_Linux + 284)
-#define __NR_eventfd	(__NR_Linux + 285)
-#define __NR_timerfd_create	(__NR_Linux + 286)
-#define __NR_timerfd_settime	(__NR_Linux + 287)
-#define __NR_timerfd_gettime	(__NR_Linux + 288)
-#define __NR_signalfd4	(__NR_Linux + 289)
-#define __NR_eventfd2	(__NR_Linux + 290)
-#define __NR_epoll_create1	(__NR_Linux + 291)
-#define __NR_dup3	(__NR_Linux + 292)
-#define __NR_pipe2	(__NR_Linux + 293)
-#define __NR_inotify_init1	(__NR_Linux + 294)
-#define __NR_preadv	(__NR_Linux + 295)
-#define __NR_pwritev	(__NR_Linux + 296)
-#define __NR_rt_tgsigqueueinfo	(__NR_Linux + 297)
-#define __NR_recvmmsg	(__NR_Linux + 298)
-#define __NR_fanotify_init	(__NR_Linux + 299)
-#define __NR_fanotify_mark	(__NR_Linux + 300)
-#define __NR_prlimit64	(__NR_Linux + 301)
-#define __NR_name_to_handle_at	(__NR_Linux + 302)
-#define __NR_open_by_handle_at	(__NR_Linux + 303)
-#define __NR_clock_adjtime	(__NR_Linux + 304)
-#define __NR_syncfs	(__NR_Linux + 305)
-#define __NR_setns	(__NR_Linux + 306)
-#define __NR_sendmmsg	(__NR_Linux + 307)
-#define __NR_process_vm_readv	(__NR_Linux + 308)
-#define __NR_process_vm_writev	(__NR_Linux + 309)
-#define __NR_accept4	(__NR_Linux + 310)
-#define __NR_finit_module	(__NR_Linux + 311)
-#define __NR_sched_setattr	(__NR_Linux + 312)
-#define __NR_sched_getattr	(__NR_Linux + 313)
-#define __NR_renameat2	(__NR_Linux + 314)
-#define __NR_getrandom	(__NR_Linux + 315)
-#define __NR_memfd_create	(__NR_Linux + 316)
-#define __NR_bpf	(__NR_Linux + 317)
-#define __NR_execveat	(__NR_Linux + 318)
-#define __NR_userfaultfd	(__NR_Linux + 319)
-#define __NR_membarrier	(__NR_Linux + 320)
-#define __NR_kcmp	(__NR_Linux + 321)
-#define __NR_mlock2	(__NR_Linux + 322)
-#define __NR_copy_file_range	(__NR_Linux + 323)
-#define __NR_preadv2	(__NR_Linux + 324)
-#define __NR_pwritev2	(__NR_Linux + 325)
-
-#define __NR_syscalls	326 /* length of syscall table */
+#include <asm/unistd_64.h>
 
 #endif /* _UAPI_ASM_IA64_UNISTD_H */
diff --git a/arch/ia64/kernel/syscall.S b/arch/ia64/kernel/syscall.S
index 970e0e6..06bfa9a 100644
--- a/arch/ia64/kernel/syscall.S
+++ b/arch/ia64/kernel/syscall.S
@@ -1,334 +1,13 @@
 /* SPDX-License-Identifier: GPL-2.0 */
 
-	.rodata
-	.align 8
-	.globl sys_call_table
+.rodata
+.align 8
+.globl sys_call_table
+#include <asm/unistd.h>
+
+#define __SYSCALL(nr, entry, nargs) data8 entry
+
 sys_call_table:
-	data8 sys_ni_syscall		//  This must be sys_ni_syscall!  See ivt.S.
-	data8 sys_exit				// 1025
-	data8 sys_read
-	data8 sys_write
-	data8 sys_open
-	data8 sys_close
-	data8 sys_creat				// 1030
-	data8 sys_link
-	data8 sys_unlink
-	data8 ia64_execve
-	data8 sys_chdir
-	data8 sys_fchdir			// 1035
-	data8 sys_utimes
-	data8 sys_mknod
-	data8 sys_chmod
-	data8 sys_chown
-	data8 sys_lseek				// 1040
-	data8 sys_getpid
-	data8 sys_getppid
-	data8 sys_mount
-	data8 sys_umount
-	data8 sys_setuid			// 1045
-	data8 sys_getuid
-	data8 sys_geteuid
-	data8 sys_ptrace
-	data8 sys_access
-	data8 sys_sync				// 1050
-	data8 sys_fsync
-	data8 sys_fdatasync
-	data8 sys_kill
-	data8 sys_rename
-	data8 sys_mkdir				// 1055
-	data8 sys_rmdir
-	data8 sys_dup
-	data8 sys_ia64_pipe
-	data8 sys_times
-	data8 ia64_brk				// 1060
-	data8 sys_setgid
-	data8 sys_getgid
-	data8 sys_getegid
-	data8 sys_acct
-	data8 sys_ioctl				// 1065
-	data8 sys_fcntl
-	data8 sys_umask
-	data8 sys_chroot
-	data8 sys_ustat
-	data8 sys_dup2				// 1070
-	data8 sys_setreuid
-	data8 sys_setregid
-	data8 sys_getresuid
-	data8 sys_setresuid
-	data8 sys_getresgid			// 1075
-	data8 sys_setresgid
-	data8 sys_getgroups
-	data8 sys_setgroups
-	data8 sys_getpgid
-	data8 sys_setpgid			// 1080
-	data8 sys_setsid
-	data8 sys_getsid
-	data8 sys_sethostname
-	data8 sys_setrlimit
-	data8 sys_getrlimit			// 1085
-	data8 sys_getrusage
-	data8 sys_gettimeofday
-	data8 sys_settimeofday
-	data8 sys_select
-	data8 sys_poll				// 1090
-	data8 sys_symlink
-	data8 sys_readlink
-	data8 sys_uselib
-	data8 sys_swapon
-	data8 sys_swapoff			// 1095
-	data8 sys_reboot
-	data8 sys_truncate
-	data8 sys_ftruncate
-	data8 sys_fchmod
-	data8 sys_fchown			// 1100
-	data8 ia64_getpriority
-	data8 sys_setpriority
-	data8 sys_statfs
-	data8 sys_fstatfs
-	data8 sys_gettid			// 1105
-	data8 sys_semget
-	data8 sys_semop
-	data8 sys_semctl
-	data8 sys_msgget
-	data8 sys_msgsnd			// 1110
-	data8 sys_msgrcv
-	data8 sys_msgctl
-	data8 sys_shmget
-	data8 sys_shmat
-	data8 sys_shmdt				// 1115
-	data8 sys_shmctl
-	data8 sys_syslog
-	data8 sys_setitimer
-	data8 sys_getitimer
-	data8 sys_ni_syscall			// 1120		/* was: ia64_oldstat */
-	data8 sys_ni_syscall					/* was: ia64_oldlstat */
-	data8 sys_ni_syscall					/* was: ia64_oldfstat */
-	data8 sys_vhangup
-	data8 sys_lchown
-	data8 sys_remap_file_pages		// 1125
-	data8 sys_wait4
-	data8 sys_sysinfo
-	data8 sys_clone
-	data8 sys_setdomainname
-	data8 sys_newuname			// 1130
-	data8 sys_adjtimex
-	data8 sys_ni_syscall					/* was: ia64_create_module */
-	data8 sys_init_module
-	data8 sys_delete_module
-	data8 sys_ni_syscall			// 1135		/* was: sys_get_kernel_syms */
-	data8 sys_ni_syscall					/* was: sys_query_module */
-	data8 sys_quotactl
-	data8 sys_bdflush
-	data8 sys_sysfs
-	data8 sys_personality			// 1140
-	data8 sys_ni_syscall		// sys_afs_syscall
-	data8 sys_setfsuid
-	data8 sys_setfsgid
-	data8 sys_getdents
-	data8 sys_flock				// 1145
-	data8 sys_readv
-	data8 sys_writev
-	data8 sys_pread64
-	data8 sys_pwrite64
-	data8 sys_sysctl			// 1150
-	data8 sys_mmap
-	data8 sys_munmap
-	data8 sys_mlock
-	data8 sys_mlockall
-	data8 sys_mprotect			// 1155
-	data8 ia64_mremap
-	data8 sys_msync
-	data8 sys_munlock
-	data8 sys_munlockall
-	data8 sys_sched_getparam		// 1160
-	data8 sys_sched_setparam
-	data8 sys_sched_getscheduler
-	data8 sys_sched_setscheduler
-	data8 sys_sched_yield
-	data8 sys_sched_get_priority_max	// 1165
-	data8 sys_sched_get_priority_min
-	data8 sys_sched_rr_get_interval
-	data8 sys_nanosleep
-	data8 sys_ni_syscall			// old nfsservctl
-	data8 sys_prctl				// 1170
-	data8 sys_getpagesize
-	data8 sys_mmap2
-	data8 sys_pciconfig_read
-	data8 sys_pciconfig_write
-	data8 sys_perfmonctl			// 1175
-	data8 sys_sigaltstack
-	data8 sys_rt_sigaction
-	data8 sys_rt_sigpending
-	data8 sys_rt_sigprocmask
-	data8 sys_rt_sigqueueinfo		// 1180
-	data8 sys_rt_sigreturn
-	data8 sys_rt_sigsuspend
-	data8 sys_rt_sigtimedwait
-	data8 sys_getcwd
-	data8 sys_capget			// 1185
-	data8 sys_capset
-	data8 sys_sendfile64
-	data8 sys_ni_syscall		// sys_getpmsg (STREAMS)
-	data8 sys_ni_syscall		// sys_putpmsg (STREAMS)
-	data8 sys_socket			// 1190
-	data8 sys_bind
-	data8 sys_connect
-	data8 sys_listen
-	data8 sys_accept
-	data8 sys_getsockname			// 1195
-	data8 sys_getpeername
-	data8 sys_socketpair
-	data8 sys_send
-	data8 sys_sendto
-	data8 sys_recv				// 1200
-	data8 sys_recvfrom
-	data8 sys_shutdown
-	data8 sys_setsockopt
-	data8 sys_getsockopt
-	data8 sys_sendmsg			// 1205
-	data8 sys_recvmsg
-	data8 sys_pivot_root
-	data8 sys_mincore
-	data8 sys_madvise
-	data8 sys_newstat			// 1210
-	data8 sys_newlstat
-	data8 sys_newfstat
-	data8 sys_clone2
-	data8 sys_getdents64
-	data8 sys_getunwind			// 1215
-	data8 sys_readahead
-	data8 sys_setxattr
-	data8 sys_lsetxattr
-	data8 sys_fsetxattr
-	data8 sys_getxattr			// 1220
-	data8 sys_lgetxattr
-	data8 sys_fgetxattr
-	data8 sys_listxattr
-	data8 sys_llistxattr
-	data8 sys_flistxattr			// 1225
-	data8 sys_removexattr
-	data8 sys_lremovexattr
-	data8 sys_fremovexattr
-	data8 sys_tkill
-	data8 sys_futex				// 1230
-	data8 sys_sched_setaffinity
-	data8 sys_sched_getaffinity
-	data8 sys_set_tid_address
-	data8 sys_fadvise64_64
-	data8 sys_tgkill 			// 1235
-	data8 sys_exit_group
-	data8 sys_lookup_dcookie
-	data8 sys_io_setup
-	data8 sys_io_destroy
-	data8 sys_io_getevents			// 1240
-	data8 sys_io_submit
-	data8 sys_io_cancel
-	data8 sys_epoll_create
-	data8 sys_epoll_ctl
-	data8 sys_epoll_wait			// 1245
-	data8 sys_restart_syscall
-	data8 sys_semtimedop
-	data8 sys_timer_create
-	data8 sys_timer_settime
-	data8 sys_timer_gettime			// 1250
-	data8 sys_timer_getoverrun
-	data8 sys_timer_delete
-	data8 sys_clock_settime
-	data8 sys_clock_gettime
-	data8 sys_clock_getres			// 1255
-	data8 sys_clock_nanosleep
-	data8 sys_fstatfs64
-	data8 sys_statfs64
-	data8 sys_mbind
-	data8 sys_get_mempolicy			// 1260
-	data8 sys_set_mempolicy
-	data8 sys_mq_open
-	data8 sys_mq_unlink
-	data8 sys_mq_timedsend
-	data8 sys_mq_timedreceive		// 1265
-	data8 sys_mq_notify
-	data8 sys_mq_getsetattr
-	data8 sys_kexec_load
-	data8 sys_ni_syscall			// reserved for vserver
-	data8 sys_waitid			// 1270
-	data8 sys_add_key
-	data8 sys_request_key
-	data8 sys_keyctl
-	data8 sys_ioprio_set
-	data8 sys_ioprio_get			// 1275
-	data8 sys_move_pages
-	data8 sys_inotify_init
-	data8 sys_inotify_add_watch
-	data8 sys_inotify_rm_watch
-	data8 sys_migrate_pages			// 1280
-	data8 sys_openat
-	data8 sys_mkdirat
-	data8 sys_mknodat
-	data8 sys_fchownat
-	data8 sys_futimesat			// 1285
-	data8 sys_newfstatat
-	data8 sys_unlinkat
-	data8 sys_renameat
-	data8 sys_linkat
-	data8 sys_symlinkat			// 1290
-	data8 sys_readlinkat
-	data8 sys_fchmodat
-	data8 sys_faccessat
-	data8 sys_pselect6
-	data8 sys_ppoll				// 1295
-	data8 sys_unshare
-	data8 sys_splice
-	data8 sys_set_robust_list
-	data8 sys_get_robust_list
-	data8 sys_sync_file_range		// 1300
-	data8 sys_tee
-	data8 sys_vmsplice
-	data8 sys_fallocate
-	data8 sys_getcpu
-	data8 sys_epoll_pwait			// 1305
-	data8 sys_utimensat
-	data8 sys_signalfd
-	data8 sys_ni_syscall
-	data8 sys_eventfd
-	data8 sys_timerfd_create		// 1310
-	data8 sys_timerfd_settime
-	data8 sys_timerfd_gettime
-	data8 sys_signalfd4
-	data8 sys_eventfd2
-	data8 sys_epoll_create1			// 1315
-	data8 sys_dup3
-	data8 sys_pipe2
-	data8 sys_inotify_init1
-	data8 sys_preadv
-	data8 sys_pwritev			// 1320
-	data8 sys_rt_tgsigqueueinfo
-	data8 sys_recvmmsg
-	data8 sys_fanotify_init
-	data8 sys_fanotify_mark
-	data8 sys_prlimit64			// 1325
-	data8 sys_name_to_handle_at
-	data8 sys_open_by_handle_at
-	data8 sys_clock_adjtime
-	data8 sys_syncfs
-	data8 sys_setns				// 1330
-	data8 sys_sendmmsg
-	data8 sys_process_vm_readv
-	data8 sys_process_vm_writev
-	data8 sys_accept4
-	data8 sys_finit_module			// 1335
-	data8 sys_sched_setattr
-	data8 sys_sched_getattr
-	data8 sys_renameat2
-	data8 sys_getrandom
-	data8 sys_memfd_create			// 1340
-	data8 sys_bpf
-	data8 sys_execveat
-	data8 sys_userfaultfd
-	data8 sys_membarrier
-	data8 sys_kcmp				// 1345
-	data8 sys_mlock2
-	data8 sys_copy_file_range
-	data8 sys_preadv2
-	data8 sys_pwritev2
+#include <asm/syscall_table.h>
 
-	.org sys_call_table + 8*__NR_syscalls	// guard against failures to increase NR_syscalls
+.org sys_call_table + 8*__NR_syscalls
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/5] System call table generation support
  2018-08-09  5:05 [PATCH 0/5] System call table generation support Firoz Khan
                   ` (4 preceding siblings ...)
  2018-08-09  5:05 ` [PATCH 5/5] ia64: uapi header and system call table file generation Firoz Khan
@ 2018-08-10 16:20 ` Luck, Tony
  2018-09-18  9:25   ` Firoz Khan
  5 siblings, 1 reply; 8+ messages in thread
From: Luck, Tony @ 2018-08-10 16:20 UTC (permalink / raw)
  To: Firoz Khan
  Cc: linux-ia64, Fenghua Yu, y2038, linux-kernel, linux-arch, arnd,
	deepa.kernel, marcin.juszkiewicz

On Thu, Aug 09, 2018 at 10:35:10AM +0530, Firoz Khan wrote:
> The purpose of this patch series is:
> 1. We can easily add/modify/delete system call by changing entry 
> in syscall.tbl file. No need to manually edit many files.

I tried applying this to latest upstream as it was yesterday
HEAD = fedb8da96355f5f64 ("parisc: Define mb() and add memory barriers to assembler unlock sequences")

it built with no errors, but does not boot.  Init dies, so may be an
issue with not being able to make a system call???

Serial console log below.

-Tony


Linux version 4.18.0-rc8-generic-smp-9-g3484b4f4d494 (aegl@linux-bxb1) (gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux)) #1 SMP Thu Aug 9 10:42:37 PDT 2018
EFI v2.10 by EDK II:
efi:  SALsystab=0x3e81e418  ACPI 2.0=0x3da42014  SMBIOS=0x3a3af000 
booting generic kernel on platform dig
earlycon: uart0 at I/O port 0x3f8 (options '')
bootconsole [uart0] enabled
ACPI: Early table checksum verification disabled
ACPI: RSDP 0x000000003DA42014 000024 (v02 INTEL )
ACPI: XSDT 0x000000003DA42120 00004C (v01 INTEL  BXBIOH   00000002      01000013)
ACPI: FACP 0x000000003A3D2000 0000F4 (v04 INTEL  BXBIOH   00000002      00000000)
ACPI BIOS Warning (bug): 32/64X length mismatch in FADT/PmTimerBlock: 32/24 (20180531/tbfadt-569)
ACPI BIOS Warning (bug): 32/64X length mismatch in FADT/Gpe0Block: 128/64 (20180531/tbfadt-569)
ACPI BIOS Warning (bug): Invalid length for FADT/PmTimerBlock: 24, using default 32 (20180531/tbfadt-674)
ACPI: DSDT 0x000000003A3B0000 019928 (v01 INTEL  BXBIOH   00000002 INTL 20080926)
ACPI: FACS 0x000000003A4EA000 000040
ACPI: FACS 0x000000003A4EA000 000040
ACPI: APIC 0x000000003A3D0000 0002D0 (v01 INTEL  BXBIOH   00000002      00000000)
ACPI: SLIT 0x000000003A3CE000 00003C (v01 INTEL  BXBIOH   00000002      00000000)
ACPI: SPCR 0x000000003A3CC000 000050 (v01 INTEL  BXBIOH   00000002      00000000)
ACPI: SRAT 0x000000003A3CA000 000550 (v01 INTEL  BXBIOH   00000002      00000000)
ia64_native_iosapic_pcat_compat_init: Disabling PC-AT compatible 8259 interrupts
ACPI: Local APIC address (____ptrval____)
32 CPUs available, 32 CPUs total
Number of logical nodes in system = 1
Number of memory chunks in system = 3
SMP: Allowing 32 CPUs, 0 hotplug CPUs
Initial ramdisk at: 0xe0000004faad3000 (5048585 bytes)
SAL 3.20:  version 0.0
SAL: AP wakeup using external interrupt vector 0xf0
MCA related initialization done
Virtual mem_map starts at 0x(____ptrval____)
Zone ranges:
  DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
  Normal   [mem 0x0000000100000000-0x00000004fbffffff]
Movable zone start for each node
Early memory node ranges
  node   0: [mem 0x0000000001000000-0x000000003a39ffff]
  node   0: [mem 0x000000003a3e0000-0x000000003a4dffff]
  node   0: [mem 0x000000003a540000-0x000000003a59ffff]
  node   0: [mem 0x000000003a6c0000-0x000000003a6dffff]
  node   0: [mem 0x000000003a780000-0x000000003ac3ffff]
  node   0: [mem 0x000000003acb0000-0x000000003ad4ffff]
  node   0: [mem 0x000000003ad70000-0x000000003ad8ffff]
  node   0: [mem 0x000000003adb0000-0x000000003adcffff]
  node   0: [mem 0x000000003ae40000-0x000000003ae4ffff]
  node   0: [mem 0x000000003ae60000-0x000000003ae7ffff]
  node   0: [mem 0x000000003b280000-0x000000003b2dffff]
  node   0: [mem 0x000000003b2f0000-0x000000003b39ffff]
  node   0: [mem 0x000000003b3c0000-0x000000003b92ffff]
  node   0: [mem 0x000000003b960000-0x000000003b97ffff]
  node   0: [mem 0x000000003c0f0000-0x000000003c15ffff]
  node   0: [mem 0x000000003c180000-0x000000003c20ffff]
  node   0: [mem 0x000000003c230000-0x000000003c7dffff]
  node   0: [mem 0x000000003c7f0000-0x000000003c88ffff]
  node   0: [mem 0x000000003c8b0000-0x000000003c8bffff]
  node   0: [mem 0x000000003c8e0000-0x000000003ca4ffff]
  node   0: [mem 0x000000003ca60000-0x000000003caaffff]
  node   0: [mem 0x000000003cac0000-0x000000003cc7ffff]
  node   0: [mem 0x000000003cc90000-0x000000003cdcffff]
  node   0: [mem 0x000000003cde0000-0x000000003ce2ffff]
  node   0: [mem 0x000000003ce40000-0x000000003d9effff]
  node   0: [mem 0x000000003da00000-0x000000003da3ffff]
  node   0: [mem 0x000000003da50000-0x000000003e7fffff]
  node   0: [mem 0x000000003e820000-0x000000003f8cffff]
  node   0: [mem 0x000000003fdd0000-0x000000003fdeffff]
  node   0: [mem 0x0000000100000000-0x00000003ffffffff]
  node   0: [mem 0x0000000440000000-0x00000004faf9ffff]
  node   0: [mem 0x00000004fb010000-0x00000004fb0bffff]
  node   0: [mem 0x00000004fb0d0000-0x00000004fbffffff]
Initmem setup node 0 [mem 0x0000000001000000-0x00000004fbffffff]
Built 1 zonelists, mobility grouping on.  Total pages: 260199
Policy zone: Normal
Kernel command line: BOOT_IMAGE=scsi0:\efi\SuSE\l-generic-smp.gz  console=tty1 console=uart,io,0x3f8 intel_iommu=off root=/dev/sda3
DMAR: IOMMU disabled
Sorting __ex_table...
software IO TLB [mem 0x060a0000-0x0a0a0000] (64MB) mapped at [(____ptrval____)-(____ptrval____)]
Memory: 16541952K/16670656K available (15088K kernel code, 6042K rwdata, 2028K rodata, 1216K init, 7091K bss, 128704K reserved, 0K cma-reserved)
SLUB: HWalign=128, Order=0-3, MinObjects=0, CPUs=32, Nodes=1024
Hierarchical RCU implementation.
	RCU event tracing is enabled.
	RCU restricting CPUs from NR_CPUS=4096 to nr_cpu_ids=32.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=32
NR_IRQS: 1024
ia64_native_iosapic_pcat_compat_init: Disabling PC-AT compatible 8259 interrupts
ACPI: Local APIC address (____ptrval____)
PLATFORM int CPEI (0x3): GSI 22 (level, low) -> CPU 0 (0x0000) vector 30
PLATFORM int PMI (0x1): GSI 23 (edge, low) -> CPU 0 (0x0000) vector 0
register_intr: changing vector 39 from IO-SAPIC-edge to IO-SAPIC-level

clocksource: itc: mask: 0xffffffffffffffff max_cycles: 0xb881274fa3, max_idle_ns: 440795210636 ns
Console: colour VGA+ 80x25
console [tty1] enabled
ACPI: Core revision 20180531
Calibrating delay loop... 3641.34 BogoMIPS (lpj=7282688)
pid_max: default: 32768 minimum: 301
Dentry cache hash table entries: 2097152 (order: 8, 16777216 bytes)
Inode-cache hash table entries: 1048576 (order: 7, 8388608 bytes)
Mount-cache hash table entries: 32768 (order: 2, 262144 bytes)
Mountpoint-cache hash table entries: 32768 (order: 2, 262144 bytes)
Boot processor id 0x0/0x0
Hierarchical SRCU implementation.
smp: Bringing up secondary CPUs ...
Fixed BSP b0 value from CPU 1
CPU 1: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 61 cycles)

CPU 2: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 671 cycles)

CPU 3: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 667 cycles)

CPU 4: synchronized ITC with CPU 0 (last diff 2 cycles, maxerr 670 cycles)

CPU 5: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 667 cycles)

CPU 6: synchronized ITC with CPU 0 (last diff 2 cycles, maxerr 671 cycles)

CPU 7: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 666 cycles)

CPU 8: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 756 cycles)

CPU 9: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 751 cycles)

CPU 10: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 758 cycles)

CPU 11: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 751 cycles)

CPU 12: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 757 cycles)

CPU 13: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 752 cycles)

CPU 14: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 758 cycles)

CPU 15: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 752 cycles)

CPU 16: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 713 cycles)

CPU 17: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 706 cycles)

CPU 18: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 712 cycles)

CPU 19: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 706 cycles)

CPU 20: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 708 cycles)

CPU 21: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 706 cycles)

CPU 22: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 708 cycles)

CPU 23: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 706 cycles)

CPU 24: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 765 cycles)

CPU 25: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 758 cycles)

CPU 26: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 764 cycles)

CPU 27: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 758 cycles)

CPU 28: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 763 cycles)

CPU 29: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 758 cycles)

CPU 30: synchronized ITC with CPU 0 (last diff -3 cycles, maxerr 768 cycles)

CPU 31: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 758 cycles)

smp: Brought up 1 node, 32 CPUs
Total of 32 processors activated (116523.00 BogoMIPS).
random: fast init done
random: get_random_u32 called from bucket_table_alloc+0x100/0x2e0 with crng_init=1
SMBIOS 2.4 present.
DMI: Supermicro I8QBH/I8QBH, BIOS I8QBH 15.006.004RAS 2010/05/10
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
futex hash table entries: 8192 (order: 4, 1048576 bytes)
NET: Registered protocol family 16
ACPI: bus type PCI registered
acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
HugeTLB registered 256 MiB page size, pre-allocated 0 pages
ACPI: Added _OSI(Module Device)
ACPI: Added _OSI(Processor Device)
ACPI: Added _OSI(3.0 _SCP Extensions)
ACPI: Added _OSI(Processor Aggregator Device)
ACPI: Added _OSI(Linux-Dell-Video)
ACPI: 1 ACPI AML tables successfully acquired and loaded
ACPI: Interpreter enabled
ACPI: (supports S0 S5)
ACPI: Using IOSAPIC for interrupt routing
ACPI: Enabled 11 GPEs in block 00 to 3F
ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-7f])
acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig Segments MSI]
acpi PNP0A08:00: PCIe port services disabled; not requesting _OSC control
PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
pci_bus 0000:00: root bus resource [io  0x1000-0x8fff window]
pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000fffff]
pci_bus 0000:00: root bus resource [mem 0xfec00000-0xfec3ffff]
pci_bus 0000:00: root bus resource [mem 0xfed1c000-0xfed1c0ff]
pci_bus 0000:00: root bus resource [mem 0xfed40000-0xfedfffff]
pci_bus 0000:00: root bus resource [mem 0x50000000-0x9fffffff window]
pci_bus 0000:00: root bus resource [mem 0x10000000000-0x100fffffffe]
pci_bus 0000:00: root bus resource [mem 0x10100000000-0x101fffffffe]
pci_bus 0000:00: root bus resource [mem 0x10200000000-0x102fffffffe]
pci_bus 0000:00: root bus resource [mem 0x10300000000-0x103fffffffe]
pci_bus 0000:00: root bus resource [bus 00-7f]
pci 0000:00:01.0: enabling Extended Tags
pci 0000:00:03.0: enabling Extended Tags
pci 0000:00:05.0: enabling Extended Tags
pci 0000:00:07.0: enabling Extended Tags
pci 0000:00:01.0: PCI bridge to [bus 01]
pci 0000:01:00.0: can't claim BAR 6 [mem 0xfffe0000-0xffffffff pref]: no compatible bridge window
pci 0000:01:00.1: can't claim BAR 6 [mem 0xfffe0000-0xffffffff pref]: no compatible bridge window
pci 0000:00:03.0: PCI bridge to [bus 02]
pci 0000:03:00.0: enabling Extended Tags
pci 0000:00:05.0: PCI bridge to [bus 03]
pci 0000:03:00.0: can't claim BAR 6 [mem 0xffe00000-0xffffffff pref]: no compatible bridge window
pci 0000:00:07.0: PCI bridge to [bus 04]
pci 0000:00:1c.0: PCI bridge to [bus 05]
pci 0000:00:1c.1: PCI bridge to [bus 06]
pci 0000:00:1c.2: PCI bridge to [bus 07]
pci 0000:00:1c.3: PCI bridge to [bus 08]
pci 0000:00:1c.4: PCI bridge to [bus 09]
pci 0000:00:1c.5: PCI bridge to [bus 0a]
pci_bus 0000:0b: extended config space not accessible
pci 0000:00:1e.0: PCI bridge to [bus 0b] (subtractive decode)
pci 0000:0b:04.0: can't claim BAR 6 [mem 0xfffe0000-0xffffffff pref]: no compatible bridge window
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 *6 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Root Bridge [PCI1] (domain 0000 [bus 80-ff])
acpi PNP0A08:01: _OSC: OS supports [ExtendedConfig Segments MSI]
acpi PNP0A08:01: PCIe port services disabled; not requesting _OSC control
PCI host bridge to bus 0000:80
pci_bus 0000:80: root bus resource [io  0x9000-0xffff window]
pci_bus 0000:80: root bus resource [mem 0xfec40000-0xfec7ffff]
pci_bus 0000:80: root bus resource [mem 0xa0000000-0xefffffff]
pci_bus 0000:80: root bus resource [mem 0x10400000000-0x104fffffffe]
pci_bus 0000:80: root bus resource [mem 0x10500000000-0x105fffffffe]
pci_bus 0000:80: root bus resource [mem 0x10600000000-0x106fffffffe]
pci_bus 0000:80: root bus resource [mem 0x10700000000-0x107fffffffe]
pci_bus 0000:80: root bus resource [bus 80-ff]
pci 0000:80:01.0: enabling Extended Tags
pci 0000:80:03.0: enabling Extended Tags
pci 0000:80:05.0: enabling Extended Tags
pci 0000:80:07.0: enabling Extended Tags
acpiphp: Slot [0] registered
pci 0000:80:01.0: PCI bridge to [bus 81]
pci 0000:81:00.0: can't claim BAR 6 [mem 0xfffe0000-0xffffffff pref]: no compatible bridge window
pci 0000:81:00.1: can't claim BAR 6 [mem 0xfffe0000-0xffffffff pref]: no compatible bridge window
acpiphp: Slot [0-1] registered
pci 0000:80:03.0: PCI bridge to [bus 82]
acpiphp: Slot [0-2] registered
pci 0000:83:00.0: enabling Extended Tags
pci 0000:80:05.0: PCI bridge to [bus 83]
pci 0000:83:00.0: can't claim BAR 6 [mem 0xffe00000-0xffffffff pref]: no compatible bridge window
acpiphp: Slot [0-3] registered
pci 0000:80:07.0: PCI bridge to [bus 84]
pci 0000:0b:04.0: vgaarb: setting as boot VGA device
pci 0000:0b:04.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
pci 0000:0b:04.0: vgaarb: bridge control possible
vgaarb: loaded
SCSI subsystem initialized
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
Registered efivars operations
random: crng init done
clocksource: Switched to clocksource itc
pnp: PnP ACPI init
system 00:01: [io  0x0500-0x053f] has been reserved
system 00:01: [io  0x0400-0x047f] has been reserved
system 00:01: [io  0x0800-0x081f] has been reserved
system 00:01: [mem 0xfed1c000-0xfed8bffe] could not be reserved
system 00:01: [mem 0xff000000-0xffffffff] has been reserved
system 00:01: [mem 0xfee00000-0xfeefffff] has been reserved
system 00:01: [mem 0xfea00000-0xfea0001f] has been reserved
system 00:01: [mem 0xfed1b000-0xfed1bfff] has been reserved
pnp: PnP ACPI: found 4 devices
NET: Registered protocol family 2
tcp_listen_portaddr_hash hash table entries: 8192 (order: 1, 131072 bytes)
TCP established hash table entries: 131072 (order: 4, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 4, 1048576 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
UDP hash table entries: 8192 (order: 2, 262144 bytes)
UDP-Lite hash table entries: 8192 (order: 2, 262144 bytes)
NET: Registered protocol family 1
GSI 16 (level, low) -> CPU 0 (0x0000) vector 49
GSI 16 (level, low) -> CPU 0 (0x0000) vector 49 unregistered
pci 0000:00:1a.0: quirk_usb_early_handoff+0x0/0x360 took 10857 usecs
GSI 17 (level, low) -> CPU 1 (0x0100) vector 49
GSI 17 (level, low) -> CPU 1 (0x0100) vector 49 unregistered
pci 0000:00:1a.1: quirk_usb_early_handoff+0x0/0x360 took 10689 usecs
GSI 18 (level, low) -> CPU 2 (0x0200) vector 49
GSI 18 (level, low) -> CPU 2 (0x0200) vector 49 unregistered
pci 0000:00:1a.2: quirk_usb_early_handoff+0x0/0x360 took 10682 usecs
GSI 18 (level, low) -> CPU 3 (0x0300) vector 49
GSI 18 (level, low) -> CPU 3 (0x0300) vector 49 unregistered
pci 0000:00:1a.7: quirk_usb_early_handoff+0x0/0x360 took 10698 usecs
GSI 16 (level, low) -> CPU 4 (0x0400) vector 49
GSI 16 (level, low) -> CPU 4 (0x0400) vector 49 unregistered
pci 0000:00:1d.0: quirk_usb_early_handoff+0x0/0x360 took 10697 usecs
GSI 17 (level, low) -> CPU 5 (0x0500) vector 49
GSI 17 (level, low) -> CPU 5 (0x0500) vector 49 unregistered
pci 0000:00:1d.1: quirk_usb_early_handoff+0x0/0x360 took 10686 usecs
GSI 18 (level, low) -> CPU 6 (0x0600) vector 49
GSI 18 (level, low) -> CPU 6 (0x0600) vector 49 unregistered
pci 0000:00:1d.2: quirk_usb_early_handoff+0x0/0x360 took 10696 usecs
GSI 16 (level, low) -> CPU 7 (0x0700) vector 49
GSI 16 (level, low) -> CPU 7 (0x0700) vector 49 unregistered
pci 0000:00:1d.7: quirk_usb_early_handoff+0x0/0x360 took 10690 usecs
pci 0000:0b:04.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 4864kB freed
PAL Information Facility v0.5
workingset: timestamp_bits=52 max_order=18 bucket_order=0
SGI XFS with security attributes, no debug enabled
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
io scheduler mq-deadline registered
io scheduler kyber registered
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
00:02: ttyS0 at I/O 0x3f8 (irq = 44, base_baud = 115200) is a 16550A
console [ttyS0] enabled
console [ttyS0] enabled
bootconsole [uart0] disabled
bootconsole [uart0] disabled
00:03: ttyS1 at I/O 0x2f8 (irq = 45, base_baud = 115200) is a 16550A
EFI Time Services Driver v0.4
brd: module loaded
Uniform Multi-Platform E-IDE driver
ide-gd driver 1.18
ide-cd driver 5.00
GSI 17 (level, low) -> CPU 8 (0x1000) vector 49
ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
scsi host0: ata_piix
scsi host1: ata_piix
ata1: SATA max UDMA/133 cmd 0x4138 ctl 0x414c bmdma 0x4110 irq 50
ata2: SATA max UDMA/133 cmd 0x4130 ctl 0x4148 bmdma 0x4118 irq 50
ata_piix 0000:00:1f.5: MAP [ P0 -- P1 -- ]
scsi host2: ata_piix
scsi host3: ata_piix
ata3: SATA max UDMA/133 cmd 0x4128 ctl 0x4144 bmdma 0x40f0 irq 50
ata4: SATA max UDMA/133 cmd 0x4120 ctl 0x4140 bmdma 0x40f8 irq 50
e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
e1000: Copyright (c) 1999-2006 Intel Corporation.
igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
igb: Copyright (c) 2007-2014 Intel Corporation.
GSI 28 (level, low) -> CPU 9 (0x1100) vector 50
igb 0000:01:00.0: added PHC on eth0
igb 0000:01:00.0: Intel(R) Gigabit Ethernet Network Connection
igb 0000:01:00.0: eth0: (PCIe:2.5Gb/s:Width x4) 00:30:48:fe:19:3a
igb 0000:01:00.0: eth0: PBA No: Unknown
igb 0000:01:00.0: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s)
GSI 40 (level, low) -> CPU 10 (0x1200) vector 60
ata3: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
ata2.00: SATA link down (SStatus 0 SControl 300)
ata2.01: SATA link down (SStatus 0 SControl 300)
igb 0000:01:00.1: added PHC on eth1
igb 0000:01:00.1: Intel(R) Gigabit Ethernet Network Connection
ata1.00: SATA link down (SStatus 0 SControl 300)
igb 0000:01:00.1: eth1: (PCIe:2.5Gb/s:Width x4) 00:30:48:fe:19:3b
ata1.01: SATA link down (SStatus 0 SControl 300)
igb 0000:01:00.1: eth1: PBA No: Unknown
igb 0000:01:00.1: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s)
GSI 52 (level, low) -> CPU 11 (0x1300) vector 70
igb 0000:81:00.0: added PHC on eth2
igb 0000:81:00.0: Intel(R) Gigabit Ethernet Network Connection
igb 0000:81:00.0: eth2: (PCIe:2.5Gb/s:Width x4) 00:30:48:fe:19:b0
igb 0000:81:00.0: eth2: PBA No: Unknown
igb 0000:81:00.0: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s)
GSI 64 (level, low) -> CPU 12 (0x1400) vector 80
igb 0000:81:00.1: added PHC on eth3
igb 0000:81:00.1: Intel(R) Gigabit Ethernet Network Connection
igb 0000:81:00.1: eth3: (PCIe:2.5Gb/s:Width x4) 00:30:48:fe:19:b1
igb 0000:81:00.1: eth3: PBA No: Unknown
igb 0000:81:00.1: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s)
Fusion MPT base driver 3.04.20
Copyright (c) 1999-2008 LSI Corporation
Fusion MPT SPI Host driver 3.04.20
Fusion MPT SAS Host driver 3.04.20
GSI 26 (level, low) -> CPU 13 (0x1500) vector 90
mptbase: ioc0: Initiating bringup
ioc0: LSISAS1068E B3: Capabilities={Initiator}
scsi host4: ioc0: LSISAS1068E B3, FwRev=011a0000h, Ports=1, MaxQ=478, IRQ=92
mptsas: ioc0: attaching ssp device: fw_channel 0, fw_id 6, phy 6, sas_addr 0x5000c5000ecb8f49
scsi 4:0:0:0: Direct-Access     SEAGATE  ST9146802SS      0003 PQ: 0 ANSI: 5
GSI 50 (level, low) -> CPU 14 (0x1600) vector 91
sd 4:0:0:0: [sda] 286749488 512-byte logical blocks: (147 GB/137 GiB)
mptbase: ioc1: Initiating bringup
sd 4:0:0:0: [sda] Write Protect is off
sd 4:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA
 sda: sda1 sda2 sda3
sd 4:0:0:0: [sda] Attached SCSI disk
ioc1: LSISAS1068E B3: Capabilities={Initiator}
scsi host5: ioc1: LSISAS1068E B3, FwRev=011a0000h, Ports=1, MaxQ=478, IRQ=93
mptsas: ioc1: attaching ssp device: fw_channel 0, fw_id 6, phy 6, sas_addr 0x5000c5000ecada69
scsi 5:0:0:0: Direct-Access     SEAGATE  ST9146802SS      0003 PQ: 0 ANSI: 5
EFI Variables Facility v0.08 2004-May-17
sd 5:0:0:0: [sdb] 286749488 512-byte logical blocks: (147 GB/137 GiB)
sd 5:0:0:0: [sdb] Write Protect is off
sd 5:0:0:0: [sdb] Write cache: enabled, read cache: enabled, supports DPO and FUA
 sdb: sdb1 sdb2
sd 5:0:0:0: [sdb] Attached SCSI disk
NET: Registered protocol family 17
console [netcon0] enabled
netconsole: network logging started
Freeing unused kernel memory: 1216K
This architecture does not have kernel memory protection.
doing fast boot
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
 ]---

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/5] System call table generation support
  2018-08-10 16:20 ` [PATCH 0/5] System call table generation support Luck, Tony
@ 2018-09-18  9:25   ` Firoz Khan
  0 siblings, 0 replies; 8+ messages in thread
From: Firoz Khan @ 2018-09-18  9:25 UTC (permalink / raw)
  To: Luck, Tony
  Cc: linux-ia64, Fenghua Yu, y2038 Mailman List,
	Linux Kernel Mailing List, Linux-Arch, Arnd Bergmann,
	Deepa Dinamani, Marcin Juszkiewicz

On 10 August 2018 at 21:50, Luck, Tony <tony.luck@intel.com> wrote:
> On Thu, Aug 09, 2018 at 10:35:10AM +0530, Firoz Khan wrote:
>> The purpose of this patch series is:
>> 1. We can easily add/modify/delete system call by changing entry
>> in syscall.tbl file. No need to manually edit many files.
>
> I tried applying this to latest upstream as it was yesterday
> HEAD = fedb8da96355f5f64 ("parisc: Define mb() and add memory barriers to assembler unlock sequences")
>
> it built with no errors, but does not boot.  Init dies, so may be an
> issue with not being able to make a system call???
>
> Serial console log below.

Thanks for your reply :)
Sorry for the delayed response :(

I'll work on this issue now and will update you ASAP.

- Firoz

>
> Linux version 4.18.0-rc8-generic-smp-9-g3484b4f4d494 (aegl@linux-bxb1) (gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux)) #1 SMP Thu Aug 9 10:42:37 PDT 2018
> EFI v2.10 by EDK II:
> efi:  SALsystab=0x3e81e418  ACPI 2.0=0x3da42014  SMBIOS=0x3a3af000
> booting generic kernel on platform dig
> earlycon: uart0 at I/O port 0x3f8 (options '')
> bootconsole [uart0] enabled
> ACPI: Early table checksum verification disabled
> ACPI: RSDP 0x000000003DA42014 000024 (v02 INTEL )
> ACPI: XSDT 0x000000003DA42120 00004C (v01 INTEL  BXBIOH   00000002      01000013)
> ACPI: FACP 0x000000003A3D2000 0000F4 (v04 INTEL  BXBIOH   00000002      00000000)
> ACPI BIOS Warning (bug): 32/64X length mismatch in FADT/PmTimerBlock: 32/24 (20180531/tbfadt-569)
> ACPI BIOS Warning (bug): 32/64X length mismatch in FADT/Gpe0Block: 128/64 (20180531/tbfadt-569)
> ACPI BIOS Warning (bug): Invalid length for FADT/PmTimerBlock: 24, using default 32 (20180531/tbfadt-674)
> ACPI: DSDT 0x000000003A3B0000 019928 (v01 INTEL  BXBIOH   00000002 INTL 20080926)
> ACPI: FACS 0x000000003A4EA000 000040
> ACPI: FACS 0x000000003A4EA000 000040
> ACPI: APIC 0x000000003A3D0000 0002D0 (v01 INTEL  BXBIOH   00000002      00000000)
> ACPI: SLIT 0x000000003A3CE000 00003C (v01 INTEL  BXBIOH   00000002      00000000)
> ACPI: SPCR 0x000000003A3CC000 000050 (v01 INTEL  BXBIOH   00000002      00000000)
> ACPI: SRAT 0x000000003A3CA000 000550 (v01 INTEL  BXBIOH   00000002      00000000)
> ia64_native_iosapic_pcat_compat_init: Disabling PC-AT compatible 8259 interrupts
> ACPI: Local APIC address (____ptrval____)
> 32 CPUs available, 32 CPUs total
> Number of logical nodes in system = 1
> Number of memory chunks in system = 3
> SMP: Allowing 32 CPUs, 0 hotplug CPUs
> Initial ramdisk at: 0xe0000004faad3000 (5048585 bytes)
> SAL 3.20:  version 0.0
> SAL: AP wakeup using external interrupt vector 0xf0
> MCA related initialization done
> Virtual mem_map starts at 0x(____ptrval____)
> Zone ranges:
>   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
>   Normal   [mem 0x0000000100000000-0x00000004fbffffff]
> Movable zone start for each node
> Early memory node ranges
>   node   0: [mem 0x0000000001000000-0x000000003a39ffff]
>   node   0: [mem 0x000000003a3e0000-0x000000003a4dffff]
>   node   0: [mem 0x000000003a540000-0x000000003a59ffff]
>   node   0: [mem 0x000000003a6c0000-0x000000003a6dffff]
>   node   0: [mem 0x000000003a780000-0x000000003ac3ffff]
>   node   0: [mem 0x000000003acb0000-0x000000003ad4ffff]
>   node   0: [mem 0x000000003ad70000-0x000000003ad8ffff]
>   node   0: [mem 0x000000003adb0000-0x000000003adcffff]
>   node   0: [mem 0x000000003ae40000-0x000000003ae4ffff]
>   node   0: [mem 0x000000003ae60000-0x000000003ae7ffff]
>   node   0: [mem 0x000000003b280000-0x000000003b2dffff]
>   node   0: [mem 0x000000003b2f0000-0x000000003b39ffff]
>   node   0: [mem 0x000000003b3c0000-0x000000003b92ffff]
>   node   0: [mem 0x000000003b960000-0x000000003b97ffff]
>   node   0: [mem 0x000000003c0f0000-0x000000003c15ffff]
>   node   0: [mem 0x000000003c180000-0x000000003c20ffff]
>   node   0: [mem 0x000000003c230000-0x000000003c7dffff]
>   node   0: [mem 0x000000003c7f0000-0x000000003c88ffff]
>   node   0: [mem 0x000000003c8b0000-0x000000003c8bffff]
>   node   0: [mem 0x000000003c8e0000-0x000000003ca4ffff]
>   node   0: [mem 0x000000003ca60000-0x000000003caaffff]
>   node   0: [mem 0x000000003cac0000-0x000000003cc7ffff]
>   node   0: [mem 0x000000003cc90000-0x000000003cdcffff]
>   node   0: [mem 0x000000003cde0000-0x000000003ce2ffff]
>   node   0: [mem 0x000000003ce40000-0x000000003d9effff]
>   node   0: [mem 0x000000003da00000-0x000000003da3ffff]
>   node   0: [mem 0x000000003da50000-0x000000003e7fffff]
>   node   0: [mem 0x000000003e820000-0x000000003f8cffff]
>   node   0: [mem 0x000000003fdd0000-0x000000003fdeffff]
>   node   0: [mem 0x0000000100000000-0x00000003ffffffff]
>   node   0: [mem 0x0000000440000000-0x00000004faf9ffff]
>   node   0: [mem 0x00000004fb010000-0x00000004fb0bffff]
>   node   0: [mem 0x00000004fb0d0000-0x00000004fbffffff]
> Initmem setup node 0 [mem 0x0000000001000000-0x00000004fbffffff]
> Built 1 zonelists, mobility grouping on.  Total pages: 260199
> Policy zone: Normal
> Kernel command line: BOOT_IMAGE=scsi0:\efi\SuSE\l-generic-smp.gz  console=tty1 console=uart,io,0x3f8 intel_iommu=off root=/dev/sda3
> DMAR: IOMMU disabled
> Sorting __ex_table...
> software IO TLB [mem 0x060a0000-0x0a0a0000] (64MB) mapped at [(____ptrval____)-(____ptrval____)]
> Memory: 16541952K/16670656K available (15088K kernel code, 6042K rwdata, 2028K rodata, 1216K init, 7091K bss, 128704K reserved, 0K cma-reserved)
> SLUB: HWalign=128, Order=0-3, MinObjects=0, CPUs=32, Nodes=1024
> Hierarchical RCU implementation.
>         RCU event tracing is enabled.
>         RCU restricting CPUs from NR_CPUS=4096 to nr_cpu_ids=32.
> RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=32
> NR_IRQS: 1024
> ia64_native_iosapic_pcat_compat_init: Disabling PC-AT compatible 8259 interrupts
> ACPI: Local APIC address (____ptrval____)
> PLATFORM int CPEI (0x3): GSI 22 (level, low) -> CPU 0 (0x0000) vector 30
> PLATFORM int PMI (0x1): GSI 23 (edge, low) -> CPU 0 (0x0000) vector 0
> register_intr: changing vector 39 from IO-SAPIC-edge to IO-SAPIC-level
>
> clocksource: itc: mask: 0xffffffffffffffff max_cycles: 0xb881274fa3, max_idle_ns: 440795210636 ns
> Console: colour VGA+ 80x25
> console [tty1] enabled
> ACPI: Core revision 20180531
> Calibrating delay loop... 3641.34 BogoMIPS (lpj=7282688)
> pid_max: default: 32768 minimum: 301
> Dentry cache hash table entries: 2097152 (order: 8, 16777216 bytes)
> Inode-cache hash table entries: 1048576 (order: 7, 8388608 bytes)
> Mount-cache hash table entries: 32768 (order: 2, 262144 bytes)
> Mountpoint-cache hash table entries: 32768 (order: 2, 262144 bytes)
> Boot processor id 0x0/0x0
> Hierarchical SRCU implementation.
> smp: Bringing up secondary CPUs ...
> Fixed BSP b0 value from CPU 1
> CPU 1: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 61 cycles)
>
> CPU 2: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 671 cycles)
>
> CPU 3: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 667 cycles)
>
> CPU 4: synchronized ITC with CPU 0 (last diff 2 cycles, maxerr 670 cycles)
>
> CPU 5: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 667 cycles)
>
> CPU 6: synchronized ITC with CPU 0 (last diff 2 cycles, maxerr 671 cycles)
>
> CPU 7: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 666 cycles)
>
> CPU 8: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 756 cycles)
>
> CPU 9: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 751 cycles)
>
> CPU 10: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 758 cycles)
>
> CPU 11: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 751 cycles)
>
> CPU 12: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 757 cycles)
>
> CPU 13: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 752 cycles)
>
> CPU 14: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 758 cycles)
>
> CPU 15: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 752 cycles)
>
> CPU 16: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 713 cycles)
>
> CPU 17: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 706 cycles)
>
> CPU 18: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 712 cycles)
>
> CPU 19: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 706 cycles)
>
> CPU 20: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 708 cycles)
>
> CPU 21: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 706 cycles)
>
> CPU 22: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 708 cycles)
>
> CPU 23: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 706 cycles)
>
> CPU 24: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 765 cycles)
>
> CPU 25: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 758 cycles)
>
> CPU 26: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 764 cycles)
>
> CPU 27: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 758 cycles)
>
> CPU 28: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 763 cycles)
>
> CPU 29: synchronized ITC with CPU 0 (last diff -1 cycles, maxerr 758 cycles)
>
> CPU 30: synchronized ITC with CPU 0 (last diff -3 cycles, maxerr 768 cycles)
>
> CPU 31: synchronized ITC with CPU 0 (last diff 0 cycles, maxerr 758 cycles)
>
> smp: Brought up 1 node, 32 CPUs
> Total of 32 processors activated (116523.00 BogoMIPS).
> random: fast init done
> random: get_random_u32 called from bucket_table_alloc+0x100/0x2e0 with crng_init=1
> SMBIOS 2.4 present.
> DMI: Supermicro I8QBH/I8QBH, BIOS I8QBH 15.006.004RAS 2010/05/10
> clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
> futex hash table entries: 8192 (order: 4, 1048576 bytes)
> NET: Registered protocol family 16
> ACPI: bus type PCI registered
> acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
> HugeTLB registered 256 MiB page size, pre-allocated 0 pages
> ACPI: Added _OSI(Module Device)
> ACPI: Added _OSI(Processor Device)
> ACPI: Added _OSI(3.0 _SCP Extensions)
> ACPI: Added _OSI(Processor Aggregator Device)
> ACPI: Added _OSI(Linux-Dell-Video)
> ACPI: 1 ACPI AML tables successfully acquired and loaded
> ACPI: Interpreter enabled
> ACPI: (supports S0 S5)
> ACPI: Using IOSAPIC for interrupt routing
> ACPI: Enabled 11 GPEs in block 00 to 3F
> ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-7f])
> acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig Segments MSI]
> acpi PNP0A08:00: PCIe port services disabled; not requesting _OSC control
> PCI host bridge to bus 0000:00
> pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
> pci_bus 0000:00: root bus resource [io  0x1000-0x8fff window]
> pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
> pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000fffff]
> pci_bus 0000:00: root bus resource [mem 0xfec00000-0xfec3ffff]
> pci_bus 0000:00: root bus resource [mem 0xfed1c000-0xfed1c0ff]
> pci_bus 0000:00: root bus resource [mem 0xfed40000-0xfedfffff]
> pci_bus 0000:00: root bus resource [mem 0x50000000-0x9fffffff window]
> pci_bus 0000:00: root bus resource [mem 0x10000000000-0x100fffffffe]
> pci_bus 0000:00: root bus resource [mem 0x10100000000-0x101fffffffe]
> pci_bus 0000:00: root bus resource [mem 0x10200000000-0x102fffffffe]
> pci_bus 0000:00: root bus resource [mem 0x10300000000-0x103fffffffe]
> pci_bus 0000:00: root bus resource [bus 00-7f]
> pci 0000:00:01.0: enabling Extended Tags
> pci 0000:00:03.0: enabling Extended Tags
> pci 0000:00:05.0: enabling Extended Tags
> pci 0000:00:07.0: enabling Extended Tags
> pci 0000:00:01.0: PCI bridge to [bus 01]
> pci 0000:01:00.0: can't claim BAR 6 [mem 0xfffe0000-0xffffffff pref]: no compatible bridge window
> pci 0000:01:00.1: can't claim BAR 6 [mem 0xfffe0000-0xffffffff pref]: no compatible bridge window
> pci 0000:00:03.0: PCI bridge to [bus 02]
> pci 0000:03:00.0: enabling Extended Tags
> pci 0000:00:05.0: PCI bridge to [bus 03]
> pci 0000:03:00.0: can't claim BAR 6 [mem 0xffe00000-0xffffffff pref]: no compatible bridge window
> pci 0000:00:07.0: PCI bridge to [bus 04]
> pci 0000:00:1c.0: PCI bridge to [bus 05]
> pci 0000:00:1c.1: PCI bridge to [bus 06]
> pci 0000:00:1c.2: PCI bridge to [bus 07]
> pci 0000:00:1c.3: PCI bridge to [bus 08]
> pci 0000:00:1c.4: PCI bridge to [bus 09]
> pci 0000:00:1c.5: PCI bridge to [bus 0a]
> pci_bus 0000:0b: extended config space not accessible
> pci 0000:00:1e.0: PCI bridge to [bus 0b] (subtractive decode)
> pci 0000:0b:04.0: can't claim BAR 6 [mem 0xfffe0000-0xffffffff pref]: no compatible bridge window
> ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 *6 7 9 10 11 12 14 15)
> ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
> ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
> ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
> ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
> ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
> ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
> ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
> ACPI: PCI Root Bridge [PCI1] (domain 0000 [bus 80-ff])
> acpi PNP0A08:01: _OSC: OS supports [ExtendedConfig Segments MSI]
> acpi PNP0A08:01: PCIe port services disabled; not requesting _OSC control
> PCI host bridge to bus 0000:80
> pci_bus 0000:80: root bus resource [io  0x9000-0xffff window]
> pci_bus 0000:80: root bus resource [mem 0xfec40000-0xfec7ffff]
> pci_bus 0000:80: root bus resource [mem 0xa0000000-0xefffffff]
> pci_bus 0000:80: root bus resource [mem 0x10400000000-0x104fffffffe]
> pci_bus 0000:80: root bus resource [mem 0x10500000000-0x105fffffffe]
> pci_bus 0000:80: root bus resource [mem 0x10600000000-0x106fffffffe]
> pci_bus 0000:80: root bus resource [mem 0x10700000000-0x107fffffffe]
> pci_bus 0000:80: root bus resource [bus 80-ff]
> pci 0000:80:01.0: enabling Extended Tags
> pci 0000:80:03.0: enabling Extended Tags
> pci 0000:80:05.0: enabling Extended Tags
> pci 0000:80:07.0: enabling Extended Tags
> acpiphp: Slot [0] registered
> pci 0000:80:01.0: PCI bridge to [bus 81]
> pci 0000:81:00.0: can't claim BAR 6 [mem 0xfffe0000-0xffffffff pref]: no compatible bridge window
> pci 0000:81:00.1: can't claim BAR 6 [mem 0xfffe0000-0xffffffff pref]: no compatible bridge window
> acpiphp: Slot [0-1] registered
> pci 0000:80:03.0: PCI bridge to [bus 82]
> acpiphp: Slot [0-2] registered
> pci 0000:83:00.0: enabling Extended Tags
> pci 0000:80:05.0: PCI bridge to [bus 83]
> pci 0000:83:00.0: can't claim BAR 6 [mem 0xffe00000-0xffffffff pref]: no compatible bridge window
> acpiphp: Slot [0-3] registered
> pci 0000:80:07.0: PCI bridge to [bus 84]
> pci 0000:0b:04.0: vgaarb: setting as boot VGA device
> pci 0000:0b:04.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
> pci 0000:0b:04.0: vgaarb: bridge control possible
> vgaarb: loaded
> SCSI subsystem initialized
> pps_core: LinuxPPS API ver. 1 registered
> pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
> PTP clock support registered
> Registered efivars operations
> random: crng init done
> clocksource: Switched to clocksource itc
> pnp: PnP ACPI init
> system 00:01: [io  0x0500-0x053f] has been reserved
> system 00:01: [io  0x0400-0x047f] has been reserved
> system 00:01: [io  0x0800-0x081f] has been reserved
> system 00:01: [mem 0xfed1c000-0xfed8bffe] could not be reserved
> system 00:01: [mem 0xff000000-0xffffffff] has been reserved
> system 00:01: [mem 0xfee00000-0xfeefffff] has been reserved
> system 00:01: [mem 0xfea00000-0xfea0001f] has been reserved
> system 00:01: [mem 0xfed1b000-0xfed1bfff] has been reserved
> pnp: PnP ACPI: found 4 devices
> NET: Registered protocol family 2
> tcp_listen_portaddr_hash hash table entries: 8192 (order: 1, 131072 bytes)
> TCP established hash table entries: 131072 (order: 4, 1048576 bytes)
> TCP bind hash table entries: 65536 (order: 4, 1048576 bytes)
> TCP: Hash tables configured (established 131072 bind 65536)
> UDP hash table entries: 8192 (order: 2, 262144 bytes)
> UDP-Lite hash table entries: 8192 (order: 2, 262144 bytes)
> NET: Registered protocol family 1
> GSI 16 (level, low) -> CPU 0 (0x0000) vector 49
> GSI 16 (level, low) -> CPU 0 (0x0000) vector 49 unregistered
> pci 0000:00:1a.0: quirk_usb_early_handoff+0x0/0x360 took 10857 usecs
> GSI 17 (level, low) -> CPU 1 (0x0100) vector 49
> GSI 17 (level, low) -> CPU 1 (0x0100) vector 49 unregistered
> pci 0000:00:1a.1: quirk_usb_early_handoff+0x0/0x360 took 10689 usecs
> GSI 18 (level, low) -> CPU 2 (0x0200) vector 49
> GSI 18 (level, low) -> CPU 2 (0x0200) vector 49 unregistered
> pci 0000:00:1a.2: quirk_usb_early_handoff+0x0/0x360 took 10682 usecs
> GSI 18 (level, low) -> CPU 3 (0x0300) vector 49
> GSI 18 (level, low) -> CPU 3 (0x0300) vector 49 unregistered
> pci 0000:00:1a.7: quirk_usb_early_handoff+0x0/0x360 took 10698 usecs
> GSI 16 (level, low) -> CPU 4 (0x0400) vector 49
> GSI 16 (level, low) -> CPU 4 (0x0400) vector 49 unregistered
> pci 0000:00:1d.0: quirk_usb_early_handoff+0x0/0x360 took 10697 usecs
> GSI 17 (level, low) -> CPU 5 (0x0500) vector 49
> GSI 17 (level, low) -> CPU 5 (0x0500) vector 49 unregistered
> pci 0000:00:1d.1: quirk_usb_early_handoff+0x0/0x360 took 10686 usecs
> GSI 18 (level, low) -> CPU 6 (0x0600) vector 49
> GSI 18 (level, low) -> CPU 6 (0x0600) vector 49 unregistered
> pci 0000:00:1d.2: quirk_usb_early_handoff+0x0/0x360 took 10696 usecs
> GSI 16 (level, low) -> CPU 7 (0x0700) vector 49
> GSI 16 (level, low) -> CPU 7 (0x0700) vector 49 unregistered
> pci 0000:00:1d.7: quirk_usb_early_handoff+0x0/0x360 took 10690 usecs
> pci 0000:0b:04.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
> Trying to unpack rootfs image as initramfs...
> Freeing initrd memory: 4864kB freed
> PAL Information Facility v0.5
> workingset: timestamp_bits=52 max_order=18 bucket_order=0
> SGI XFS with security attributes, no debug enabled
> Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
> io scheduler noop registered
> io scheduler deadline registered
> io scheduler cfq registered (default)
> io scheduler mq-deadline registered
> io scheduler kyber registered
> Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> 00:02: ttyS0 at I/O 0x3f8 (irq = 44, base_baud = 115200) is a 16550A
> console [ttyS0] enabled
> console [ttyS0] enabled
> bootconsole [uart0] disabled
> bootconsole [uart0] disabled
> 00:03: ttyS1 at I/O 0x2f8 (irq = 45, base_baud = 115200) is a 16550A
> EFI Time Services Driver v0.4
> brd: module loaded
> Uniform Multi-Platform E-IDE driver
> ide-gd driver 1.18
> ide-cd driver 5.00
> GSI 17 (level, low) -> CPU 8 (0x1000) vector 49
> ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
> scsi host0: ata_piix
> scsi host1: ata_piix
> ata1: SATA max UDMA/133 cmd 0x4138 ctl 0x414c bmdma 0x4110 irq 50
> ata2: SATA max UDMA/133 cmd 0x4130 ctl 0x4148 bmdma 0x4118 irq 50
> ata_piix 0000:00:1f.5: MAP [ P0 -- P1 -- ]
> scsi host2: ata_piix
> scsi host3: ata_piix
> ata3: SATA max UDMA/133 cmd 0x4128 ctl 0x4144 bmdma 0x40f0 irq 50
> ata4: SATA max UDMA/133 cmd 0x4120 ctl 0x4140 bmdma 0x40f8 irq 50
> e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
> e1000: Copyright (c) 1999-2006 Intel Corporation.
> igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
> igb: Copyright (c) 2007-2014 Intel Corporation.
> GSI 28 (level, low) -> CPU 9 (0x1100) vector 50
> igb 0000:01:00.0: added PHC on eth0
> igb 0000:01:00.0: Intel(R) Gigabit Ethernet Network Connection
> igb 0000:01:00.0: eth0: (PCIe:2.5Gb/s:Width x4) 00:30:48:fe:19:3a
> igb 0000:01:00.0: eth0: PBA No: Unknown
> igb 0000:01:00.0: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s)
> GSI 40 (level, low) -> CPU 10 (0x1200) vector 60
> ata3: SATA link down (SStatus 0 SControl 300)
> ata4: SATA link down (SStatus 0 SControl 300)
> ata2.00: SATA link down (SStatus 0 SControl 300)
> ata2.01: SATA link down (SStatus 0 SControl 300)
> igb 0000:01:00.1: added PHC on eth1
> igb 0000:01:00.1: Intel(R) Gigabit Ethernet Network Connection
> ata1.00: SATA link down (SStatus 0 SControl 300)
> igb 0000:01:00.1: eth1: (PCIe:2.5Gb/s:Width x4) 00:30:48:fe:19:3b
> ata1.01: SATA link down (SStatus 0 SControl 300)
> igb 0000:01:00.1: eth1: PBA No: Unknown
> igb 0000:01:00.1: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s)
> GSI 52 (level, low) -> CPU 11 (0x1300) vector 70
> igb 0000:81:00.0: added PHC on eth2
> igb 0000:81:00.0: Intel(R) Gigabit Ethernet Network Connection
> igb 0000:81:00.0: eth2: (PCIe:2.5Gb/s:Width x4) 00:30:48:fe:19:b0
> igb 0000:81:00.0: eth2: PBA No: Unknown
> igb 0000:81:00.0: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s)
> GSI 64 (level, low) -> CPU 12 (0x1400) vector 80
> igb 0000:81:00.1: added PHC on eth3
> igb 0000:81:00.1: Intel(R) Gigabit Ethernet Network Connection
> igb 0000:81:00.1: eth3: (PCIe:2.5Gb/s:Width x4) 00:30:48:fe:19:b1
> igb 0000:81:00.1: eth3: PBA No: Unknown
> igb 0000:81:00.1: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s)
> Fusion MPT base driver 3.04.20
> Copyright (c) 1999-2008 LSI Corporation
> Fusion MPT SPI Host driver 3.04.20
> Fusion MPT SAS Host driver 3.04.20
> GSI 26 (level, low) -> CPU 13 (0x1500) vector 90
> mptbase: ioc0: Initiating bringup
> ioc0: LSISAS1068E B3: Capabilities={Initiator}
> scsi host4: ioc0: LSISAS1068E B3, FwRev=011a0000h, Ports=1, MaxQ=478, IRQ=92
> mptsas: ioc0: attaching ssp device: fw_channel 0, fw_id 6, phy 6, sas_addr 0x5000c5000ecb8f49
> scsi 4:0:0:0: Direct-Access     SEAGATE  ST9146802SS      0003 PQ: 0 ANSI: 5
> GSI 50 (level, low) -> CPU 14 (0x1600) vector 91
> sd 4:0:0:0: [sda] 286749488 512-byte logical blocks: (147 GB/137 GiB)
> mptbase: ioc1: Initiating bringup
> sd 4:0:0:0: [sda] Write Protect is off
> sd 4:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA
>  sda: sda1 sda2 sda3
> sd 4:0:0:0: [sda] Attached SCSI disk
> ioc1: LSISAS1068E B3: Capabilities={Initiator}
> scsi host5: ioc1: LSISAS1068E B3, FwRev=011a0000h, Ports=1, MaxQ=478, IRQ=93
> mptsas: ioc1: attaching ssp device: fw_channel 0, fw_id 6, phy 6, sas_addr 0x5000c5000ecada69
> scsi 5:0:0:0: Direct-Access     SEAGATE  ST9146802SS      0003 PQ: 0 ANSI: 5
> EFI Variables Facility v0.08 2004-May-17
> sd 5:0:0:0: [sdb] 286749488 512-byte logical blocks: (147 GB/137 GiB)
> sd 5:0:0:0: [sdb] Write Protect is off
> sd 5:0:0:0: [sdb] Write cache: enabled, read cache: enabled, supports DPO and FUA
>  sdb: sdb1 sdb2
> sd 5:0:0:0: [sdb] Attached SCSI disk
> NET: Registered protocol family 17
> console [netcon0] enabled
> netconsole: network logging started
> Freeing unused kernel memory: 1216K
> This architecture does not have kernel memory protection.
> doing fast boot
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
>
> ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
>  ]---

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-09-18  9:25 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-09  5:05 [PATCH 0/5] System call table generation support Firoz Khan
2018-08-09  5:05 ` [PATCH 1/5] ia64: Replace NR_syscalls macro from asm/unistd.h Firoz Khan
2018-08-09  5:05 ` [PATCH 2/5] ia64: Added an offset for system call number Firoz Khan
2018-08-09  5:05 ` [PATCH 3/5] ia64: Replaced the system call table entry from entry.S Firoz Khan
2018-08-09  5:05 ` [PATCH 4/5] ia64: Added system call table generation support Firoz Khan
2018-08-09  5:05 ` [PATCH 5/5] ia64: uapi header and system call table file generation Firoz Khan
2018-08-10 16:20 ` [PATCH 0/5] System call table generation support Luck, Tony
2018-09-18  9:25   ` Firoz Khan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).