2018-08-09 05:06:50

by Firoz Khan

[permalink] [raw]
Subject: [PATCH 0/5] System call table generation support

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



2018-08-09 05:07:00

by Firoz Khan

[permalink] [raw]
Subject: [PATCH 1/5] ia64: Replace NR_syscalls macro from asm/unistd.h

__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 <[email protected]>
---
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


2018-08-09 05:07:05

by Firoz Khan

[permalink] [raw]
Subject: [PATCH 2/5] ia64: Added an offset for system call number

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 <[email protected]>
---
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


2018-08-09 05:07:11

by Firoz Khan

[permalink] [raw]
Subject: [PATCH 3/5] ia64: Replaced the system call table entry from entry.S

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 <[email protected]>
---
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


2018-08-09 05:07:19

by Firoz Khan

[permalink] [raw]
Subject: [PATCH 4/5] ia64: Added system call table generation support

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 <[email protected]>
---
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


2018-08-09 05:07:24

by Firoz Khan

[permalink] [raw]
Subject: [PATCH 5/5] ia64: uapi header and system call table file generation

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 <[email protected]>
---
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


2018-08-10 16:45:44

by Luck, Tony

[permalink] [raw]
Subject: Re: [PATCH 0/5] System call table generation support

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 <[email protected]>
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
]---

2018-09-18 09:27:12

by Firoz Khan

[permalink] [raw]
Subject: Re: [PATCH 0/5] System call table generation support

On 10 August 2018 at 21:50, Luck, Tony <[email protected]> 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 <[email protected]>
> 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
> ]---