Merge remote-tracking branch 'remotes/riku/tags/pull-linux-user-20160225' into staging

Second pull req with getrandom fix

# gpg: Signature made Thu 25 Feb 2016 10:57:42 GMT using RSA key ID DE3C9BC0
# gpg: Good signature from "Riku Voipio <riku.voipio@iki.fi>"
# gpg:                 aka "Riku Voipio <riku.voipio@linaro.org>"

* remotes/riku/tags/pull-linux-user-20160225:
  linux-user: add getrandom() syscall
  linux-user: correct timerfd_create syscall numbers
  linux-user: remove unavailable syscalls from aarch64
  linux-user: sync syscall numbers with kernel
  linux-user: Don't assert if guest tries shmdt(0)
  linux-user: set ppc64/ppc64le default CPU to POWER8
  build: [linux-user] Rename "syscall.h" to "target_syscall.h" in target directories
  linux-user: fix realloc size of target_fd_trans.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell
2016-02-25 11:46:53 +00:00
36 changed files with 296 additions and 93 deletions
+1 -60
View File
@@ -262,7 +262,6 @@
#define TARGET_NR_process_vm_writev 271
#define TARGET_NR_kcmp 272
#define TARGET_NR_finit_module 273
#define TARGET_NR_sched_setattr 274
#define TARGET_NR_sched_getattr 275
#define TARGET_NR_renameat2 276
@@ -274,63 +273,5 @@
#define TARGET_NR_userfaultfd 282
#define TARGET_NR_membarrier 283
#define TARGET_NR_mlock2 284
#define TARGET_NR_copy_file_range 285
#define TARGET_NR_open 1024
#define TARGET_NR_link 1025
#define TARGET_NR_unlink 1026
#define TARGET_NR_mknod 1027
#define TARGET_NR_chmod 1028
#define TARGET_NR_chown 1029
#define TARGET_NR_mkdir 1030
#define TARGET_NR_rmdir 1031
#define TARGET_NR_lchown 1032
#define TARGET_NR_access 1033
#define TARGET_NR_rename 1034
#define TARGET_NR_readlink 1035
#define TARGET_NR_symlink 1036
#define TARGET_NR_utimes 1037
#define TARGET_NR_stat 1038
#define TARGET_NR_lstat 1039
#define TARGET_NR_pipe 1040
#define TARGET_NR_dup2 1041
#define TARGET_NR_epoll_create 1042
#define TARGET_NR_inotify_init 1043
#define TARGET_NR_eventfd 1044
#define TARGET_NR_signalfd 1045
#define TARGET_NR_sendfile64 1046
#define TARGET_NR_ftruncate64 1047
#define TARGET_NR_truncate64 1048
#define TARGET_NR_stat64 1049
#define TARGET_NR_lstat64 1050
#define TARGET_NR_fstat64 1051
#define TARGET_NR_fcntl64 1052
/* #define TARGET_NR_fadvise64 1053 */
#define TARGET_NR_newfstatat 1054
#define TARGET_NR_fstatfs64 1055
#define TARGET_NR_statfs64 1056
#define TARGET_NR_lseek64 1057
#define TARGET_NR_mmap64 1058
#define TARGET_NR_alarm 1059
#define TARGET_NR_getpgrp 1060
#define TARGET_NR_pause 1061
#define TARGET_NR_time 1062
#define TARGET_NR_utime 1063
#define TARGET_NR_creat 1064
#define TARGET_NR_getdents 1065
#define TARGET_NR_futimesat 1066
#define TARGET_NR_select 1067
#define TARGET_NR_poll 1068
#define TARGET_NR_epoll_wait 1069
#define TARGET_NR_ustat 1070
#define TARGET_NR_vfork 1071
#define TARGET_NR_oldwait4 1072
#define TARGET_NR_recv 1073
#define TARGET_NR_send 1074
#define TARGET_NR_bdflush 1075
#define TARGET_NR_umount 1076
#define TARGET_NR_uselib 1077
#define TARGET_NR__sysctl 1078
#define TARGET_NR_fork 1079
#define TARGET_NR_syscalls (__NR_fork+1)
#define TARGET_NR_sigreturn 1999
@@ -1,3 +1,6 @@
#ifndef TARGET_SYSCALL_H
#define TARGET_SYSCALL_H
struct target_pt_regs {
uint64_t regs[31];
uint64_t sp;
@@ -11,3 +14,5 @@ struct target_pt_regs {
#define TARGET_MINSIGSTKSZ 2048
#define TARGET_MLOCKALL_MCL_CURRENT 1
#define TARGET_MLOCKALL_MCL_FUTURE 2
#endif /* TARGET_SYSCALL_H */
+6
View File
@@ -444,3 +444,9 @@
#define TARGET_NR_process_vm_writev 505
#define TARGET_NR_kcmp 506
#define TARGET_NR_finit_module 507
#define TARGET_NR_sched_setattr 508
#define TARGET_NR_sched_getattr 509
#define TARGET_NR_renameat2 510
#define TARGET_NR_getrandom 511
#define TARGET_NR_memfd_create 512
#define TARGET_NR_execveat 513
@@ -1,3 +1,6 @@
#ifndef TARGET_SYSCALL_H
#define TARGET_SYSCALL_H
/* default linux values for the selectors */
#define __USER_DS (1)
@@ -255,3 +258,5 @@ struct target_pt_regs {
#define TARGET_MINSIGSTKSZ 4096
#define TARGET_MLOCKALL_MCL_CURRENT 0x2000
#define TARGET_MLOCKALL_MCL_FUTURE 0x4000
#endif /* TARGET_SYSCALL_H */
@@ -1,3 +1,5 @@
#ifndef TARGET_SYSCALL_H
#define TARGET_SYSCALL_H
/* this struct defines the way the registers are stored on the
stack during a system call. */
@@ -48,3 +50,5 @@ struct target_pt_regs {
#define TARGET_MINSIGSTKSZ 2048
#define TARGET_MLOCKALL_MCL_CURRENT 1
#define TARGET_MLOCKALL_MCL_FUTURE 2
#endif /* TARGET_SYSCALL_H */
+24
View File
@@ -336,3 +336,27 @@
#define TARGET_NR_preadv 333
#define TARGET_NR_pwritev 334
#define TARGET_NR_setns 335
#define TARGET_NR_name_to_handle_at 336
#define TARGET_NR_open_by_handle_at 337
#define TARGET_NR_rt_tgsigqueueinfo 338
#define TARGET_NR_perf_event_open 339
#define TARGET_NR_recvmmsg 340
#define TARGET_NR_accept4 341
#define TARGET_NR_fanotify_init 342
#define TARGET_NR_fanotify_mark 343
#define TARGET_NR_prlimit64 344
#define TARGET_NR_clock_adjtime 345
#define TARGET_NR_syncfs 346
#define TARGET_NR_sendmmsg 347
#define TARGET_NR_process_vm_readv 348
#define TARGET_NR_process_vm_writev 349
#define TARGET_NR_kcmp 350
#define TARGET_NR_finit_module 351
#define TARGET_NR_sched_setattr 352
#define TARGET_NR_sched_getattr 353
#define TARGET_NR_renameat2 354
#define TARGET_NR_seccomp 355
#define TARGET_NR_getrandom 356
#define TARGET_NR_memfd_create 357
#define TARGET_NR_bpf 358
#define TARGET_NR_execveat 359
+28 -1
View File
@@ -324,7 +324,7 @@
#define TARGET_NR_epoll_pwait 319
#define TARGET_NR_utimensat 320
#define TARGET_NR_signalfd 321
#define TARGET_NR_timerfd 322
#define TARGET_NR_timerfd_create 322
#define TARGET_NR_eventfd 323
#define TARGET_NR_fallocate 324
#define TARGET_NR_timerfd_settime 325
@@ -353,3 +353,30 @@
#define TARGET_NR_process_vm_writev 348
#define TARGET_NR_kcmp 349
#define TARGET_NR_finit_module 350
#define TARGET_NR_sched_setattr 351
#define TARGET_NR_sched_getattr 352
#define TARGET_NR_renameat2 353
#define TARGET_NR_seccomp 354
#define TARGET_NR_getrandom 355
#define TARGET_NR_memfd_create 356
#define TARGET_NR_bpf 357
#define TARGET_NR_execveat 358
#define TARGET_NR_socket 359
#define TARGET_NR_socketpair 360
#define TARGET_NR_bind 361
#define TARGET_NR_connect 362
#define TARGET_NR_listen 363
#define TARGET_NR_accept4 364
#define TARGET_NR_getsockopt 365
#define TARGET_NR_setsockopt 366
#define TARGET_NR_getsockname 367
#define TARGET_NR_getpeername 368
#define TARGET_NR_sendto 369
#define TARGET_NR_sendmsg 370
#define TARGET_NR_recvfrom 371
#define TARGET_NR_recvmsg 372
#define TARGET_NR_shutdown 373
#define TARGET_NR_userfaultfd 374
#define TARGET_NR_membarrier 375
#define TARGET_NR_mlock2 376
#define TARGET_NR_copy_file_range 377
@@ -1,3 +1,6 @@
#ifndef TARGET_SYSCALL_H
#define TARGET_SYSCALL_H
/* default linux values for the selectors */
#define __USER_CS (0x23)
#define __USER_DS (0x2B)
@@ -150,3 +153,5 @@ struct target_vm86plus_struct {
#define TARGET_MINSIGSTKSZ 2048
#define TARGET_MLOCKALL_MCL_CURRENT 1
#define TARGET_MLOCKALL_MCL_FUTURE 2
#endif /* TARGET_SYSCALL_H */
+1 -1
View File
@@ -317,7 +317,7 @@
#define TARGET_NR_epoll_pwait 315
#define TARGET_NR_utimensat 316
#define TARGET_NR_signalfd 317
#define TARGET_NR_timerfd 318
#define TARGET_NR_timerfd_create 318
#define TARGET_NR_eventfd 319
#define TARGET_NR_fallocate 320
#define TARGET_NR_timerfd_settime 321
@@ -1,3 +1,5 @@
#ifndef TARGET_SYSCALL_H
#define TARGET_SYSCALL_H
/* this struct defines the way the registers are stored on the
stack during a system call. */
@@ -23,3 +25,5 @@ struct target_pt_regs {
#define TARGET_MLOCKALL_MCL_FUTURE 2
void do_m68k_simcall(CPUM68KState *, int);
#endif /* TARGET_SYSCALL_H */
+1 -1
View File
@@ -4160,7 +4160,7 @@ int main(int argc, char **argv, char **envp)
cpu_model = "or1200";
#elif defined(TARGET_PPC)
# ifdef TARGET_PPC64
cpu_model = "POWER7";
cpu_model = "POWER8";
# else
cpu_model = "750";
# endif
+8
View File
@@ -382,3 +382,11 @@
#define TARGET_NR_process_vm_writev 378
#define TARGET_NR_kcmp 379
#define TARGET_NR_finit_module 380
#define TARGET_NR_sched_setattr 381
#define TARGET_NR_sched_getattr 382
#define TARGET_NR_renameat2 383
#define TARGET_NR_seccomp 384
#define TARGET_NR_getrandom 385
#define TARGET_NR_memfd_create 386
#define TARGET_NR_bpf 387
#define TARGET_NR_execveat 388
@@ -1,3 +1,5 @@
#ifndef TARGET_SYSCALL_H
#define TARGET_SYSCALL_H
/* this struct defines the way the registers are stored on the
stack during a system call. */
@@ -231,3 +233,5 @@ struct target_pt_regs {
#define TARGET_MINSIGSTKSZ 2048
#define TARGET_MLOCKALL_MCL_CURRENT 1
#define TARGET_MLOCKALL_MCL_FUTURE 2
#endif /* TARGET_SYSCALL_H */
+23
View File
@@ -316,6 +316,18 @@
#define TARGET_NR_process_vm_writev (TARGET_NR_Linux + 310)
#define TARGET_NR_kcmp (TARGET_NR_Linux + 311)
#define TARGET_NR_finit_module (TARGET_NR_Linux + 312)
#define TARGET_NR_sched_setattr (TARGET_NR_Linux + 313)
#define TARGET_NR_sched_getattr (TARGET_NR_Linux + 314)
#define TARGET_NR_renameat2 (TARGET_NR_Linux + 315)
#define TARGET_NR_seccomp (TARGET_NR_Linux + 316)
#define TARGET_NR_getrandom (TARGET_NR_Linux + 317)
#define TARGET_NR_memfd_create (TARGET_NR_Linux + 318)
#define TARGET_NR_bpf (TARGET_NR_Linux + 319)
#define TARGET_NR_execveat (TARGET_NR_Linux + 320)
#define TARGET_NR_userfaultfd (TARGET_NR_Linux + 321)
#define TARGET_NR_membarrier (TARGET_NR_Linux + 322)
#define TARGET_NR_mlock2 (TARGET_NR_Linux + 323)
#else
/*
* Linux 64-bit syscalls are in the range from 5000 to 5999.
@@ -630,4 +642,15 @@
#define TARGET_NR_kcmp (TARGET_NR_Linux + 306)
#define TARGET_NR_finit_module (TARGET_NR_Linux + 307)
#define TARGET_NR_getdents64 (TARGET_NR_Linux + 308)
#define TARGET_NR_sched_setattr (TARGET_NR_Linux + 309)
#define TARGET_NR_sched_getattr (TARGET_NR_Linux + 310)
#define TARGET_NR_renameat2 (TARGET_NR_Linux + 311)
#define TARGET_NR_seccomp (TARGET_NR_Linux + 312)
#define TARGET_NR_getrandom (TARGET_NR_Linux + 313)
#define TARGET_NR_memfd_create (TARGET_NR_Linux + 314)
#define TARGET_NR_bpf (TARGET_NR_Linux + 315)
#define TARGET_NR_execveat (TARGET_NR_Linux + 316)
#define TARGET_NR_userfaultfd (TARGET_NR_Linux + 317)
#define TARGET_NR_membarrier (TARGET_NR_Linux + 318)
#define TARGET_NR_mlock2 (TARGET_NR_Linux + 319)
#endif
@@ -1,3 +1,5 @@
#ifndef TARGET_SYSCALL_H
#define TARGET_SYSCALL_H
/* this struct defines the way the registers are stored on the
stack during a system call. */
@@ -228,3 +230,5 @@ struct target_pt_regs {
#define TARGET_MINSIGSTKSZ 2048
#define TARGET_MLOCKALL_MCL_CURRENT 1
#define TARGET_MLOCKALL_MCL_FUTURE 2
#endif /* TARGET_SYSCALL_H */
+12 -16
View File
@@ -382,9 +382,18 @@
#define TARGET_NR_process_vm_writev 271
#define TARGET_NR_kcmp 272
#define TARGET_NR_finit_module 273
#undef TARGET_NR_syscalls
#define TARGET_NR_syscalls 274
#define TARGET_NR_sched_setattr 274
#define TARGET_NR_sched_getattr 275
#define TARGET_NR_renameat2 276
#define TARGET_NR_seccomp 277
#define TARGET_NR_getrandom 278
#define TARGET_NR_memfd_create 279
#define TARGET_NR_bpf 280
#define TARGET_NR_execveat 281
#define TARGET_NR_userfaultfd 282
#define TARGET_NR_membarrier 283
#define TARGET_NR_mlock2 284
#define TARGET_NR_copy_file_range 285
/*
* All syscalls below here should go away really,
@@ -411,9 +420,6 @@
#define TARGET_NR_3264_stat 1038
#define TARGET_NR_3264_lstat 1039
#undef TARGET_NR_syscalls
#define TARGET_NR_syscalls (TARGET_NR_3264_lstat+1)
#define TARGET_NR_pipe 1040
#define TARGET_NR_dup2 1041
#define TARGET_NR_epoll_create 1042
@@ -421,10 +427,6 @@
#define TARGET_NR_eventfd 1044
#define TARGET_NR_signalfd 1045
#undef TARGET_NR_syscalls
#define TARGET_NR_syscalls (TARGET_NR_signalfd+1)
#define TARGET_NR_sendfile 1046
#define TARGET_NR_ftruncate 1047
#define TARGET_NR_truncate 1048
@@ -441,9 +443,6 @@
#define TARGET_NR_lseek 1057
#define TARGET_NR_mmap 1058
#undef TARGET_NR_syscalls
#define TARGET_NR_syscalls (TARGET_NR_mmap+1)
#define TARGET_NR_alarm 1059
#define __ARCH_WANT_SYS_ALARM
#define TARGET_NR_getpgrp 1060
@@ -477,9 +476,6 @@
#define TARGET_NR_fork 1079
#undef TARGET_NR_syscalls
#define TARGET_NR_syscalls (TARGET_NR_fork+1)
/*
* 32 bit systems traditionally used different
@@ -1,3 +1,6 @@
#ifndef TARGET_SYSCALL_H
#define TARGET_SYSCALL_H
struct target_pt_regs {
union {
struct {
@@ -27,3 +30,5 @@ struct target_pt_regs {
#define TARGET_MINSIGSTKSZ 2048
#define TARGET_MLOCKALL_MCL_CURRENT 1
#define TARGET_MLOCKALL_MCL_FUTURE 2
#endif /* TARGET_SYSCALL_H */
+25 -1
View File
@@ -319,7 +319,7 @@
#define TARGET_NR_epoll_pwait 303
#define TARGET_NR_utimensat 304
#define TARGET_NR_signalfd 305
#define TARGET_NR_timerfd 306
#define TARGET_NR_timerfd_create 306
#define TARGET_NR_eventfd 307
#define TARGET_NR_sync_file_range2 308
#define TARGET_NR_fallocate 309
@@ -368,3 +368,27 @@
#define TARGET_NR_process_vm_writev 352
#define TARGET_NR_finit_module 353
#define TARGET_NR_kcmp 354
#define TARGET_NR_sched_setattr 355
#define TARGET_NR_sched_getattr 356
#define TARGET_NR_renameat2 357
#define TARGET_NR_seccomp 358
#define TARGET_NR_getrandom 359
#define TARGET_NR_memfd_create 360
#define TARGET_NR_bpf 361
#define TARGET_NR_execveat 362
#define TARGET_NR_switch_endian 363
#define TARGET_NR_userfaultfd 364
#define TARGET_NR_membarrier 365
#define TARGET_NR_semop 366
#define TARGET_NR_semget 367
#define TARGET_NR_semctl 368
#define TARGET_NR_semtimedop 369
#define TARGET_NR_msgsnd 370
#define TARGET_NR_msgrcv 371
#define TARGET_NR_msgget 372
#define TARGET_NR_msgctl 373
#define TARGET_NR_shmat 374
#define TARGET_NR_shmdt 375
#define TARGET_NR_shmget 376
#define TARGET_NR_shmctl 377
#define TARGET_NR_mlock2 378

Some files were not shown because too many files have changed in this diff Show More