Second pull req with getrandom fix
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIVAwUAVs7eJrRIkN7ePJvAAQjjyhAAs7UiSZFxFf65DDUaGJz4E5bMiP65QrPb TSYYLeNkiyI6eBLFFc1ypiMJOAMF5ZMs81hiNAMgIZVJvyr0gMYU5ImngHhOX4lv +ZM6ODuYFVRv1cXF5gAK6s6EBEMBGvP5yKBXVEh0OlsPOtY0tUcPRsvW1I2fO9Hq LOZ0TmcYAgTJ3cY4+kM5yWtpfOBZV5m2noOoWCmXBWZhmbTxar3YGraTpgfDABDe hoiSpP1r09uQwoPURgK71xlojX8ZU4iqyUqVo2s1jKnV3zyRz5JzOZoJjWBrjA4d xqgQ/A8nW7k5A6CHEZ9R8O75iwZn4oZ7rp6aTnu+CwwY90xWc/1TFfcZCnvPtdMf M3lR2C3hYxGCRTTYBGDsfLuvSjHZvm+xrujxijejLCTAczeyEFPFC0FJ8hLe7fra AgA8KbD3r+QD9VtFRnjGsnJn/JDppu1CZBbWOALey4W7jEVq5h6pSoqPboHwhKEH FccGo/sR3fY2TyvheRTQcGJuFw/NNXdrTQNmQgoi+BWaz1OZ11xsYSg5eYcnbHZ8 vURWhI0tXdYWqSmL7EclX2/eWz0j1Lrnd1VsiRN3w2MxBobqswIX2IyPMmsgl0Kd hy00IgcbpuYxAnC3na6IacnQKuzVwQC3tJudJ6B4V0/kHILX0U0yDSR9gHkrkhRL Vzi8BuX1X/c= =UhaS -----END PGP SIGNATURE----- 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:
commit
8283f6f821
@ -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 */
|
@ -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 */
|
@ -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
|
||||
|
@ -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 */
|
@ -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 */
|
@ -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
|
||||
|
@ -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 */
|
@ -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 */
|
@ -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 */
|
@ -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
|
||||
|
@ -17,6 +17,9 @@
|
||||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef TARGET_SYSCALL_H
|
||||
#define TARGET_SYSCALL_H
|
||||
|
||||
/* XXX: ABSOLUTELY BUGGY:
|
||||
* for now, this is quite just a cut-and-paste from i386 target...
|
||||
*/
|
||||
@ -73,3 +76,5 @@ struct target_revectored_struct {
|
||||
#define TARGET_MINSIGSTKSZ 2048
|
||||
#define TARGET_MLOCKALL_MCL_CURRENT 0x2000
|
||||
#define TARGET_MLOCKALL_MCL_FUTURE 0x4000
|
||||
|
||||
#endif /* TARGET_SYSCALL_H */
|
@ -13,7 +13,7 @@
|
||||
|
||||
#include "exec/user/thunk.h"
|
||||
#include "syscall_defs.h"
|
||||
#include "syscall.h"
|
||||
#include "target_syscall.h"
|
||||
#include "exec/gdbstub.h"
|
||||
#include "qemu/queue.h"
|
||||
|
||||
|
@ -271,6 +271,36 @@
|
||||
#define TARGET_NR_s390_runtime_instr 342
|
||||
#define TARGET_NR_kcmp 343
|
||||
#define TARGET_NR_finit_module 344
|
||||
#define TARGET_NR_sched_setattr 345
|
||||
#define TARGET_NR_sched_getattr 346
|
||||
#define TARGET_NR_renameat2 347
|
||||
#define TARGET_NR_seccomp 348
|
||||
#define TARGET_NR_getrandom 349
|
||||
#define TARGET_NR_memfd_create 350
|
||||
#define TARGET_NR_bpf 351
|
||||
#define TARGET_NR_s390_pci_mmio_write 352
|
||||
#define TARGET_NR_s390_pci_mmio_read 353
|
||||
#define TARGET_NR_execveat 354
|
||||
#define TARGET_NR_userfaultfd 355
|
||||
#define TARGET_NR_membarrier 356
|
||||
#define TARGET_NR_recvmmsg 357
|
||||
#define TARGET_NR_sendmmsg 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_mlock2 374
|
||||
|
||||
/*
|
||||
* There are some system calls that are not present on 64 bit, some
|
||||
|
@ -1,3 +1,6 @@
|
||||
#ifndef TARGET_SYSCALL_H
|
||||
#define TARGET_SYSCALL_H
|
||||
|
||||
/* this typedef defines how a Program Status Word looks like */
|
||||
typedef struct {
|
||||
abi_ulong mask;
|
||||
@ -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 */
|
@ -323,7 +323,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
|
||||
|
@ -1,3 +1,6 @@
|
||||
#ifndef TARGET_SYSCALL_H
|
||||
#define TARGET_SYSCALL_H
|
||||
|
||||
struct target_pt_regs {
|
||||
unsigned long regs[16];
|
||||
unsigned long pc;
|
||||
@ -15,3 +18,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 */
|
@ -278,7 +278,7 @@
|
||||
#define TARGET_NR_epoll_pwait 309
|
||||
#define TARGET_NR_utimensat 310
|
||||
#define TARGET_NR_signalfd 311
|
||||
#define TARGET_NR_timerfd 312
|
||||
#define TARGET_NR_timerfd_create 312
|
||||
#define TARGET_NR_eventfd 313
|
||||
#define TARGET_NR_fallocate 314
|
||||
#define TARGET_NR_timerfd_settime 315
|
||||
@ -309,3 +309,17 @@
|
||||
#define TARGET_NR_kern_features 340
|
||||
#define TARGET_NR_kcmp 341
|
||||
#define TARGET_NR_finit_module 342
|
||||
#define TARGET_NR_sched_setattr 343
|
||||
#define TARGET_NR_sched_getattr 344
|
||||
#define TARGET_NR_renameat2 345
|
||||
#define TARGET_NR_seccomp 346
|
||||
#define TARGET_NR_getrandom 347
|
||||
#define TARGET_NR_memfd_create 348
|
||||
#define TARGET_NR_bpf 349
|
||||
#define TARGET_NR_execveat 350
|
||||
#define TARGET_NR_membarrier 351
|
||||
#define TARGET_NR_userfaultfd 352
|
||||
#define TARGET_NR_bind 353
|
||||
#define TARGET_NR_listen 354
|
||||
#define TARGET_NR_setsockopt 355
|
||||
#define TARGET_NR_mlock2 356
|
||||
|
@ -1,3 +1,6 @@
|
||||
#ifndef TARGET_SYSCALL_H
|
||||
#define TARGET_SYSCALL_H
|
||||
|
||||
struct target_pt_regs {
|
||||
abi_ulong psr;
|
||||
abi_ulong pc;
|
||||
@ -18,3 +21,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 */
|
@ -341,3 +341,17 @@
|
||||
#define TARGET_NR_kern_features 340
|
||||
#define TARGET_NR_kcmp 341
|
||||
#define TARGET_NR_finit_module 342
|
||||
#define TARGET_NR_sched_setattr 343
|
||||
#define TARGET_NR_sched_getattr 344
|
||||
#define TARGET_NR_renameat2 345
|
||||
#define TARGET_NR_seccomp 346
|
||||
#define TARGET_NR_getrandom 347
|
||||
#define TARGET_NR_memfd_create 348
|
||||
#define TARGET_NR_bpf 349
|
||||
#define TARGET_NR_execveat 350
|
||||
#define TARGET_NR_membarrier 351
|
||||
#define TARGET_NR_userfaultfd 352
|
||||
#define TARGET_NR_bind 353
|
||||
#define TARGET_NR_listen 354
|
||||
#define TARGET_NR_setsockopt 355
|
||||
#define TARGET_NR_mlock2 356
|
||||
|
@ -1,3 +1,6 @@
|
||||
#ifndef TARGET_SYSCALL_H
|
||||
#define TARGET_SYSCALL_H
|
||||
|
||||
struct target_pt_regs {
|
||||
abi_ulong u_regs[16];
|
||||
abi_ulong tstate;
|
||||
@ -19,3 +22,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 */
|
@ -249,6 +249,9 @@ _syscall2(int, ioprio_get, int, which, int, who)
|
||||
#if defined(TARGET_NR_ioprio_set) && defined(__NR_ioprio_set)
|
||||
_syscall3(int, ioprio_set, int, which, int, who, int, ioprio)
|
||||
#endif
|
||||
#if defined(TARGET_NR_getrandom) && defined(__NR_getrandom)
|
||||
_syscall3(int, getrandom, void *, buf, size_t, buflen, unsigned int, flags)
|
||||
#endif
|
||||
|
||||
static bitmask_transtbl fcntl_flags_tbl[] = {
|
||||
{ TARGET_O_ACCMODE, TARGET_O_WRONLY, O_ACCMODE, O_WRONLY, },
|
||||
@ -318,8 +321,8 @@ static void fd_trans_register(int fd, TargetFdTrans *trans)
|
||||
if (fd >= target_fd_max) {
|
||||
oldmax = target_fd_max;
|
||||
target_fd_max = ((fd >> 6) + 1) << 6; /* by slice of 64 entries */
|
||||
target_fd_trans = g_realloc(target_fd_trans,
|
||||
target_fd_max * sizeof(TargetFdTrans));
|
||||
target_fd_trans = g_renew(TargetFdTrans *,
|
||||
target_fd_trans, target_fd_max);
|
||||
memset((void *)(target_fd_trans + oldmax), 0,
|
||||
(target_fd_max - oldmax) * sizeof(TargetFdTrans *));
|
||||
}
|
||||
@ -2598,8 +2601,9 @@ static abi_long do_socketcall(int num, abi_ulong vptr)
|
||||
#define N_SHM_REGIONS 32
|
||||
|
||||
static struct shm_region {
|
||||
abi_ulong start;
|
||||
abi_ulong size;
|
||||
abi_ulong start;
|
||||
abi_ulong size;
|
||||
bool in_use;
|
||||
} shm_regions[N_SHM_REGIONS];
|
||||
|
||||
struct target_semid_ds
|
||||
@ -3291,7 +3295,8 @@ static inline abi_ulong do_shmat(int shmid, abi_ulong shmaddr, int shmflg)
|
||||
((shmflg & SHM_RDONLY)? 0 : PAGE_WRITE));
|
||||
|
||||
for (i = 0; i < N_SHM_REGIONS; i++) {
|
||||
if (shm_regions[i].start == 0) {
|
||||
if (!shm_regions[i].in_use) {
|
||||
shm_regions[i].in_use = true;
|
||||
shm_regions[i].start = raddr;
|
||||
shm_regions[i].size = shm_info.shm_segsz;
|
||||
break;
|
||||
@ -3308,8 +3313,8 @@ static inline abi_long do_shmdt(abi_ulong shmaddr)
|
||||
int i;
|
||||
|
||||
for (i = 0; i < N_SHM_REGIONS; ++i) {
|
||||
if (shm_regions[i].start == shmaddr) {
|
||||
shm_regions[i].start = 0;
|
||||
if (shm_regions[i].in_use && shm_regions[i].start == shmaddr) {
|
||||
shm_regions[i].in_use = false;
|
||||
page_set_flags(shmaddr, shmaddr + shm_regions[i].size, 0);
|
||||
break;
|
||||
}
|
||||
@ -5229,7 +5234,6 @@ static inline int target_to_host_mlockall_arg(int arg)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(TARGET_NR_stat64) || defined(TARGET_NR_newfstatat)
|
||||
static inline abi_long host_to_target_stat64(void *cpu_env,
|
||||
abi_ulong target_addr,
|
||||
struct stat *host_st)
|
||||
@ -5292,7 +5296,6 @@ static inline abi_long host_to_target_stat64(void *cpu_env,
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* ??? Using host futex calls even when target atomic operations
|
||||
are not really atomic probably breaks things. However implementing
|
||||
@ -7541,6 +7544,16 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
ret = get_errno(shutdown(arg1, arg2));
|
||||
break;
|
||||
#endif
|
||||
#if defined(TARGET_NR_getrandom) && defined(__NR_getrandom)
|
||||
case TARGET_NR_getrandom:
|
||||
p = lock_user(VERIFY_WRITE, arg1, arg2, 0);
|
||||
if (!p) {
|
||||
goto efault;
|
||||
}
|
||||
ret = get_errno(getrandom(p, arg2, arg3));
|
||||
unlock_user(p, arg1, ret);
|
||||
break;
|
||||
#endif
|
||||
#ifdef TARGET_NR_socket
|
||||
case TARGET_NR_socket:
|
||||
ret = do_socket(arg1, arg2, arg3);
|
||||
|
@ -274,6 +274,10 @@
|
||||
#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
|
||||
|
||||
#define TARGET_NR_open 1024
|
||||
#define TARGET_NR_link 1025
|
||||
|
@ -281,7 +281,7 @@
|
||||
#define TARGET_NR_utimensat 280
|
||||
#define TARGET_NR_epoll_pwait 281
|
||||
#define TARGET_NR_signalfd 282
|
||||
#define TARGET_NR_timerfd 283
|
||||
#define TARGET_NR_timerfd_create 283
|
||||
#define TARGET_NR_eventfd 284
|
||||
#define TARGET_NR_fallocate 285
|
||||
#define TARGET_NR_timerfd_settime 286
|
||||
@ -312,3 +312,16 @@
|
||||
#define TARGET_NR_process_vm_writev 311
|
||||
#define TARGET_NR_kcmp 312
|
||||
#define TARGET_NR_finit_module 313
|
||||
#define TARGET_NR_sched_setattr 314
|
||||
#define TARGET_NR_sched_getattr 315
|
||||
#define TARGET_NR_renameat2 316
|
||||
#define TARGET_NR_seccomp 317
|
||||
#define TARGET_NR_getrandom 318
|
||||
#define TARGET_NR_memfd_create 319
|
||||
#define TARGET_NR_kexec_file_load 320
|
||||
#define TARGET_NR_bpf 321
|
||||
#define TARGET_NR_execveat 322
|
||||
#define TARGET_NR_userfaultfd 323
|
||||
#define TARGET_NR_membarrier 324
|
||||
#define TARGET_NR_mlock2 325
|
||||
#define TARGET_NR_copy_file_range 326
|
||||
|
@ -1,3 +1,6 @@
|
||||
#ifndef TARGET_SYSCALL_H
|
||||
#define TARGET_SYSCALL_H
|
||||
|
||||
#define __USER_CS (0x33)
|
||||
#define __USER_DS (0x2B)
|
||||
|
||||
@ -100,3 +103,5 @@ struct target_msqid64_ds {
|
||||
#define TARGET_MINSIGSTKSZ 2048
|
||||
#define TARGET_MLOCKALL_MCL_CURRENT 1
|
||||
#define TARGET_MLOCKALL_MCL_FUTURE 2
|
||||
|
||||
#endif /* TARGET_SYSCALL_H */
|
Loading…
x
Reference in New Issue
Block a user