aboutsummaryrefslogtreecommitdiff
path: root/include/vki
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2017-06-21 14:41:24 -0700
committerElliott Hughes <enh@google.com>2017-06-21 14:46:09 -0700
commited39800a83baf5bffbe391f3974eb2af0f415f80 (patch)
tree3f7ade6527142f4467725e8dfe222508bdfdfaf1 /include/vki
parenteecc5c6bab18ffcd90421705c4a5b803058b588b (diff)
downloadvalgrind-ed39800a83baf5bffbe391f3974eb2af0f415f80.tar.gz
Upgrade to valgrind 3.13.0 (15 June 2017).
Release 3.13.0 (15 June 2017) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.13.0 is a feature release with many improvements and the usual collection of bug fixes. This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux, PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux, MIPS64/Linux, ARM/Android, ARM64/Android, MIPS32/Android, X86/Android, X86/Solaris, AMD64/Solaris and AMD64/MacOSX 10.12. * ==================== CORE CHANGES =================== * The translation cache size has been increased to keep up with the demands of large applications. The maximum number of sectors has increased from 24 to 48. The default number of sectors has increased from 16 to 32 on all targets except Android, where the increase is from 6 to 12. * The amount of memory that Valgrind can use has been increased from 64GB to 128GB. In particular this means your application can allocate up to about 60GB when running on Memcheck. * Valgrind's default load address has been changed from 0x3800'0000 to 0x5800'0000, so as to make it possible to load larger executables. This should make it possible to load executables of size at least 1200MB. * A massive spaceleak caused by reading compressed debuginfo files has been fixed. Valgrind should now be entirely usable with gcc-7.0 "-gz" created debuginfo. * The C++ demangler has been updated. * Support for demangling Rust symbols has been added. * A new representation of stack traces, the "XTree", has been added. An XTree is a tree of stacktraces with data associated with the stacktraces. This is used by various tools (Memcheck, Helgrind, Massif) to report on the heap consumption of your program. Reporting is controlled by the new options --xtree-memory=none|allocs|full and --xtree-memory-file=<file>. A report can also be produced on demand using the gdbserver monitor command 'xtmemory [<filename>]>'. The XTree can be output in 2 formats: 'callgrind format' and 'massif format. The existing visualisers for these formats (e.g. callgrind_annotate, KCachegrind, ms_print) can be used to visualise and analyse these reports. Memcheck can also produce XTree leak reports using the Callgrind file format. For more details, see the user manual. * ================== PLATFORM CHANGES ================= * ppc64: support for ISA 3.0B and various fixes for existing 3.0 support * amd64: fixes for JIT failure problems on long AVX2 code blocks * amd64 and x86: support for CET prefixes has been added * arm32: a few missing ARMv8 instructions have been implemented * arm64, mips64, mips32: an alternative implementation of Load-Linked and Store-Conditional instructions has been added. This is to deal with processor implementations that implement the LL/SC specifications strictly and as a result cause Valgrind to hang in certain situations. The alternative implementation is automatically enabled at startup, as required. You can use the option --sim-hints=fallback-llsc to force-enable it if you want. * Support for OSX 10.12 has been improved. * On Linux, clone handling has been improved to honour CLONE_VFORK that involves a child stack. Note however that CLONE_VFORK | CLONE_VM is handled like CLONE_VFORK (by removing CLONE_VM), so applications that depend on CLONE_VM exact semantics will (still) not work. * The TileGX/Linux port has been removed because it appears to be both unused and unsupported. * ==================== TOOL CHANGES ==================== * Memcheck: - Memcheck should give fewer false positives when running optimised Clang/LLVM generated code. - Support for --xtree-memory and 'xtmemory [<filename>]>'. - New command line options --xtree-leak=no|yes and --xtree-leak-file=<file> to produce the end of execution leak report in a xtree callgrind format file. - New option 'xtleak' in the memcheck leak_check monitor command, to produce the leak report in an xtree file. * Massif: - Support for --xtree-memory and 'xtmemory [<filename>]>'. - For some workloads (typically, for big applications), Massif memory consumption and CPU consumption has decreased significantly. * Helgrind: - Support for --xtree-memory and 'xtmemory [<filename>]>'. - addition of client request VALGRIND_HG_GNAT_DEPENDENT_MASTER_JOIN, useful for Ada gnat compiled applications. * ==================== OTHER CHANGES ==================== * For Valgrind developers: in an outer/inner setup, the outer Valgrind will append the inner guest stacktrace to the inner host stacktrace. This helps to investigate the errors reported by the outer, when they are caused by the inner guest program (such as an inner regtest). See README_DEVELOPERS for more info. * To allow fast detection of callgrind files by desktop environments and file managers, the format was extended to have an optional first line that uniquely identifies the format ("# callgrind format"). Callgrind creates this line now, as does the new xtree functionality. * File name template arguments (such as --log-file, --xtree-memory-file, ...) have a new %n format letter that is replaced by a sequence number. * "--version -v" now shows the SVN revision numbers from which Valgrind was built. * ==================== FIXED BUGS ==================== The following bugs have been fixed or resolved. Note that "n-i-bz" stands for "not in bugzilla" -- that is, a bug that was reported to us but never got a bugzilla entry. We encourage you to file bugs in bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather than mailing the developers (or mailing lists) directly -- bugs that are not entered into bugzilla tend to get forgotten about or ignored. To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX where XXXXXX is the bug number as listed below. 162848 --log-file output isn't split when a program forks 340777 Illegal instruction on mips (ar71xx) 341481 MIPS64: Iop_CmpNE32 triggers false warning on MIPS64 platforms 342040 Valgrind mishandles clone with CLONE_VFORK | CLONE_VM that clones to a different stack. 344139 x86 stack-seg overrides, needed by the Wine people 344524 store conditional of guest applications always fail - observed on Octeon3(MIPS) 348616 Wine/valgrind: noted but unhandled ioctl 0x5390 [..] (DVD_READ_STRUCT) 352395 Please provide SVN revision info in --version -v 352767 Wine/valgrind: noted but unhandled ioctl 0x5307 [..] (CDROMSTOP) 356374 Assertion 'DRD_(g_threadinfo)[tid].pt_threadid != INVALID_POSIX_THREADID' failed 358213 helgrind/drd bar_bad testcase hangs or crashes with new glibc pthread barrier implementation 358697 valgrind.h: Some code remains even when defining NVALGRIND 359202 Add musl libc configure/compile 360415 amd64 instructions ADCX and ADOX are not implemented in VEX == 372828 (vex amd64->IR: 0x66 0xF 0x3A 0x62 0x4A 0x10) 360429 unhandled ioctl 0x530d with no size/direction hints (CDROMREADMODE1) 362223 assertion failed when .valgrindrc is a directory instead of a file 367543 bt/btc/btr/bts x86/x86_64 instructions are poorly-handled wrt flags 367942 Segfault vgPlain_do_sys_sigaction (m_signals.c:1138) 368507 can't malloc chunks larger than about 34GB 368529 Android arm target link error, missing atexit and pthread_atfork 368863 WARNING: unhandled arm64-linux syscall: 100 (get_robust_list) 368865 WARNING: unhandled arm64-linux syscall: 272 (kcmp) 368868 disInstr(arm64): unhandled instruction 0xD53BE000 = cntfrq_el0 (ARMv8) 368917 WARNING: unhandled arm64-linux syscall: 218 (request_key) 368918 WARNING: unhandled arm64-linux syscall: 127 (sched_rr_get_interval) 368922 WARNING: unhandled arm64-linux syscall: 161 (sethostname) 368924 WARNING: unhandled arm64-linux syscall: 84 (sync_file_range) 368925 WARNING: unhandled arm64-linux syscall: 130 (tkill) 368926 WARNING: unhandled arm64-linux syscall: 97 (unshare) 369459 valgrind on arm64 violates the ARMv8 spec (ldxr/stxr) 370028 Reduce the number of compiler warnings on MIPS platforms 370635 arm64 missing syscall getcpu 371225 Fix order of timer_{gettime,getoverrun,settime} syscalls on arm64 371227 Clean AArch64 syscall table 371412 Rename wrap_sys_shmat to sys_shmat like other wrappers 371471 Valgrind complains about non legit memory leaks on placement new (C++) 371491 handleAddrOverrides() is [incorrect] when ASO prefix is used 371503 disInstr(arm64): unhandled instruction 0xF89F0000 371869 support '%' in symbol Z-encoding 371916 execution tree xtree concept 372120 c++ demangler demangles symbols which are not c++ 372185 Support of valgrind on ARMv8 with 32 bit executable 372188 vex amd64->IR: 0x66 0xF 0x3A 0x62 0x4A 0x10 0x10 0x48 (PCMPxSTRx $0x10) 372195 Power PC, xxsel instruction is not always recognized. 372504 Hanging on exit_group 372600 process loops forever when fatal signals are arriving quickly 372794 LibVEX (arm32 front end): 'Assertion szBlg2 <= 3' failed 373046 Stacks registered by core are never deregistered 373069 memcheck/tests/leak_cpp_interior fails with GCC 5.1+ 373086 Implement additional Xen hypercalls 373192 Calling posix_spawn in glibc 2.24 completely broken 373488 Support for fanotify API on ARM64 architecture == 368864 WARNING: unhandled arm64-linux syscall: 262 (fanotify_init) 373555 Rename BBPTR to GSPTR as it denotes guest state pointer only 373938 const IRExpr arguments for matchIRExpr() 374719 some spelling fixes 374963 increase valgrind's load address to prevent mmap failure 375514 valgrind_get_tls_addr() does not work in case of static TLS 375772 +1 error in get_elf_symbol_info() when computing value of 'hi' address for ML_(find_rx_mapping)() 375806 Test helgrind/tests/tc22_exit_w_lock fails with glibc 2.24 375839 Temporary storage exhausted, with long sequence of vfmadd231ps insns == 377159 "vex: the `impossible' happened" still present == 375150 Assertion 'tres.status == VexTransOK' failed == 378068 valgrind crashes on AVX2 function in FFmpeg 376142 Segfaults on MIPS Cavium Octeon boards 376279 disInstr(arm64): unhandled instruction 0xD50320FF 376455 Solaris: unhandled syscall lgrpsys(180) 376518 Solaris: unhandled fast trap getlgrp(6) 376611 ppc64 and arm64 don't know about prlimit64 syscall 376729 PPC64, remove R2 from the clobber list == 371668 376956 syswrap of SNDDRV and DRM_IOCTL_VERSION causing some addresses to be wrongly marked as addressable 377066 Some Valgrind unit tests fail to compile on Ubuntu 16.10 with PIE enabled by default 377376 memcheck/tests/linux/getregset fails with glibc2.24 377427 PPC64, lxv instruction failing on odd destination register 377478 PPC64: ISA 3.0 setup fixes 377698 Missing memory check for futex() uaddr arg for FUTEX_WAKE and FUTEX_WAKE_BITSET, check only 4 args for FUTEX_WAKE_BITSET, and 2 args for FUTEX_TRYLOCK_PI 377717 Fix massive space leak when reading compressed debuginfo sections 377891 Update Xen 4.6 domctl wrappers 377930 fcntl syscall wrapper is missing flock structure check 378524 libvexmultiarch_test regression on s390x and ppc64 378535 Valgrind reports INTERNAL ERROR in execve syscall wrapper 378673 Update libiberty demangler 378931 Add ISA 3.0B additional isnstructions, add OV32, CA32 setting support 379039 syscall wrapper for prctl(PR_SET_NAME) must not check more than 16 bytes 379094 Valgrind reports INTERNAL ERROR in rt_sigsuspend syscall wrapper 379371 UNKNOWN task message [id 3444, to mach_task_self(), reply 0x603] (task_register_dyld_image_infos) 379372 UNKNOWN task message [id 3447, to mach_task_self(), reply 0x603] (task_register_dyld_shared_cache_image_info) 379390 unhandled syscall: mach:70 (host_create_mach_voucher_trap) 379473 MIPS: add support for rdhwr cycle counter register 379504 remove TileGX/Linux port 379525 Support more x86 nop opcodes 379838 disAMode(x86): not an addr! 379703 PC ISA 3.0 fixes: stxvx, stxv, xscmpexpdp instructions 379890 arm: unhandled instruction: 0xEBAD 0x1B05 (sub.w fp, sp, r5, lsl #4) 379895 clock_gettime does not execute POST syscall wrapper 379925 PPC64, mtffs does not set the FPCC and C bits in the FPSCR correctly 379966 WARNING: unhandled amd64-linux syscall: 313 (finit_module) 380200 xtree generated callgrind files refer to files without directory name 380202 Assertion failure for cache line size (cls == 64) on aarch64. 380397 s390x: __GI_strcspn() replacement needed n-i-bz Fix pub_tool_basics.h build issue with g++ 4.4.7. (3.13.0.RC1: 2 June 2017, vex r3386, valgrind r16434) (3.13.0.RC2: 9 June 2017, vex r3389, valgrind r16443) (3.13.0: 14 June 2017, vex r3396, valgrind r16446) Bug: N/A Test: manual Change-Id: Id4498a49f462c3689cbcb35c15f96a8c7e3cea17
Diffstat (limited to 'include/vki')
-rw-r--r--include/vki/vki-amd64-linux.h2
-rw-r--r--include/vki/vki-arm-linux.h2
-rw-r--r--include/vki/vki-arm64-linux.h5
-rw-r--r--include/vki/vki-darwin.h2
-rw-r--r--include/vki/vki-linux.h38
-rw-r--r--include/vki/vki-mips32-linux.h4
-rw-r--r--include/vki/vki-mips64-linux.h3
-rw-r--r--include/vki/vki-posixtypes-amd64-linux.h2
-rw-r--r--include/vki/vki-posixtypes-arm-linux.h2
-rw-r--r--include/vki/vki-posixtypes-arm64-linux.h2
-rw-r--r--include/vki/vki-posixtypes-mips32-linux.h2
-rw-r--r--include/vki/vki-posixtypes-mips64-linux.h2
-rw-r--r--include/vki/vki-posixtypes-ppc32-linux.h2
-rw-r--r--include/vki/vki-posixtypes-ppc64-linux.h2
-rw-r--r--include/vki/vki-posixtypes-s390x-linux.h2
-rw-r--r--include/vki/vki-posixtypes-x86-linux.h2
-rw-r--r--include/vki/vki-ppc32-linux.h5
-rw-r--r--include/vki/vki-ppc64-linux.h5
-rw-r--r--include/vki/vki-s390x-linux.h4
-rw-r--r--include/vki/vki-scnums-amd64-linux.h2
-rw-r--r--include/vki/vki-scnums-arm-linux.h2
-rw-r--r--include/vki/vki-scnums-arm64-linux.h2
-rw-r--r--include/vki/vki-scnums-darwin.h77
-rw-r--r--include/vki/vki-scnums-mips32-linux.h2
-rw-r--r--include/vki/vki-scnums-mips64-linux.h2
-rw-r--r--include/vki/vki-scnums-ppc32-linux.h2
-rw-r--r--include/vki/vki-scnums-ppc64-linux.h2
-rw-r--r--include/vki/vki-scnums-s390x-linux.h2
-rw-r--r--include/vki/vki-scnums-solaris.h13
-rw-r--r--include/vki/vki-scnums-x86-linux.h2
-rw-r--r--include/vki/vki-solaris-repcache.h6
-rw-r--r--include/vki/vki-solaris.h30
-rw-r--r--include/vki/vki-x86-linux.h2
-rw-r--r--include/vki/vki-xen-domctl.h132
-rw-r--r--include/vki/vki-xen-evtchn.h2
-rw-r--r--include/vki/vki-xen-gnttab.h2
-rw-r--r--include/vki/vki-xen-hvm.h2
-rw-r--r--include/vki/vki-xen-memory.h2
-rw-r--r--include/vki/vki-xen-mmuext.h2
-rw-r--r--include/vki/vki-xen-physdev.h2
-rw-r--r--include/vki/vki-xen-schedop.h2
-rw-r--r--include/vki/vki-xen-tmem.h2
-rw-r--r--include/vki/vki-xen-version.h2
-rw-r--r--include/vki/vki-xen-x86.h15
-rw-r--r--include/vki/vki-xen-xsm.h2
-rw-r--r--include/vki/vki-xen.h2
46 files changed, 298 insertions, 105 deletions
diff --git a/include/vki/vki-amd64-linux.h b/include/vki/vki-amd64-linux.h
index db85b92d5..a506ade06 100644
--- a/include/vki/vki-amd64-linux.h
+++ b/include/vki/vki-amd64-linux.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2000-2015 Julian Seward
+ Copyright (C) 2000-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-arm-linux.h b/include/vki/vki-arm-linux.h
index fe7a17109..46577e9eb 100644
--- a/include/vki/vki-arm-linux.h
+++ b/include/vki/vki-arm-linux.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2000-2015 Julian Seward
+ Copyright (C) 2000-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-arm64-linux.h b/include/vki/vki-arm64-linux.h
index df34dd6c0..af6b43572 100644
--- a/include/vki/vki-arm64-linux.h
+++ b/include/vki/vki-arm64-linux.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2013-2015 OpenWorks
+ Copyright (C) 2013-2017 OpenWorks
info@open-works.net
This program is free software; you can redistribute it and/or
@@ -586,7 +586,8 @@ struct vki_ucontext {
//ZZ };
//ZZ
//ZZ // [[Nb: for our convenience within Valgrind, use a more specific name]]
-//ZZ typedef struct vki_user_desc vki_modify_ldt_t;
+
+typedef char vki_modify_ldt_t;
//----------------------------------------------------------------------
// From linux-3.10.5/include/asm-generic/ipcbuf.h
diff --git a/include/vki/vki-darwin.h b/include/vki/vki-darwin.h
index 49d0d4c9a..72b66bf91 100644
--- a/include/vki/vki-darwin.h
+++ b/include/vki/vki-darwin.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2007-2015 Apple Inc.
+ Copyright (C) 2007-2017 Apple Inc.
Greg Parker gparker@apple.com
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-linux.h b/include/vki/vki-linux.h
index bdb8f3393..4840a53e2 100644
--- a/include/vki/vki-linux.h
+++ b/include/vki/vki-linux.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2000-2015 Julian Seward
+ Copyright (C) 2000-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
@@ -97,8 +97,6 @@
# include "vki-posixtypes-mips32-linux.h"
#elif defined(VGA_mips64)
# include "vki-posixtypes-mips64-linux.h"
-#elif defined(VGA_tilegx)
-# include "vki-posixtypes-tilegx-linux.h"
#else
# error Unknown platform
#endif
@@ -225,8 +223,6 @@ typedef unsigned int vki_uint;
# include "vki-mips32-linux.h"
#elif defined(VGA_mips64)
# include "vki-mips64-linux.h"
-#elif defined(VGA_tilegx)
-# include "vki-tilegx-linux.h"
#else
# error Unknown platform
#endif
@@ -527,7 +523,7 @@ typedef struct vki_siginfo {
* SIGBUS si_codes
*/
#define VKI_BUS_ADRALN (__VKI_SI_FAULT|1) /* invalid address alignment */
-#define VKI_BUS_ADRERR (__VKI_SI_FAULT|2) /* non-existant physical address */
+#define VKI_BUS_ADRERR (__VKI_SI_FAULT|2) /* non-existent physical address */
#define VKI_BUS_OBJERR (__VKI_SI_FAULT|3) /* object specific hardware error */
/*
@@ -674,7 +670,8 @@ __KINLINE struct vki_cmsghdr * __vki_cmsg_nxthdr(void *__ctl, __vki_kernel_size_
{
struct vki_cmsghdr * __ptr;
- __ptr = (struct vki_cmsghdr*)(((unsigned char *) __cmsg) + VKI_CMSG_ALIGN(__cmsg->cmsg_len));
+ __ptr = ASSUME_ALIGNED(struct vki_cmsghdr *,
+ ((unsigned char *) __cmsg) + VKI_CMSG_ALIGN(__cmsg->cmsg_len));
if ((unsigned long)((char*)(__ptr+1) - (char *) __ctl) > __size)
return (struct vki_cmsghdr *)0;
@@ -1415,6 +1412,22 @@ struct vki_dirent64 {
#define VKI_F_SETPIPE_SZ (VKI_F_LINUX_SPECIFIC_BASE + 7)
#define VKI_F_GETPIPE_SZ (VKI_F_LINUX_SPECIFIC_BASE + 8)
+struct vki_flock {
+ short l_type;
+ short l_whence;
+ __vki_kernel_off_t l_start;
+ __vki_kernel_off_t l_len;
+ __vki_kernel_pid_t l_pid;
+};
+
+struct vki_flock64 {
+ short l_type;
+ short l_whence;
+ __vki_kernel_loff_t l_start;
+ __vki_kernel_loff_t l_len;
+ __vki_kernel_pid_t l_pid;
+};
+
//----------------------------------------------------------------------
// From linux-2.6.8.1/include/linux/sysctl.h
//----------------------------------------------------------------------
@@ -1865,10 +1878,13 @@ struct vki_scsi_idlun {
(struct cdrom_tochdr) */
#define VKI_CDROMREADTOCENTRY 0x5306 /* Read TOC entry
(struct cdrom_tocentry) */
+#define VKI_CDROMSTOP 0x5307 /* Stop the cdrom drive */
#define VKI_CDROMSUBCHNL 0x530b /* Read subchannel data
(struct cdrom_subchnl) */
#define VKI_CDROMREADMODE2 0x530c /* Read CDROM mode 2 data (2336 Bytes)
(struct cdrom_read) */
+#define VKI_CDROMREADMODE1 0x530d /* Read CDROM mode 1 data (2048 Bytes)
+ (struct cdrom_read) */
#define VKI_CDROMREADAUDIO 0x530e /* (struct cdrom_read_audio) */
#define VKI_CDROMMULTISESSION 0x5310 /* Obtain the start-of-last-session
address of multi session disks
@@ -1884,6 +1900,7 @@ struct vki_scsi_idlun {
#define VKI_CDROM_DISC_STATUS 0x5327 /* get CD type information */
#define VKI_CDROM_GET_CAPABILITY 0x5331 /* get capabilities */
+#define VKI_DVD_READ_STRUCT 0x5390 /* read structure */
#define VKI_CDROM_SEND_PACKET 0x5393 /* send a packet to the drive */
struct vki_cdrom_msf0
@@ -1994,6 +2011,7 @@ struct vki_cdrom_generic_command
#define VKI_CD_HEAD_SIZE 4 /* header (address) bytes per raw data frame */
#define VKI_CD_FRAMESIZE_RAW 2352 /* bytes per frame, "raw" mode */
#define VKI_CD_FRAMESIZE_RAW0 (VKI_CD_FRAMESIZE_RAW-VKI_CD_SYNC_SIZE-VKI_CD_HEAD_SIZE) /*2336*/
+#define VKI_CD_FRAMESIZE_RAW1 2048 /* bytes per frame, mode 1*/
//----------------------------------------------------------------------
// From linux-2.6.8.1/include/linux/soundcard.h
@@ -2321,6 +2339,8 @@ typedef __vki_kernel_uid32_t vki_qid_t; /* Type in which we store ids in memory
#define VKI_PTRACE_GETREGSET 0x4204
#define VKI_PTRACE_SETREGSET 0x4205
+#define VKI_PT_PTRACED 0x00000001
+
//----------------------------------------------------------------------
// From linux-2.6.14/include/sound/asound.h
//----------------------------------------------------------------------
@@ -2773,7 +2793,7 @@ typedef vki_uint32_t vki_key_perm_t;
#define VKI_SIOCSIWPOWER 0x8B2C /* set Power Management settings */
#define VKI_SIOCGIWPOWER 0x8B2D /* get Power Management settings */
-/* WPA : Generic IEEE 802.11 informatiom element (e.g., for WPA/RSN/WMM). */
+/* WPA : Generic IEEE 802.11 information element (e.g., for WPA/RSN/WMM). */
#define VKI_SIOCSIWGENIE 0x8B30 /* set generic IE */
#define VKI_SIOCGIWGENIE 0x8B31 /* get generic IE */
@@ -2800,7 +2820,7 @@ struct vki_iw_param
__vki_s32 value; /* The value of the parameter itself */
__vki_u8 fixed; /* Hardware should not use auto select */
__vki_u8 disabled; /* Disable the feature */
- __vki_u16 flags; /* Various specifc flags (if any) */
+ __vki_u16 flags; /* Various specific flags (if any) */
};
struct vki_iw_point
diff --git a/include/vki/vki-mips32-linux.h b/include/vki/vki-mips32-linux.h
index 5be8e1562..7aba35582 100644
--- a/include/vki/vki-mips32-linux.h
+++ b/include/vki/vki-mips32-linux.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2010-2015 RT-RK
+ Copyright (C) 2010-2017 RT-RK
mips-valgrind@rt-rk.com
This program is free software; you can redistribute it and/or
@@ -679,7 +679,7 @@ struct vki_ucontext {
};
// CAB: TODO
-typedef void vki_modify_ldt_t;
+typedef char vki_modify_ldt_t;
//----------------------------------------------------------------------
// From linux-2.6.35.5/include/asm-mips/ipcbuf.h
diff --git a/include/vki/vki-mips64-linux.h b/include/vki/vki-mips64-linux.h
index 26b8e9f98..c20c2980a 100644
--- a/include/vki/vki-mips64-linux.h
+++ b/include/vki/vki-mips64-linux.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2010-2015 RT-RK
+ Copyright (C) 2010-2017 RT-RK
mips-valgrind@rt-rk.com
This program is free software; you can redistribute it and/or
@@ -710,6 +710,7 @@ struct vki_ucontext {
vki_sigset_t uc_sigmask; /* mask last for extensibility */
};
+typedef char vki_modify_ldt_t;
//----------------------------------------------------------------------
// From linux-2.6.35.9/include/asm-mips/ipcbuf.h
//----------------------------------------------------------------------
diff --git a/include/vki/vki-posixtypes-amd64-linux.h b/include/vki/vki-posixtypes-amd64-linux.h
index e68e214d9..342e41690 100644
--- a/include/vki/vki-posixtypes-amd64-linux.h
+++ b/include/vki/vki-posixtypes-amd64-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2000-2015 Julian Seward
+ Copyright (C) 2000-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-posixtypes-arm-linux.h b/include/vki/vki-posixtypes-arm-linux.h
index 59943a8da..bc06ec9b2 100644
--- a/include/vki/vki-posixtypes-arm-linux.h
+++ b/include/vki/vki-posixtypes-arm-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2000-2015 Julian Seward
+ Copyright (C) 2000-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-posixtypes-arm64-linux.h b/include/vki/vki-posixtypes-arm64-linux.h
index 7df53456c..d9acee0db 100644
--- a/include/vki/vki-posixtypes-arm64-linux.h
+++ b/include/vki/vki-posixtypes-arm64-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2013-2015 OpenWorks
+ Copyright (C) 2013-2017 OpenWorks
info@open-works.net
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-posixtypes-mips32-linux.h b/include/vki/vki-posixtypes-mips32-linux.h
index 4abe38af7..b65e3eda4 100644
--- a/include/vki/vki-posixtypes-mips32-linux.h
+++ b/include/vki/vki-posixtypes-mips32-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2010-2015 RT-RK
+ Copyright (C) 2010-2017 RT-RK
mips-valgrind@rt-rk.com
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-posixtypes-mips64-linux.h b/include/vki/vki-posixtypes-mips64-linux.h
index 4ebd59748..96d2728b7 100644
--- a/include/vki/vki-posixtypes-mips64-linux.h
+++ b/include/vki/vki-posixtypes-mips64-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2010-2015 RT-RK
+ Copyright (C) 2010-2017 RT-RK
mips-valgrind@rt-rk.com
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-posixtypes-ppc32-linux.h b/include/vki/vki-posixtypes-ppc32-linux.h
index 246195b6a..e72a8f6f7 100644
--- a/include/vki/vki-posixtypes-ppc32-linux.h
+++ b/include/vki/vki-posixtypes-ppc32-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2005-2015 Julian Seward
+ Copyright (C) 2005-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-posixtypes-ppc64-linux.h b/include/vki/vki-posixtypes-ppc64-linux.h
index afd0a50e8..ac385ea12 100644
--- a/include/vki/vki-posixtypes-ppc64-linux.h
+++ b/include/vki/vki-posixtypes-ppc64-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2005-2015 Julian Seward
+ Copyright (C) 2005-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-posixtypes-s390x-linux.h b/include/vki/vki-posixtypes-s390x-linux.h
index 6de95fc01..8e04c3dfa 100644
--- a/include/vki/vki-posixtypes-s390x-linux.h
+++ b/include/vki/vki-posixtypes-s390x-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright IBM Corp. 2010-2015
+ Copyright IBM Corp. 2010-2017
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-posixtypes-x86-linux.h b/include/vki/vki-posixtypes-x86-linux.h
index dedaa67b0..7f131d7b8 100644
--- a/include/vki/vki-posixtypes-x86-linux.h
+++ b/include/vki/vki-posixtypes-x86-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2000-2015 Julian Seward
+ Copyright (C) 2000-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-ppc32-linux.h b/include/vki/vki-ppc32-linux.h
index 70c2835ee..0582e43d4 100644
--- a/include/vki/vki-ppc32-linux.h
+++ b/include/vki/vki-ppc32-linux.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2005-2015 Julian Seward
+ Copyright (C) 2005-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
@@ -811,10 +811,9 @@ struct vki_ucontext {
//.. };
//..
//.. // [[Nb: for our convenience within Valgrind, use a more specific name]]
-//.. typedef struct vki_user_desc vki_modify_ldt_t;
// CAB: TODO
-typedef void vki_modify_ldt_t;
+typedef char vki_modify_ldt_t;
//----------------------------------------------------------------------
diff --git a/include/vki/vki-ppc64-linux.h b/include/vki/vki-ppc64-linux.h
index b4106637b..b82dc377b 100644
--- a/include/vki/vki-ppc64-linux.h
+++ b/include/vki/vki-ppc64-linux.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2005-2015 Julian Seward
+ Copyright (C) 2005-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
@@ -685,6 +685,9 @@ struct vki_ucontext {
struct vki_sigcontext uc_mcontext; /* last for extensibility */
};
+// CAB: TODO
+typedef char vki_modify_ldt_t;
+
//----------------------------------------------------------------------
// From linux-2.6.13/include/asm-ppc64/ipcbuf.h
//----------------------------------------------------------------------
diff --git a/include/vki/vki-s390x-linux.h b/include/vki/vki-s390x-linux.h
index c3f6d0047..8fdeadd1f 100644
--- a/include/vki/vki-s390x-linux.h
+++ b/include/vki/vki-s390x-linux.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright IBM Corp. 2010-2015
+ Copyright IBM Corp. 2010-2017
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -822,6 +822,8 @@ struct vki_ucontext {
vki_sigset_t uc_sigmask; /* mask last for extensibility */
};
+typedef char vki_modify_ldt_t;
+
//----------------------------------------------------------------------
// From linux-2.6.16.60/include/asm-s390/ipcbuf.h
//----------------------------------------------------------------------
diff --git a/include/vki/vki-scnums-amd64-linux.h b/include/vki/vki-scnums-amd64-linux.h
index 820cd021d..adeee0062 100644
--- a/include/vki/vki-scnums-amd64-linux.h
+++ b/include/vki/vki-scnums-amd64-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2000-2015 Julian Seward
+ Copyright (C) 2000-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-scnums-arm-linux.h b/include/vki/vki-scnums-arm-linux.h
index df3572965..4430e6991 100644
--- a/include/vki/vki-scnums-arm-linux.h
+++ b/include/vki/vki-scnums-arm-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2008-2015 Evan Geller
+ Copyright (C) 2008-2017 Evan Geller
gaze@bea.ms
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-scnums-arm64-linux.h b/include/vki/vki-scnums-arm64-linux.h
index e963c4521..d53e7d73c 100644
--- a/include/vki/vki-scnums-arm64-linux.h
+++ b/include/vki/vki-scnums-arm64-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2013-2015 OpenWorks
+ Copyright (C) 2013-2017 OpenWorks
info@open-works.net
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-scnums-darwin.h b/include/vki/vki-scnums-darwin.h
index b77584967..04b42c844 100644
--- a/include/vki/vki-scnums-darwin.h
+++ b/include/vki/vki-scnums-darwin.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2007-2015 Apple Inc.
+ Copyright (C) 2007-2017 Apple Inc.
Greg Parker gparker@apple.com
This program is free software; you can redistribute it and/or
@@ -202,6 +202,10 @@
#define __NR_syscall_thread_switch VG_DARWIN_SYSCALL_CONSTRUCT_MACH(61)
#define __NR_clock_sleep_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(62)
+#if DARWIN_VERS >= DARWIN_10_12
+#define __NR_host_create_mach_voucher_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(70)
+#endif
+
#define __NR_mach_timebase_info VG_DARWIN_SYSCALL_CONSTRUCT_MACH(89)
#define __NR_mach_wait_until VG_DARWIN_SYSCALL_CONSTRUCT_MACH(90)
#define __NR_mk_timer_create VG_DARWIN_SYSCALL_CONSTRUCT_MACH(91)
@@ -391,8 +395,13 @@
/* 174 old getdents */
/* 175 old gc_control */
#define __NR_add_profil VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(176)
- /* 177 */
- /* 178 */
+
+#if DARWIN_VERS >= DARWIN_10_12
+#define __NR_kdebug_typefilter VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(177)
+#endif /* DARWIN_VERS >= DARWIN_10_12 */
+#if DARWIN_VERS >= DARWIN_10_11
+#define __NR_kdebug_trace_string VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(178)
+#endif /* DARWIN_VERS >= DARWIN_10_11 */
/* 179 */
#define __NR_kdebug_trace VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(180)
#define __NR_setgid VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(181)
@@ -642,7 +651,9 @@
/* 372 */
#endif
/* 373 */
- /* 374 */
+#if DARWIN_VERS >= DARWIN_10_11
+#define __NR_kevent_qos VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(374)
+#endif /* DARWIN_VERS >= DARWIN_10_11 */
/* 375 */
/* 376 */
/* 377 */
@@ -706,9 +717,9 @@
#define __NR_audit_session_port VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(432)
#define __NR_pid_suspend VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(433)
#define __NR_pid_resume VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(434)
-
-
-
+ /* 435 */
+ /* 436 */
+ /* 437 */
#define __NR_shared_region_map_and_slide_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(438)
#define __NR_kas_info VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(439)
#define __NR_memorystatus_control VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(440)
@@ -716,7 +727,7 @@
#define __NR_guarded_close_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(442)
#define __NR_guarded_kqueue_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(443)
#define __NR_change_fdguard_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(444)
-
+ /* 445 */
#define __NR_proc_rlimit_control VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(446)
#define __NR_connectx VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(447)
#define __NR_disconnectx VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(448)
@@ -732,35 +743,46 @@
#if DARWIN_VERS >= DARWIN_10_10
#define __NR_necp_match_policy VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(460)
#define __NR_getattrlistbulk VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(461)
+#endif /* DARWIN_VERS >= DARWIN_10_10 */
+
+#if DARWIN_VERS >= DARWIN_10_12
+#define __NR_clonefileat VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(462)
+#endif /* DARWIN_VERS >= DARWIN_10_12 */
+
+#if DARWIN_VERS >= DARWIN_10_10
+#define __NR_faccessat VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(466)
+#define __NR_fstatat64 VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(470)
#define __NR_readlinkat VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(473)
#define __NR_bsdthread_ctl VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(478)
+#define __NR_csrctl VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(483)
#define __NR_guarded_open_dprotected_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(484)
#define __NR_guarded_write_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(485)
#define __NR_guarded_pwrite_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(486)
#define __NR_guarded_writev_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(487)
- /* 488 */
- /* 489 */
#endif /* DARWIN_VERS >= DARWIN_10_10 */
-// TODO Update with OS X 10.11 kernel (xnu) source code release
+#if DARWIN_VERS >= DARWIN_10_12
+#define __NR_renameatx_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(488)
+#endif /* DARWIN_VERS >= DARWIN_10_12 */
+ /* 489 */
+
#if DARWIN_VERS >= DARWIN_10_11
- /* 490 */
- /* 491 */
- /* 492 */
- /* 493 */
- /* 494 */
+#define __NR_netagent_trigger VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(490)
+#define __NR_stack_snapshot_with_config VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(491)
+#define __NR_microstackshot VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(492)
+#define __NR_grab_pgo_data VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(493)
+#define __NR_persona VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(494)
/* 495 */
/* 496 */
/* 497 */
/* 498 */
- /* 499 */
+#define __NR_work_interval_ctl VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(499)
#endif /* DARWIN_VERS >= DARWIN_10_11 */
-// TODO Update with macOS 10.12 kernel (xnu) source code release
#if DARWIN_VERS >= DARWIN_10_12
- /* 500 */
- /* 501 */
- /* 502 */
+#define __NR_getentropy VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(500)
+#define __NR_necp_open VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(501)
+#define __NR_necp_client_action VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(502)
/* 503 */
/* 504 */
/* 505 */
@@ -773,13 +795,13 @@
/* 512 */
/* 513 */
/* 514 */
- /* 515 */
- /* 516 */
- /* 517 */
- /* 518 */
+#define __NR_ulock_wait VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(515)
+#define __NR_ulock_wake VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(516)
+#define __NR_fclonefileat VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(517)
+#define __NR_fs_snapshot VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(518)
/* 519 */
- /* 520 */
- /* 521 */
+#define __NR_terminate_with_payload VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(520)
+#define __NR_abort_with_payload VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(521)
#endif /* DARWIN_VERS >= DARWIN_10_12 */
#if DARWIN_VERS < DARWIN_10_6
@@ -795,7 +817,6 @@
#elif DARWIN_VERS == DARWIN_10_11
#define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(500)
#elif DARWIN_VERS == DARWIN_10_12
-// TODO Confirm against final release
#define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(522)
#else
#error unknown darwin version
diff --git a/include/vki/vki-scnums-mips32-linux.h b/include/vki/vki-scnums-mips32-linux.h
index 5103b43a0..0187e9003 100644
--- a/include/vki/vki-scnums-mips32-linux.h
+++ b/include/vki/vki-scnums-mips32-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2010-2015 RT-RK
+ Copyright (C) 2010-2017 RT-RK
mips-valgrind@rt-rk.com
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-scnums-mips64-linux.h b/include/vki/vki-scnums-mips64-linux.h
index 79cc5537a..e3d8536bd 100644
--- a/include/vki/vki-scnums-mips64-linux.h
+++ b/include/vki/vki-scnums-mips64-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2010-2015 RT-RK
+ Copyright (C) 2010-2017 RT-RK
mips-valgrind@rt-rk.com
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-scnums-ppc32-linux.h b/include/vki/vki-scnums-ppc32-linux.h
index 644ac8a32..c2859ed9c 100644
--- a/include/vki/vki-scnums-ppc32-linux.h
+++ b/include/vki/vki-scnums-ppc32-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2005-2015 Julian Seward
+ Copyright (C) 2005-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-scnums-ppc64-linux.h b/include/vki/vki-scnums-ppc64-linux.h
index 2a2016104..a195c015b 100644
--- a/include/vki/vki-scnums-ppc64-linux.h
+++ b/include/vki/vki-scnums-ppc64-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2005-2015 Julian Seward
+ Copyright (C) 2005-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-scnums-s390x-linux.h b/include/vki/vki-scnums-s390x-linux.h
index 0187045e9..bc436dd68 100644
--- a/include/vki/vki-scnums-s390x-linux.h
+++ b/include/vki/vki-scnums-s390x-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright IBM Corp. 2010-2015
+ Copyright IBM Corp. 2010-2017
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-scnums-solaris.h b/include/vki/vki-scnums-solaris.h
index 2a6b6dea4..f9056abe8 100644
--- a/include/vki/vki-scnums-solaris.h
+++ b/include/vki/vki-scnums-solaris.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2011-2015 Petr Pavlu
+ Copyright (C) 2011-2017 Petr Pavlu
setup@dagobah.cz
This program is free software; you can redistribute it and/or
@@ -28,7 +28,7 @@
The GNU General Public License is contained in the file COPYING.
*/
-/* Copyright 2013-2016, Ivo Raisr <ivosh@ivosh.net>. */
+/* Copyright 2013-2017, Ivo Raisr <ivosh@ivosh.net>. */
/* Copyright 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
@@ -144,7 +144,7 @@
#define __NR_setgroups SYS_setgroups
#define __NR_getgroups SYS_getgroups
#define __NR_sigprocmask SYS_sigprocmask
-//#define __NR_sigsuspend SYS_sigsuspend
+#define __NR_sigsuspend SYS_sigsuspend
#define __NR_sigaltstack SYS_sigaltstack
#define __NR_sigaction SYS_sigaction
#define __NR_sigpending SYS_sigpending
@@ -157,7 +157,7 @@
#define __NR_nfssys SYS_nfssys
#define __NR_waitid SYS_waitid
#define __NR_waitsys SYS_waitsys /* = SYS_waitid (historical) */
-//#define __NR_sigsendsys SYS_sigsendsys
+#define __NR_sigsendsys SYS_sigsendsys
//#define __NR_hrtsys SYS_hrtsys
#if defined(SOLARIS_UTIMESYS_SYSCALL)
#define __NR_utimesys SYS_utimesys
@@ -237,8 +237,7 @@
//#define __NR_brand SYS_brand
//#define __NR_kaio SYS_kaio
//#define __NR_cpc SYS_cpc
-//#define __NR_lgrpsys SYS_lgrpsys
-//#define __NR_meminfosys SYS_meminfosys /* = SYS_lgrpsys */
+#define __NR_lgrpsys SYS_lgrpsys
#define __NR_rusagesys SYS_rusagesys
#define __NR_port SYS_port
#define __NR_pollsys SYS_pollsys
@@ -354,10 +353,8 @@
VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_GETHRVTIME)
#define __NR_gethrestime \
VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_GETHRESTIME)
-/*
#define __NR_getlgrp \
VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_GETLGRP)
-*/
#if defined(SOLARIS_GETHRT_FASTTRAP)
#define __NR_gethrt \
VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_GETHRT)
diff --git a/include/vki/vki-scnums-x86-linux.h b/include/vki/vki-scnums-x86-linux.h
index a4e75a7da..8a6376b8e 100644
--- a/include/vki/vki-scnums-x86-linux.h
+++ b/include/vki/vki-scnums-x86-linux.h
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2000-2015 Julian Seward
+ Copyright (C) 2000-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-solaris-repcache.h b/include/vki/vki-solaris-repcache.h
index e2ad269b3..57f031ee1 100644
--- a/include/vki/vki-solaris-repcache.h
+++ b/include/vki/vki-solaris-repcache.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2015-2016 Ivo Raisr
+ Copyright (C) 2015-2017 Ivo Raisr
ivosh@ivosh.net
This program is free software; you can redistribute it and/or
@@ -28,7 +28,7 @@
The GNU General Public License is contained in the file COPYING.
*/
-/* Copyright 2015-2015, Tomas Jedlicka <jedlickat@gmail.com>. */
+/* Copyright 2015-2017, Tomas Jedlicka <jedlickat@gmail.com>. */
#ifndef __VKI_SOLARIS_REPCACHE_H
#define __VKI_SOLARIS_REPCACHE_H
@@ -343,7 +343,7 @@ enum vki_rep_protocol_requestid {
#error Unsupported repcache protocol version
#endif
-/* The following definitions are currently stable accross all repcache protocol
+/* The following definitions are currently stable across all repcache protocol
versions. If there is any change to them, they need to be versioned
properly so that Valgrind works on older versions. */
diff --git a/include/vki/vki-solaris.h b/include/vki/vki-solaris.h
index 002b2dfa0..5b7bb21c4 100644
--- a/include/vki/vki-solaris.h
+++ b/include/vki/vki-solaris.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2011-2015 Petr Pavlu
+ Copyright (C) 2011-2017 Petr Pavlu
setup@dagobah.cz
This program is free software; you can redistribute it and/or
@@ -28,7 +28,7 @@
The GNU General Public License is contained in the file COPYING.
*/
-/* Copyright 2013-2016, Ivo Raisr <ivosh@ivosh.net> */
+/* Copyright 2013-2017, Ivo Raisr <ivosh@ivosh.net> */
/* Copyright 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
@@ -500,13 +500,14 @@ typedef struct vki_kcf_door_arg_s {
#define VKI_O_LARGEFILE O_LARGEFILE
#define VKI_F_DUPFD F_DUPFD
+#define VKI_F_DUPFD_CLOEXEC F_DUPFD_CLOEXEC
#define VKI_F_GETFD F_GETFD
#define VKI_F_SETFD F_SETFD
#define VKI_F_GETFL F_GETFL
#define VKI_F_GETXFL F_GETXFL
#define VKI_F_SETFL F_SETFL
-/* SVR3 rfs compability const, declared only if _KERNEL or _KMEMUSER is
+/* SVR3 rfs compatibility const, declared only if _KERNEL or _KMEMUSER is
defined. */
#if 0
#define VKI_F_O_GETLK F_O_GETLK
@@ -603,6 +604,26 @@ typedef struct vki_kcf_door_arg_s {
#define vki_semid64_ds semid_ds64
+#include <sys/lgrp_user.h>
+#if defined(HAVE_SYS_LGRP_USER_IMPL_H)
+/* Include implementation specific header file on newer Solaris. */
+#include <sys/lgrp_user_impl.h>
+#endif /* HAVE_SYS_LGRP_USER_IMPL_H */
+#define VKI_LGRP_SYS_MEMINFO LGRP_SYS_MEMINFO
+#define VKI_LGRP_SYS_GENERATION LGRP_SYS_GENERATION
+#define VKI_LGRP_SYS_VERSION LGRP_SYS_VERSION
+#define VKI_LGRP_SYS_SNAPSHOT LGRP_SYS_SNAPSHOT
+#define VKI_LGRP_SYS_AFFINITY_GET LGRP_SYS_AFFINITY_GET
+#define VKI_LGRP_SYS_AFFINITY_SET LGRP_SYS_AFFINITY_SET
+#define VKI_LGRP_SYS_LATENCY LGRP_SYS_LATENCY
+#define VKI_LGRP_SYS_HOME LGRP_SYS_HOME
+#define VKI_LGRP_SYS_AFF_INHERIT_GET LGRP_SYS_AFF_INHERIT_GET
+#define VKI_LGRP_SYS_AFF_INHERIT_SET LGRP_SYS_AFF_INHERIT_SET
+#define VKI_LGRP_SYS_DEVICE_LGRPS LGRP_SYS_DEVICE_LGRPS
+#define VKI_LGRP_SYS_MAXSOCKETS_GET LGRP_SYS_MAXSOCKETS_GET
+#define vki_lgrp_view_t lgrp_view_t
+
+
#include <sys/loadavg.h>
#define VKI_LOADAVG_NSTATS LOADAVG_NSTATS
@@ -642,6 +663,8 @@ typedef struct vki_kcf_door_arg_s {
#define VKI_MC_UNLOCKAS MC_UNLOCKAS
#define VKI_MC_HAT_ADVISE MC_HAT_ADVISE
+#define vki_meminfo_t meminfo_t
+
#include <sys/mntio.h>
#define VKI_MNTIOC_GETEXTMNTENT MNTIOC_GETEXTMNTENT
@@ -813,6 +836,7 @@ typedef struct vki_kcf_door_arg_s {
#define VKI_P_PID P_PID
#define VKI_P_PGID P_PGID
#define VKI_P_ALL P_ALL
+#define VKI_POP_AND POP_AND
#define vki_procset_t procset_t
diff --git a/include/vki/vki-x86-linux.h b/include/vki/vki-x86-linux.h
index 345b8a4a4..12ded916b 100644
--- a/include/vki/vki-x86-linux.h
+++ b/include/vki/vki-x86-linux.h
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2000-2015 Julian Seward
+ Copyright (C) 2000-2017 Julian Seward
jseward@acm.org
This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-xen-domctl.h b/include/vki/vki-xen-domctl.h
index d381ee6cb..9e8b5ef1f 100644
--- a/include/vki/vki-xen-domctl.h
+++ b/include/vki/vki-xen-domctl.h
@@ -2,7 +2,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2012-2015 Citrix
+ Copyright (C) 2012-2017 Citrix
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -36,6 +36,8 @@
* - 0x00000008: Xen 4.2
* - 0x00000009: Xen 4.3 & 4.4
* - 0x0000000a: Xen 4.5
+ * - 0x0000000b: Xen 4.6
+ * - 0x0000000c: Xen 4.7
*
* When adding a new subop be sure to include the variants used by all
* of the above, both here and in syswrap-xen.c
@@ -99,6 +101,7 @@
#define VKI_XEN_DOMCTL_debug_op 54
#define VKI_XEN_DOMCTL_gethvmcontext_partial 55
#define VKI_XEN_DOMCTL_mem_event_op 56
+#define VKI_XEN_DOMCTL_vm_event_op 56 /* name change in 4.6 */
#define VKI_XEN_DOMCTL_mem_sharing_op 57
#define VKI_XEN_DOMCTL_disable_migrate 58
#define VKI_XEN_DOMCTL_gettscinfo 59
@@ -116,6 +119,7 @@
#define VKI_XEN_DOMCTL_cacheflush 71
#define VKI_XEN_DOMCTL_get_vcpu_msrs 72
#define VKI_XEN_DOMCTL_set_vcpu_msrs 73
+#define VKI_XEN_DOMCTL_monitor_op 77 /* new in 4.6 */
#define VKI_XEN_DOMCTL_gdbsx_guestmemio 1000
#define VKI_XEN_DOMCTL_gdbsx_pausevcpu 1001
#define VKI_XEN_DOMCTL_gdbsx_unpausevcpu 1002
@@ -351,6 +355,22 @@ struct vki_xen_guest_tsc_info {
typedef struct vki_xen_guest_tsc_info vki_xen_guest_tsc_info_t;
DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_guest_tsc_info_t);
+struct vki_xen_domctl_tsc_info_00000007 {
+ VKI_XEN_GUEST_HANDLE_64(vki_xen_guest_tsc_info_t) out_info; /* OUT */
+ vki_xen_guest_tsc_info_t info; /* IN */
+};
+
+/* 4.6 removed the output pointer */
+struct vki_xen_domctl_tsc_info_0000000b {
+ /* IN/OUT */
+ vki_uint32_t tsc_mode;
+ vki_uint32_t gtsc_khz;
+ vki_uint32_t incarnation;
+ vki_uint32_t pad;
+ vki_xen_uint64_aligned_t elapsed_nsec;
+};
+
+
struct vki_xen_domctl_hvmcontext {
vki_uint32_t size; /* IN/OUT size of buffer */
VKI_XEN_GUEST_HANDLE_64(vki_uint8) buffer; /* IN/OUT */
@@ -366,10 +386,6 @@ struct vki_xen_domctl_hvmcontext_partial {
typedef struct vki_xen_domctl_hvmcontext_partial vki_xen_domctl_hvmcontext_partial_t;
DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_domctl_hvmcontext_partial_t);
-struct vki_xen_domctl_tsc_info {
- VKI_XEN_GUEST_HANDLE_64(vki_xen_guest_tsc_info_t) out_info; /* OUT */
- vki_xen_guest_tsc_info_t info; /* IN */
-};
struct vki_xen_domctl_pin_mem_cacheattr {
vki_xen_uint64_aligned_t start, end; /* IN */
@@ -425,22 +441,44 @@ struct vki_xen_domctl_address_size {
vki_uint32_t size;
};
-struct vki_xen_domctl_assign_device {
+/* vki_xen_domctl_assign_device_00000007 is the same up to version 0x0000000b */
+struct vki_xen_domctl_assign_device_00000007 {
vki_uint32_t machine_sbdf; /* machine PCI ID of assigned device */
};
+#define VKI_XEN_DOMCTL_DEV_PCI 0
+#define VKI_XEN_DOMCTL_DEV_DT 1
+struct vki_xen_domctl_assign_device_0000000b {
+ vki_uint32_t dev; /* XEN_DOMCTL_DEV_* */
+ union {
+ struct {
+ vki_uint32_t machine_sbdf; /* machine PCI ID of assigned device */
+ } pci;
+ struct {
+ vki_uint32_t size; /* Length of the path */
+ VKI_XEN_GUEST_HANDLE_64(vki_uint8) path; /* path to the device tree node */
+ } dt;
+ } u;
+ /* IN */
+//#define XEN_DOMCTL_DEV_RDM_RELAXED 1
+ vki_uint32_t flag; /* flag of assigned device */
+};
+
struct vki_xen_domctl_debug_op {
vki_uint32_t op; /* IN */
vki_uint32_t vcpu; /* IN */
};
typedef struct vki_xen_domctl_debug_op vki_xen_domctl_debug_op_t;
-struct vki_xen_domctl_mem_event_op {
+struct vki_xen_domctl_mem_event_op_00000007 {
vki_uint32_t op; /* IN */
vki_uint32_t mode; /* IN */
vki_uint32_t port; /* OUT */
};
+/* only a name change in 4.6 */
+typedef struct vki_xen_domctl_mem_event_op_00000007 vki_xen_domctl_vm_event_op_0000000b;
+
struct vki_xen_domctl_set_access_required {
vki_uint8_t access_required; /* IN */
};
@@ -468,6 +506,76 @@ struct vki_xen_domctl_vcpu_msrs {
VKI_XEN_GUEST_HANDLE_64(vki_xen_domctl_vcpu_msr_t) msrs;
};
+#define VKI_XEN_DOMCTL_MONITOR_OP_ENABLE 0
+#define VKI_XEN_DOMCTL_MONITOR_OP_DISABLE 1
+#define VKI_XEN_DOMCTL_MONITOR_OP_GET_CAPABILITIES 2
+
+#define VKI_XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG 0
+#define VKI_XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR 1
+#define VKI_XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP 2
+#define VKI_XEN_DOMCTL_MONITOR_EVENT_SOFTWARE_BREAKPOINT 3
+#define VKI_XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST 4
+
+struct vki_xen_domctl_monitor_op_0000000b {
+ vki_uint32_t op; /* vki_xen_DOMCTL_MONITOR_OP_* */
+
+ /*
+ * When used with ENABLE/DISABLE this has to be set to
+ * the requested vki_xen_DOMCTL_MONITOR_EVENT_* value.
+ * With GET_CAPABILITIES this field returns a bitmap of
+ * events supported by the platform, in the format
+ * (1 << vki_xen_DOMCTL_MONITOR_EVENT_*).
+ */
+ vki_uint32_t event;
+
+ /*
+ * Further options when issuing vki_xen_DOMCTL_MONITOR_OP_ENABLE.
+ */
+ union {
+ struct {
+ /* Which control register */
+ vki_uint8_t index;
+ /* Pause vCPU until response */
+ vki_uint8_t sync;
+ /* Send event only on a change of value */
+ vki_uint8_t onchangeonly;
+ } mov_to_cr;
+
+ struct {
+ /* Enable the capture of an extended set of MSRs */
+ vki_uint8_t extended_capture;
+ } mov_to_msr;
+
+ struct {
+ /* Pause vCPU until response */
+ vki_uint8_t sync;
+ } guest_request;
+ } u;
+};
+
+
+struct vki_xen_domctl_monitor_op {
+ vki_uint32_t op;
+#define VKI_XEN_DOMCTL_MONITOR_OP_ENABLE 0
+#define VKI_XEN_DOMCTL_MONITOR_OP_DISABLE 1
+#define VKI_XEN_DOMCTL_MONITOR_OP_GET_CAPABILITIES 2
+#define VKI_XEN_DOMCTL_MONITOR_OP_EMULATE_EACH_REP 3
+ vki_uint32_t event;
+ union {
+ struct {
+ vki_uint8_t index;
+ vki_uint8_t sync;
+ vki_uint8_t onchangeonly;
+ } mov_to_cr;
+ struct {
+ vki_uint8_t extended_capture;
+ } mov_to_msr;
+ struct {
+ vki_uint8_t sync;
+ } guest_request;
+ } u;
+};
+
struct vki_xen_domctl {
vki_uint32_t cmd;
vki_uint32_t interface_version; /* XEN_DOMCTL_INTERFACE_VERSION */
@@ -499,14 +607,16 @@ struct vki_xen_domctl {
//struct vki_xen_domctl_arch_setup arch_setup;
struct vki_xen_domctl_settimeoffset settimeoffset;
//struct vki_xen_domctl_disable_migrate disable_migrate;
- struct vki_xen_domctl_tsc_info tsc_info;
+ struct vki_xen_domctl_tsc_info_00000007 tsc_info_00000007;
+ struct vki_xen_domctl_tsc_info_0000000b tsc_info_0000000b;
//struct vki_xen_domctl_real_mode_area real_mode_area;
struct vki_xen_domctl_hvmcontext hvmcontext;
struct vki_xen_domctl_hvmcontext_partial hvmcontext_partial;
struct vki_xen_domctl_address_size address_size;
//struct vki_xen_domctl_sendtrigger sendtrigger;
//struct vki_xen_domctl_get_device_group get_device_group;
- struct vki_xen_domctl_assign_device assign_device;
+ struct vki_xen_domctl_assign_device_00000007 assign_device_00000007;
+ struct vki_xen_domctl_assign_device_0000000b assign_device_0000000b;
//struct vki_xen_domctl_bind_pt_irq bind_pt_irq;
//struct vki_xen_domctl_memory_mapping memory_mapping;
//struct vki_xen_domctl_ioport_mapping ioport_mapping;
@@ -516,7 +626,8 @@ struct vki_xen_domctl {
//struct vki_xen_domctl_set_target set_target;
//struct vki_xen_domctl_subscribe subscribe;
struct vki_xen_domctl_debug_op debug_op;
- struct vki_xen_domctl_mem_event_op mem_event_op;
+ struct vki_xen_domctl_mem_event_op_00000007 mem_event_op_00000007;
+ vki_xen_domctl_vm_event_op_0000000b vm_event_op_0000000b;
//struct vki_xen_domctl_mem_sharing_op mem_sharing_op;
#if defined(__i386__) || defined(__x86_64__)
struct vki_xen_domctl_cpuid cpuid;
@@ -532,6 +643,7 @@ struct vki_xen_domctl {
struct vki_xen_domctl_cacheflush cacheflush;
//struct vki_xen_domctl_gdbsx_pauseunp_vcpu gdbsx_pauseunp_vcpu;
//struct vki_xen_domctl_gdbsx_domstatus gdbsx_domstatus;
+ struct vki_xen_domctl_monitor_op_0000000b monitor_op_0000000b;
vki_uint8_t pad[128];
} u;
};
diff --git a/include/vki/vki-xen-evtchn.h b/include/vki/vki-xen-evtchn.h
index d8ff600a2..9d4e4c3a6 100644
--- a/include/vki/vki-xen-evtchn.h
+++ b/include/vki/vki-xen-evtchn.h
@@ -2,7 +2,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2012-2015 Citrix
+ Copyright (C) 2012-2017 Citrix
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-xen-gnttab.h b/include/vki/vki-xen-gnttab.h
index 11c4219f6..3e6c36cdb 100644
--- a/include/vki/vki-xen-gnttab.h
+++ b/include/vki/vki-xen-gnttab.h
@@ -2,7 +2,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2012-2015 Citrix
+ Copyright (C) 2012-2017 Citrix
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-xen-hvm.h b/include/vki/vki-xen-hvm.h
index 0664b73de..0c34570b6 100644
--- a/include/vki/vki-xen-hvm.h
+++ b/include/vki/vki-xen-hvm.h
@@ -2,7 +2,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2012-2015 Citrix
+ Copyright (C) 2012-2017 Citrix
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-xen-memory.h b/include/vki/vki-xen-memory.h
index c3076902d..3b6f9e519 100644
--- a/include/vki/vki-xen-memory.h
+++ b/include/vki/vki-xen-memory.h
@@ -2,7 +2,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2012-2015 Citrix
+ Copyright (C) 2012-2017 Citrix
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-xen-mmuext.h b/include/vki/vki-xen-mmuext.h
index 5e758b391..817269c65 100644
--- a/include/vki/vki-xen-mmuext.h
+++ b/include/vki/vki-xen-mmuext.h
@@ -2,7 +2,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2012-2015 Citrix
+ Copyright (C) 2012-2017 Citrix
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-xen-physdev.h b/include/vki/vki-xen-physdev.h
index d3111a091..6f8c2c84c 100644
--- a/include/vki/vki-xen-physdev.h
+++ b/include/vki/vki-xen-physdev.h
@@ -2,7 +2,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2012-2015 Citrix
+ Copyright (C) 2012-2017 Citrix
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-xen-schedop.h b/include/vki/vki-xen-schedop.h
index 30f8a33a5..3c5b2ceeb 100644
--- a/include/vki/vki-xen-schedop.h
+++ b/include/vki/vki-xen-schedop.h
@@ -2,7 +2,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2012-2015 Citrix
+ Copyright (C) 2012-2017 Citrix
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-xen-tmem.h b/include/vki/vki-xen-tmem.h
index e372ae6d8..bc51f934e 100644
--- a/include/vki/vki-xen-tmem.h
+++ b/include/vki/vki-xen-tmem.h
@@ -2,7 +2,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2012-2015 Citrix
+ Copyright (C) 2012-2017 Citrix
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-xen-version.h b/include/vki/vki-xen-version.h
index a022c94dc..dfaf7c07e 100644
--- a/include/vki/vki-xen-version.h
+++ b/include/vki/vki-xen-version.h
@@ -2,7 +2,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2012-2015 Citrix
+ Copyright (C) 2012-2017 Citrix
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-xen-x86.h b/include/vki/vki-xen-x86.h
index a54a4de9a..a26b3ea8a 100644
--- a/include/vki/vki-xen-x86.h
+++ b/include/vki/vki-xen-x86.h
@@ -2,7 +2,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2012-2015 Citrix
+ Copyright (C) 2012-2017 Citrix
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -270,6 +270,19 @@ struct vki_hvm_hw_cpu {
VKI_DECLARE_HVM_SAVE_TYPE(CPU, 2, struct vki_hvm_hw_cpu);
+struct vki_hvm_hw_mtrr {
+#define VKI_MTRR_VCNT 8
+#define VKI_NUM_FIXED_MSR 11
+ vki_uint64_t msr_pat_cr;
+ /* mtrr physbase & physmask msr pair*/
+ vki_uint64_t msr_mtrr_var[VKI_MTRR_VCNT*2];
+ vki_uint64_t msr_mtrr_fixed[VKI_NUM_FIXED_MSR];
+ vki_uint64_t msr_mtrr_cap;
+ vki_uint64_t msr_mtrr_def_type;
+};
+
+VKI_DECLARE_HVM_SAVE_TYPE(MTRR, 14, struct vki_hvm_hw_mtrr);
+
#endif // __VKI_XEN_H
/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-xen-xsm.h b/include/vki/vki-xen-xsm.h
index b8eb50db3..2e4b17f5d 100644
--- a/include/vki/vki-xen-xsm.h
+++ b/include/vki/vki-xen-xsm.h
@@ -2,7 +2,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2012-2015 Citrix
+ Copyright (C) 2012-2017 Citrix
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-xen.h b/include/vki/vki-xen.h
index 924a1e9c9..c0dfee36b 100644
--- a/include/vki/vki-xen.h
+++ b/include/vki/vki-xen.h
@@ -2,7 +2,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2012-2015 Citrix
+ Copyright (C) 2012-2017 Citrix
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as