You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
1
(34) |
2
(28) |
3
(22) |
4
(24) |
5
(32) |
6
(26) |
|
7
(21) |
8
(30) |
9
(15) |
10
(20) |
11
(23) |
12
(27) |
13
(17) |
|
14
(16) |
15
(16) |
16
(15) |
17
(14) |
18
(20) |
19
(18) |
20
(11) |
|
21
(1) |
22
(18) |
23
(12) |
24
(17) |
25
(16) |
26
(15) |
27
(18) |
|
28
(19) |
29
(17) |
30
(17) |
|
|
|
|
|
From: <sv...@va...> - 2014-09-04 19:57:26
|
Author: cborntra
Date: Thu Sep 4 19:57:17 2014
New Revision: 14461
Log:
add more system call numbers for s390. While we are at it
also wire up the common linux kcmp system call.
Modified:
trunk/coregrind/m_syswrap/syswrap-s390x-linux.c
trunk/include/vki/vki-scnums-s390x-linux.h
Modified: trunk/coregrind/m_syswrap/syswrap-s390x-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-s390x-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-s390x-linux.c Thu Sep 4 19:57:17 2014
@@ -1042,6 +1042,13 @@
LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 340
LINX_(__NR_process_vm_writev, sys_process_vm_writev), // 341
+// ?????(__NR_s390_runtime_instr, ), // 342
+ LINX_(__NR_kcmp, sys_kcmp) // 343
+// ?????(__NR_finit_module, ), // 344
+
+// ?????(__NR_sched_setattr, ), // 345
+// ?????(__NR_sched_getattr, ), // 346
+// ?????(__NR_renameat2, ), // 347
};
SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
Modified: trunk/include/vki/vki-scnums-s390x-linux.h
==============================================================================
--- trunk/include/vki/vki-scnums-s390x-linux.h (original)
+++ trunk/include/vki/vki-scnums-s390x-linux.h Thu Sep 4 19:57:17 2014
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright IBM Corp. 2010-2013
+ Copyright IBM Corp. 2010-2014
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -34,7 +34,7 @@
#define __VKI_SCNUMS_S390X_LINUX_H
//----------------------------------------------------------------------
-// From linux-2.6/arch/s390/include/asm/unistd.h
+// From linux-3.16/arch/s390/include/uapi/asm/unistd.h
//----------------------------------------------------------------------
/*
@@ -307,7 +307,13 @@
#define __NR_setns 339
#define __NR_process_vm_readv 340
#define __NR_process_vm_writev 341
-#define NR_syscalls 342
+#define __NR_s390_runtime_instr 342
+#define __NR_kcmp 343
+#define __NR_finit_module 344
+#define __NR_sched_setattr 345
+#define __NR_sched_getattr 346
+#define __NR_renameat2 347
+#define NR_syscalls 348
/*
* There are some system calls that are not present on 64 bit, some
|
|
From: <sv...@va...> - 2014-09-04 18:38:06
|
Author: florian
Date: Thu Sep 4 18:37:56 2014
New Revision: 14460
Log:
Revert an accidentally checked in change.
Modified:
trunk/docs/Makefile.am
Modified: trunk/docs/Makefile.am
==============================================================================
--- trunk/docs/Makefile.am (original)
+++ trunk/docs/Makefile.am Thu Sep 4 18:37:56 2014
@@ -7,7 +7,7 @@
# Comment out the next line to skip building print docs. The default
# is not to skip building print docs. Note, after changing it
# you need to re-run autogen.sh and configure to make it take effect.
-# BUILD_ALL_DOCS=yes
+BUILD_ALL_DOCS=yes
##-------------------------------------------------------------
## END OF HACK
|
|
From: <sv...@va...> - 2014-09-04 18:37:10
|
Author: florian
Date: Thu Sep 4 18:37:02 2014
New Revision: 14459
Log:
Add a few more tasks to consider.
Modified:
trunk/docs/Makefile.am
trunk/docs/internals/release-HOWTO.txt
Modified: trunk/docs/Makefile.am
==============================================================================
--- trunk/docs/Makefile.am (original)
+++ trunk/docs/Makefile.am Thu Sep 4 18:37:02 2014
@@ -7,7 +7,7 @@
# Comment out the next line to skip building print docs. The default
# is not to skip building print docs. Note, after changing it
# you need to re-run autogen.sh and configure to make it take effect.
-BUILD_ALL_DOCS=yes
+# BUILD_ALL_DOCS=yes
##-------------------------------------------------------------
## END OF HACK
Modified: trunk/docs/internals/release-HOWTO.txt
==============================================================================
--- trunk/docs/internals/release-HOWTO.txt (original)
+++ trunk/docs/internals/release-HOWTO.txt Thu Sep 4 18:37:02 2014
@@ -51,6 +51,12 @@
- Add "wantedX.Y.Z+1" and "wantedX.Y+1.Z" milestones to Bugzilla.
+- Check whether copyright years need updating.
+ If so, run auxprogs/change-copyright-year in the top of the tree.
+
+- Consider upgrading the C++ demangler.
+ auxprogs/update-demangler helps with that
+
For each release candidate (should do release candidates for feature
releases, bug-fix-only releases might not need one):
|
|
From: <sv...@va...> - 2014-09-04 17:35:10
|
Author: petarj
Date: Thu Sep 4 17:34:56 2014
New Revision: 2944
Log:
mips64: fix jmpKind for BLTZ and BGEZ
As spotted by Maran Pakkirisamy, jump kind for BLTZ and BGEZ should be
Ijk_Boring and not Ijk_Call.
Modified:
trunk/priv/guest_mips_toIR.c
Modified: trunk/priv/guest_mips_toIR.c
==============================================================================
--- trunk/priv/guest_mips_toIR.c (original)
+++ trunk/priv/guest_mips_toIR.c Thu Sep 4 17:34:56 2014
@@ -2110,7 +2110,7 @@
eCond = binop(mkSzOp(ty, Iop_CmpNE8), mkexpr(tmpLt),
mkexpr(tmpReg0));
- jmpKind = Ijk_Call;
+ jmpKind = Ijk_Boring;
break;
}
@@ -2125,7 +2125,7 @@
eCond = binop(mkSzOp(ty, Iop_CmpEQ8), mkexpr(tmpLt),
mkexpr(tmpReg0));
- jmpKind = Ijk_Call;
+ jmpKind = Ijk_Boring;
break;
}
|
|
From: <sv...@va...> - 2014-09-04 11:45:42
|
Author: sewardj
Date: Thu Sep 4 11:45:26 2014
New Revision: 14458
Log:
arm64: enable test cases for str bN, [reg, reg etc] and str hN, [reg,
reg etc]. Pertaining to #337762, vex r2943.
Modified:
trunk/none/tests/arm64/memory.c
trunk/none/tests/arm64/memory.stdout.exp
Modified: trunk/none/tests/arm64/memory.c
==============================================================================
--- trunk/none/tests/arm64/memory.c (original)
+++ trunk/none/tests/arm64/memory.c Thu Sep 4 11:45:26 2014
@@ -589,7 +589,6 @@
MEM_TEST("ldr s17, [x5, w6, sxtw]", 12, 4);
MEM_TEST("ldr s17, [x5, w6, sxtw #2]", 12, -4);
-#if 0
MEM_TEST("str h17, [x5, x6]", 12, -4);
MEM_TEST("str h17, [x5, x6, lsl #1]", 12, -4);
MEM_TEST("str h17, [x5, w6, uxtw]", 12, 4);
@@ -615,7 +614,6 @@
MEM_TEST("ldr b17, [x5, w6, uxtw #0]", 12, 4);
MEM_TEST("ldr b17, [x5, w6, sxtw]", 12, 4);
MEM_TEST("ldr b17, [x5, w6, sxtw #0]", 12, -4);
-#endif
////////////////////////////////////////////////////////////////
printf("LDRS{B,H,W} (integer register, SX)\n");
Modified: trunk/none/tests/arm64/memory.stdout.exp
==============================================================================
--- trunk/none/tests/arm64/memory.stdout.exp (original)
+++ trunk/none/tests/arm64/memory.stdout.exp Thu Sep 4 11:45:26 2014
@@ -4007,6 +4007,726 @@
0 x5 (sub, base reg)
0 x6 (sub, index reg)
+str h17, [x5, x6] with x5 = middle_of_block+12, x6=-4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. d9 84 .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 0000000000000000 v17.d[0] (xor, xfer vecreg #1)
+ 0000000000000000 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+str h17, [x5, x6, lsl #1] with x5 = middle_of_block+12, x6=-4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. a9 98 .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 0000000000000000 v17.d[0] (xor, xfer vecreg #1)
+ 0000000000000000 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+str h17, [x5, w6, uxtw] with x5 = middle_of_block+12, x6=4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] 2c 25 .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 0000000000000000 v17.d[0] (xor, xfer vecreg #1)
+ 0000000000000000 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+str h17, [x5, w6, uxtw #1] with x5 = middle_of_block+12, x6=4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. c3 7f .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 0000000000000000 v17.d[0] (xor, xfer vecreg #1)
+ 0000000000000000 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+str h17, [x5, w6, sxtw] with x5 = middle_of_block+12, x6=4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] 28 75 .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 0000000000000000 v17.d[0] (xor, xfer vecreg #1)
+ 0000000000000000 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+str h17, [x5, w6, sxtw #1] with x5 = middle_of_block+12, x6=-4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. 92 d2 .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 0000000000000000 v17.d[0] (xor, xfer vecreg #1)
+ 0000000000000000 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+ldr h17, [x5, x6] with x5 = middle_of_block+12, x6=-4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ d4026e495c0bc705 v17.d[0] (xor, xfer vecreg #1)
+ 095d12c1d2eff385 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+ldr h17, [x5, x6, lsl #1] with x5 = middle_of_block+12, x6=-4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 6aa53ab8bb2197e9 v17.d[0] (xor, xfer vecreg #1)
+ b385aca0bf4b9e22 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+ldr h17, [x5, w6, uxtw] with x5 = middle_of_block+12, x6=4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 3e6c54815fb41ceb v17.d[0] (xor, xfer vecreg #1)
+ 7e79af58033aa46b v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+ldr h17, [x5, w6, uxtw #1] with x5 = middle_of_block+12, x6=4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 14cc1f374977a711 v17.d[0] (xor, xfer vecreg #1)
+ ae2dfffc22f127b4 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+ldr h17, [x5, w6, sxtw] with x5 = middle_of_block+12, x6=4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ b039006f7f1f742b v17.d[0] (xor, xfer vecreg #1)
+ 86947fa19fa34d52 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+ldr h17, [x5, w6, sxtw #1] with x5 = middle_of_block+12, x6=-4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ d6275abd045ffef5 v17.d[0] (xor, xfer vecreg #1)
+ 4ca4145bfe843997 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+str b17, [x5, x6] with x5 = middle_of_block+12, x6=-4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. 57 .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 0000000000000000 v17.d[0] (xor, xfer vecreg #1)
+ 0000000000000000 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+str b17, [x5, x6, lsl #0] with x5 = middle_of_block+12, x6=-4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. 90 .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 0000000000000000 v17.d[0] (xor, xfer vecreg #1)
+ 0000000000000000 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+str b17, [x5, w6, uxtw] with x5 = middle_of_block+12, x6=4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] 39 .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 0000000000000000 v17.d[0] (xor, xfer vecreg #1)
+ 0000000000000000 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+str b17, [x5, w6, uxtw #0] with x5 = middle_of_block+12, x6=4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] 56 .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 0000000000000000 v17.d[0] (xor, xfer vecreg #1)
+ 0000000000000000 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+str b17, [x5, w6, sxtw] with x5 = middle_of_block+12, x6=4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] c4 .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 0000000000000000 v17.d[0] (xor, xfer vecreg #1)
+ 0000000000000000 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+str b17, [x5, w6, sxtw #0] with x5 = middle_of_block+12, x6=-4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. 19 .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 0000000000000000 v17.d[0] (xor, xfer vecreg #1)
+ 0000000000000000 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+ldr b17, [x5, x6] with x5 = middle_of_block+12, x6=-4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 41d5efcda6de2156 v17.d[0] (xor, xfer vecreg #1)
+ e9813744a9ef2675 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+ldr b17, [x5, x6, lsl #0] with x5 = middle_of_block+12, x6=-4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 451b26983632a3b0 v17.d[0] (xor, xfer vecreg #1)
+ a5208074ab9d52cc v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+ldr b17, [x5, w6, uxtw] with x5 = middle_of_block+12, x6=4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ b7f65aad3a726561 v17.d[0] (xor, xfer vecreg #1)
+ b2fce36c334d89c0 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+ldr b17, [x5, w6, uxtw #0] with x5 = middle_of_block+12, x6=4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 5bd9f1a0b4530a92 v17.d[0] (xor, xfer vecreg #1)
+ 54074141c636eda4 v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+ldr b17, [x5, w6, sxtw] with x5 = middle_of_block+12, x6=4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ f53a4c05aa893694 v17.d[0] (xor, xfer vecreg #1)
+ cf378107e789a4cc v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
+ldr b17, [x5, w6, sxtw #0] with x5 = middle_of_block+12, x6=-4
+ [ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 16] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 32] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 48] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ [240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
+ 0000000000000000 x13 (xor, xfer intreg #1)
+ 0000000000000000 x23 (xor, xfer intreg #2)
+ 498cd26f20c78e01 v17.d[0] (xor, xfer vecreg #1)
+ 667e85d11a7cd18c v17.d[1] (xor, xfer vecreg #1)
+ 0000000000000000 v18.d[0] (xor, xfer vecreg #2)
+ 0000000000000000 v18.d[1] (xor, xfer vecreg #2)
+ 0000000000000000 v19.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v19.d[1] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[0] (xor, xfer vecreg #3)
+ 0000000000000000 v20.d[1] (xor, xfer vecreg #3)
+ 0 x5 (sub, base reg)
+ 0 x6 (sub, index reg)
+
LDRS{B,H,W} (integer register, SX)
ldrsw x13, [x5,x6] with x5 = middle_of_block+12, x6=-4
[ 0] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
@@ -4025,7 +4745,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 4991809b592766de x13 (xor, xfer intreg #1)
+ 45283e5489578bad x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4055,7 +4775,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- ecab746191e71575 x13 (xor, xfer intreg #1)
+ 38a305c49938b487 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4085,7 +4805,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 22a74ae38fee367e x13 (xor, xfer intreg #1)
+ 55d009793f6420d6 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4115,7 +4835,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 1cd6637ce5e8e8da x13 (xor, xfer intreg #1)
+ b01695c953ae6f8a x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4145,7 +4865,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 9eab24c24f0ac55c x13 (xor, xfer intreg #1)
+ 607cc36833167627 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4175,7 +4895,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 6c9cf046e9a2bfa3 x13 (xor, xfer intreg #1)
+ 39eb4f850cc79ba6 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4205,7 +4925,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- b5e3d360b748922c x13 (xor, xfer intreg #1)
+ 42c23127cfc887a0 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4235,7 +4955,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- fb9f3c5f3b2bddc4 x13 (xor, xfer intreg #1)
+ 807c4710d2a76a71 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4265,7 +4985,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- ba667ce49472fbca x13 (xor, xfer intreg #1)
+ 49720b298caae7b8 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4295,7 +5015,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- ea7d6667dd92cdf2 x13 (xor, xfer intreg #1)
+ a7699d0ab48417a3 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4325,7 +5045,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- afc148d693ed6288 x13 (xor, xfer intreg #1)
+ e67b59bc63148b29 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4355,7 +5075,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 58d88efd9452995d x13 (xor, xfer intreg #1)
+ 31ad8decd3c3706e x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4385,7 +5105,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- a8359b70e176717b x13 (xor, xfer intreg #1)
+ 8b4666106a2b3d08 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4415,7 +5135,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 654ed4c3800da87c x13 (xor, xfer intreg #1)
+ 13d6e5cba693fd33 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4445,7 +5165,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 51959d8974ca561f x13 (xor, xfer intreg #1)
+ 2c7554dbfdb54557 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4475,7 +5195,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 32805957c26143f5 x13 (xor, xfer intreg #1)
+ 999716d25bb7ce2f x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4505,7 +5225,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- ca816dc1927863b6 x13 (xor, xfer intreg #1)
+ 1db091457728f8cd x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4535,7 +5255,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- de0e3d5a79ef9f53 x13 (xor, xfer intreg #1)
+ 7d3326c8ac434998 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4565,7 +5285,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- ce66d34814b16659 x13 (xor, xfer intreg #1)
+ 7d963ceef526ab13 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4595,7 +5315,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 89989f6cc65775a1 x13 (xor, xfer intreg #1)
+ e14c354c601b31f6 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4625,7 +5345,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 578206f2f140e49e x13 (xor, xfer intreg #1)
+ 6dc87576994ee1f1 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4655,7 +5375,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 54bd9f2dc8392d13 x13 (xor, xfer intreg #1)
+ e4806100a3735e28 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4685,7 +5405,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- b0320b9e0885afab x13 (xor, xfer intreg #1)
+ 0ce65d7d823f4bb6 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4715,7 +5435,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- a1e0a2c260cad60b x13 (xor, xfer intreg #1)
+ 588f337dc59ab1e9 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4745,7 +5465,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 45283e54c51f5bad x13 (xor, xfer intreg #1)
+ 7a9013a2d09a0a55 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4775,7 +5495,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- c75cfa3b6ceb89d9 x13 (xor, xfer intreg #1)
+ 49bc9573b76ddc40 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4805,7 +5525,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- aa2ff686984d59d6 x13 (xor, xfer intreg #1)
+ d866b8875bffc2ee x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4835,7 +5555,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- b01695c9b1059196 x13 (xor, xfer intreg #1)
+ ea03dd73156703fa x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4865,7 +5585,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 9f833c9791a66c27 x13 (xor, xfer intreg #1)
+ 45086acae1f0fbe8 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4895,7 +5615,7 @@
[208] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[224] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 39eb4f856504f7ce x13 (xor, xfer intreg #1)
+ abe7c322bde705a0 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
0000000000000000 v17.d[0] (xor, xfer vecreg #1)
0000000000000000 v17.d[1] (xor, xfer vecreg #1)
@@ -4917,7 +5637,7 @@
[ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- [112] 7b 5d 69 f7 64 8c 79 47 6f 8f 57 84 7b c3 9c 9f
+ [112] 96 01 58 13 1a 26 4d ce 69 8a 7e ae d3 d6 ca f5
[128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
@@ -4947,7 +5667,7 @@
[ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- [112] 42 cd cc 36 af 70 5a 49 .. .. .. .. .. .. .. ..
+ [112] 8c 9f 74 8b 6b 91 41 e0 .. .. .. .. .. .. .. ..
[128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
@@ -4977,7 +5697,7 @@
[ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- [112] 8d 06 22 df .. .. .. .. .. .. .. .. .. .. .. ..
+ [112] 87 86 06 ee .. .. .. .. .. .. .. .. .. .. .. ..
[128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[144] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
@@ -5018,8 +5738,8 @@
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
0000000000000000 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
- eedbb4bf846226cd v17.d[0] (xor, xfer vecreg #1)
- 94094b6d188de7fa v17.d[1] (xor, xfer vecreg #1)
+ d3cd22184a47bb9d v17.d[0] (xor, xfer vecreg #1)
+ d605cfe1a39c09de v17.d[1] (xor, xfer vecreg #1)
0000000000000000 v18.d[0] (xor, xfer vecreg #2)
0000000000000000 v18.d[1] (xor, xfer vecreg #2)
0000000000000000 v19.d[0] (xor, xfer vecreg #3)
@@ -5048,8 +5768,8 @@
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
0000000000000000 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
- 029fcee15d9319f2 v17.d[0] (xor, xfer vecreg #1)
- 50541814802369e6 v17.d[1] (xor, xfer vecreg #1)
+ 34b6e1555effb1b9 v17.d[0] (xor, xfer vecreg #1)
+ 01020725a8723bf8 v17.d[1] (xor, xfer vecreg #1)
0000000000000000 v18.d[0] (xor, xfer vecreg #2)
0000000000000000 v18.d[1] (xor, xfer vecreg #2)
0000000000000000 v19.d[0] (xor, xfer vecreg #3)
@@ -5078,8 +5798,8 @@
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
0000000000000000 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
- 86bcef9905c6716d v17.d[0] (xor, xfer vecreg #1)
- fa13cb2fc8681760 v17.d[1] (xor, xfer vecreg #1)
+ 5c7f1b53537e6e10 v17.d[0] (xor, xfer vecreg #1)
+ 8f71d8a1d71aaba8 v17.d[1] (xor, xfer vecreg #1)
0000000000000000 v18.d[0] (xor, xfer vecreg #2)
0000000000000000 v18.d[1] (xor, xfer vecreg #2)
0000000000000000 v19.d[0] (xor, xfer vecreg #3)
@@ -5100,7 +5820,7 @@
[ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- [144] 3a fc f2 7c 33 4d e6 bb 98 8b 63 7d c8 cc ed c5
+ [144] ad 0d ad e1 5c 80 83 18 02 ab 2e 69 2a af 3c ea
[160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
@@ -5130,7 +5850,7 @@
[ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- [144] d6 89 52 b2 c9 1c 8f 84 .. .. .. .. .. .. .. ..
+ [144] 97 67 e8 f0 19 74 5f 91 .. .. .. .. .. .. .. ..
[160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
@@ -5160,7 +5880,7 @@
[ 96] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[112] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[128] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- [144] 61 9d 73 ee .. .. .. .. .. .. .. .. .. .. .. ..
+ [144] f1 c7 64 85 .. .. .. .. .. .. .. .. .. .. .. ..
[160] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[176] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[192] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
@@ -5199,8 +5919,8 @@
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
0000000000000000 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
- f3e66911400e0ffd v17.d[0] (xor, xfer vecreg #1)
- bceee589d845dc5c v17.d[1] (xor, xfer vecreg #1)
+ eee88871503205b7 v17.d[0] (xor, xfer vecreg #1)
+ 9daa3c92e17f7ace v17.d[1] (xor, xfer vecreg #1)
0000000000000000 v18.d[0] (xor, xfer vecreg #2)
0000000000000000 v18.d[1] (xor, xfer vecreg #2)
0000000000000000 v19.d[0] (xor, xfer vecreg #3)
@@ -5229,8 +5949,8 @@
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
0000000000000000 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
- 476d9e9cc8b9ac0a v17.d[0] (xor, xfer vecreg #1)
- 17224cc91cc3a43e v17.d[1] (xor, xfer vecreg #1)
+ 7ff4db28862129d8 v17.d[0] (xor, xfer vecreg #1)
+ c10b90425585a4b0 v17.d[1] (xor, xfer vecreg #1)
0000000000000000 v18.d[0] (xor, xfer vecreg #2)
0000000000000000 v18.d[1] (xor, xfer vecreg #2)
0000000000000000 v19.d[0] (xor, xfer vecreg #3)
@@ -5259,8 +5979,8 @@
[240] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
0000000000000000 x13 (xor, xfer intreg #1)
0000000000000000 x23 (xor, xfer intreg #2)
- 20d04ccbe8ce283b v17.d[0] (xor, xfer vecreg #1)
- 22146e45c5a92bce v17.d[1] (xor, xfer vecreg #1)
+ 801fddbc0ac03507 v17.d[0] (xor, xfer vecreg #1)
+ f0ed115e260e2db5 v17.d[1] (xor, xfer vecreg #1)
0000000000000000 v18.d[0] (xor, xfer vecreg #2)
0000000000000000 v18.d[1] (xor, xfer vecreg #2)
0000000000000000 v19.d[0] (xor, xfer vecreg #3)
@@ -5278,7 +5998,7 @@
[ 64] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
[ 80] .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ...
[truncated message content] |
|
From: <sv...@va...> - 2014-09-04 11:44:15
|
Author: sewardj
Date: Thu Sep 4 11:44:03 2014
New Revision: 2943
Log:
arm64: enable support for: str bN, [reg, reg etc]
and str hN, [reg, reg etc]. Fixes #337762.
Modified:
trunk/priv/guest_arm64_toIR.c
Modified: trunk/priv/guest_arm64_toIR.c
==============================================================================
--- trunk/priv/guest_arm64_toIR.c (original)
+++ trunk/priv/guest_arm64_toIR.c Thu Sep 4 11:44:03 2014
@@ -4399,7 +4399,6 @@
putQRegLO(tt, loadLE(Ity_I8, mkexpr(ea)));
DIP("ldr %s, %s\n", nameQRegLO(tt, Ity_I8), dis_buf);
} else {
- vassert(0); //ATC
storeLE(mkexpr(ea), getQRegLO(tt, Ity_I8));
DIP("str %s, %s\n", nameQRegLO(tt, Ity_I8), dis_buf);
}
@@ -4410,7 +4409,6 @@
putQRegLO(tt, loadLE(Ity_I16, mkexpr(ea)));
DIP("ldr %s, %s\n", nameQRegLO(tt, Ity_I16), dis_buf);
} else {
- vassert(0); //ATC
storeLE(mkexpr(ea), getQRegLO(tt, Ity_I16));
DIP("str %s, %s\n", nameQRegLO(tt, Ity_I16), dis_buf);
}
|
|
From: <sv...@va...> - 2014-09-04 11:28:21
|
Author: sewardj
Date: Thu Sep 4 11:28:11 2014
New Revision: 14457
Log:
Fix off-by-one error in size of coredumps. Patch from Ivo Raisr
(iv...@iv...). Fixes #338300.
Modified:
trunk/coregrind/m_coredump/coredump-elf.c
Modified: trunk/coregrind/m_coredump/coredump-elf.c
==============================================================================
--- trunk/coregrind/m_coredump/coredump-elf.c (original)
+++ trunk/coregrind/m_coredump/coredump-elf.c Thu Sep 4 11:28:11 2014
@@ -112,7 +112,7 @@
static void fill_phdr(ESZ(Phdr) *phdr, const NSegment *seg, UInt off, Bool write)
{
- SizeT len = seg->end - seg->start;
+ SizeT len = seg->end - seg->start + 1;
write = write && should_dump(seg);
@@ -700,7 +700,7 @@
continue;
fill_phdr(&phdrs[idx], seg, off,
- (seg->end - seg->start + off) < max_size);
+ (seg->end - seg->start + 1 + off) < max_size);
off += phdrs[idx].p_filesz;
@@ -725,7 +725,7 @@
if (phdrs[idx].p_filesz > 0) {
vg_assert(VG_(lseek)(core_fd, phdrs[idx].p_offset, VKI_SEEK_SET)
== phdrs[idx].p_offset);
- vg_assert(seg->end - seg->start >= phdrs[idx].p_filesz);
+ vg_assert(seg->end - seg->start + 1 >= phdrs[idx].p_filesz);
(void)VG_(write)(core_fd, (void *)seg->start, phdrs[idx].p_filesz);
}
|
|
From: <sv...@va...> - 2014-09-04 11:22:40
|
Author: sewardj
Date: Thu Sep 4 11:22:31 2014
New Revision: 14456
Log:
arm64-linux: enable sys_mlock, sys_mlockall. Fixes #337766.
Modified:
trunk/coregrind/m_syswrap/syswrap-arm64-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-arm64-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm64-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-arm64-linux.c Thu Sep 4 11:22:31 2014
@@ -1013,6 +1013,8 @@
PLAX_(__NR3264_fadvise64, sys_fadvise64), // 223
GENXY(__NR_mprotect, sys_mprotect), // 226
+ GENX_(__NR_mlock, sys_mlock), // 228
+ GENX_(__NR_mlockall, sys_mlockall), // 230
GENX_(__NR_madvise, sys_madvise), // 233
GENXY(__NR_wait4, sys_wait4), // 260
@@ -1178,9 +1180,7 @@
//ZZ GENX_(__NR_fdatasync, sys_fdatasync), // 148
//ZZ LINXY(__NR__sysctl, sys_sysctl), // 149
//ZZ
-//ZZ GENX_(__NR_mlock, sys_mlock), // 150
//ZZ GENX_(__NR_munlock, sys_munlock), // 151
-//ZZ GENX_(__NR_mlockall, sys_mlockall), // 152
//ZZ LINX_(__NR_munlockall, sys_munlockall), // 153
//ZZ LINXY(__NR_sched_setparam, sys_sched_setparam), // 154
//ZZ
|
|
From: <sv...@va...> - 2014-09-04 11:09:03
|
Author: sewardj
Date: Thu Sep 4 11:08:45 2014
New Revision: 14455
Log:
Patch adding support for V4L2/media ioctls. Patch from Hans Verkuil
(hve...@xs...). Fixes #338023.
Modified:
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/include/vki/vki-linux.h
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c Thu Sep 4 11:08:45 2014
@@ -5424,6 +5424,9 @@
/* InfiniBand */
case VKI_IB_USER_MAD_ENABLE_PKEY:
+
+ /* V4L2 */
+ case VKI_V4L2_LOG_STATUS:
PRINT("sys_ioctl ( %ld, 0x%lx )",ARG1,ARG2);
PRE_REG_READ2(long, "ioctl",
unsigned int, fd, unsigned int, request);
@@ -7150,6 +7153,956 @@
sizeof(struct vki_getinfo_fid2path));
break;
+ /* V4L2 */
+ case VKI_V4L2_QUERYCAP: {
+ struct vki_v4l2_capability *data = (struct vki_v4l2_capability *)ARG3;
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_QUERYCAP)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_ENUM_FMT: {
+ struct vki_v4l2_fmtdesc *data = (struct vki_v4l2_fmtdesc *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_FMT).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_FMT).type", data->type);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_ENUM_FMT).flags", data->flags);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_ENUM_FMT).description", data->description);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_ENUM_FMT).pixelformat", data->pixelformat);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_ENUM_FMT).reserved", data->reserved);
+ break;
+ }
+ case VKI_V4L2_G_FMT: {
+ struct vki_v4l2_format *data = (struct vki_v4l2_format *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_FMT).type", data->type);
+ switch (data->type) {
+ case VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_FMT).fmt.pix.priv", data->fmt.pix.priv);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_FMT).fmt.pix", data->fmt.pix);
+ PRE_MEM_READ("ioctl(VKI_V4L2_G_FMT)",
+ (Addr)&data->type + sizeof(data->type) + sizeof(data->fmt.pix),
+ sizeof(*data) - sizeof(data->type) - sizeof(data->fmt.pix));
+ break;
+ case VKI_V4L2_BUF_TYPE_VBI_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_VBI_OUTPUT:
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_FMT).fmt.vbi", data->fmt.vbi);
+ break;
+ case VKI_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_FMT).fmt.sliced", data->fmt.sliced);
+ break;
+ case VKI_V4L2_BUF_TYPE_VIDEO_OVERLAY:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_FMT).fmt.win.clips", data->fmt.win.clips);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_FMT).fmt.win.bitmap", data->fmt.win.bitmap);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_FMT).fmt.win.clipcount", data->fmt.win.clipcount);
+ if (data->fmt.win.clipcount && data->fmt.win.clips)
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_FMT).fmt.win.clips[]",
+ (Addr)data->fmt.win.clips,
+ data->fmt.win.clipcount * sizeof(data->fmt.win.clips[0]));
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_FMT).fmt.win.clipcount", data->fmt.win.clipcount);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_FMT).fmt.win.w", data->fmt.win.w);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_FMT).fmt.win.field", data->fmt.win.field);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_FMT).fmt.win.chromakey", data->fmt.win.chromakey);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_FMT).fmt.win.global_alpha", data->fmt.win.global_alpha);
+ break;
+ case VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE:
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_FMT).fmt.pix_mp", data->fmt.pix_mp);
+ break;
+ case VKI_V4L2_BUF_TYPE_SDR_CAPTURE:
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_FMT).fmt.sdr", data->fmt.sdr);
+ break;
+ }
+ break;
+ }
+ case VKI_V4L2_S_FMT: {
+ struct vki_v4l2_format *data = (struct vki_v4l2_format *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_FMT).type", data->type);
+ switch (data->type) {
+ case VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT:
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_FMT)",
+ (Addr)&data->type + sizeof(data->type),
+ sizeof(*data) - sizeof(data->type));
+ break;
+ case VKI_V4L2_BUF_TYPE_VBI_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_VBI_OUTPUT:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_FMT).fmt.vbi", data->fmt.vbi);
+ break;
+ case VKI_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_FMT).fmt.sliced", data->fmt.sliced);
+ break;
+ case VKI_V4L2_BUF_TYPE_VIDEO_OVERLAY:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_FMT).fmt.win", data->fmt.win);
+ if (data->fmt.win.clipcount && data->fmt.win.clips)
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_FMT).fmt.win.clips[]",
+ (Addr)data->fmt.win.clips,
+ data->fmt.win.clipcount * sizeof(data->fmt.win.clips[0]));
+ if (data->fmt.win.bitmap)
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_FMT).fmt.win.bitmap[]",
+ (Addr)data->fmt.win.bitmap,
+ data->fmt.win.w.height * ((data->fmt.win.w.width + 7) / 8));
+ break;
+ case VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_FMT).fmt.pix_mp", data->fmt.pix_mp);
+ break;
+ case VKI_V4L2_BUF_TYPE_SDR_CAPTURE:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_FMT).fmt.sdr", data->fmt.sdr);
+ break;
+ }
+ break;
+ }
+ case VKI_V4L2_TRY_FMT: {
+ struct vki_v4l2_format *data = (struct vki_v4l2_format *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_TRY_FMT).type", data->type);
+ switch (data->type) {
+ case VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT:
+ PRE_MEM_READ("ioctl(VKI_V4L2_TRY_FMT)",
+ (Addr)&data->type + sizeof(data->type),
+ sizeof(*data) - sizeof(data->type));
+ break;
+ case VKI_V4L2_BUF_TYPE_VBI_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_VBI_OUTPUT:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_TRY_FMT).fmt.vbi", data->fmt.vbi);
+ break;
+ case VKI_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_TRY_FMT).fmt.sliced", data->fmt.sliced);
+ break;
+ case VKI_V4L2_BUF_TYPE_VIDEO_OVERLAY:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_TRY_FMT).fmt.win", data->fmt.win);
+ if (data->fmt.win.clipcount && data->fmt.win.clips)
+ PRE_MEM_READ("ioctl(VKI_V4L2_TRY_FMT).fmt.win.clips[]",
+ (Addr)data->fmt.win.clips,
+ data->fmt.win.clipcount * sizeof(data->fmt.win.clips[0]));
+ if (data->fmt.win.bitmap)
+ PRE_MEM_READ("ioctl(VKI_V4L2_TRY_FMT).fmt.win.bitmap[]",
+ (Addr)data->fmt.win.bitmap,
+ data->fmt.win.w.height * ((data->fmt.win.w.width + 7) / 8));
+ break;
+ case VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_TRY_FMT).fmt.pix_mp", data->fmt.pix_mp);
+ break;
+ case VKI_V4L2_BUF_TYPE_SDR_CAPTURE:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_TRY_FMT).fmt.sdr", data->fmt.sdr);
+ break;
+ }
+ break;
+ }
+ case VKI_V4L2_REQBUFS: {
+ struct vki_v4l2_requestbuffers *data = (struct vki_v4l2_requestbuffers *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_REQBUFS)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_QUERYBUF: {
+ struct vki_v4l2_buffer *data = (struct vki_v4l2_buffer *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QUERYBUF).type", data->type);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QUERYBUF).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QUERYBUF).reserved", data->reserved);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QUERYBUF).reserved2", data->reserved2);
+ if (data->type == VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE ||
+ data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
+ unsigned i;
+
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QUERYBUF).length", data->length);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QUERYBUF).m.planes", data->m.planes);
+ for (i = 0; i < data->length; i++) {
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).m.planes[].bytesused", data->m.planes[i].bytesused);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).m.planes[].length", data->m.planes[i].length);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).m.planes[].m", data->m.planes[i].m);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).m.planes[].data_offset", data->m.planes[i].data_offset);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).m.planes[].reserved", data->m.planes[i].reserved);
+ }
+ } else {
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).m", data->m);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).length", data->length);
+ }
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).bytesused", data->bytesused);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).flags", data->flags);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).field", data->field);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).timestamp", data->timestamp);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).timecode", data->timecode);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).sequence", data->sequence);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).memory", data->memory);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QUERYBUF).sequence", data->sequence);
+ break;
+ }
+ case VKI_V4L2_G_FBUF: {
+ struct vki_v4l2_framebuffer *data = (struct vki_v4l2_framebuffer *)ARG3;
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_FBUF)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_S_FBUF: {
+ struct vki_v4l2_framebuffer *data = (struct vki_v4l2_framebuffer *)ARG3;
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_S_FBUF).capability", data->capability);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_FBUF).flags", data->flags);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_FBUF).base", data->base);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_FBUF).fmt", data->fmt);
+ break;
+ }
+ case VKI_V4L2_OVERLAY: {
+ int *data = (int *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_OVERLAY)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_QBUF: {
+ struct vki_v4l2_buffer *data = (struct vki_v4l2_buffer *)ARG3;
+ int is_output = data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT ||
+ data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE ||
+ data->type == VKI_V4L2_BUF_TYPE_VBI_OUTPUT ||
+ data->type == VKI_V4L2_BUF_TYPE_SLICED_VBI_OUTPUT;
+
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).type", data->type);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).flags", data->flags);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).memory", data->memory);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).reserved", data->reserved);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).reserved2", data->reserved2);
+ if (is_output) {
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).bytesused", data->bytesused);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).field", data->field);
+ }
+ if (data->type == VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE ||
+ data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
+ unsigned i;
+
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).length", data->length);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).m.planes", data->m.planes);
+ for (i = 0; i < data->length; i++) {
+ if (is_output) {
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).m.planes[].bytesused", data->m.planes[i].bytesused);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).m.planes[].data_offset", data->m.planes[i].data_offset);
+ }
+ if (data->memory == VKI_V4L2_MEMORY_MMAP)
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QBUF).m.planes[].m", data->m.planes[i].m);
+ else if (data->memory == VKI_V4L2_MEMORY_DMABUF)
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).m.planes[].m.fd", data->m.planes[i].m.fd);
+ else
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).m.planes[].m", data->m.planes[i].m);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).m.planes[].reserved", data->m.planes[i].reserved);
+ }
+ } else {
+ if (data->memory == VKI_V4L2_MEMORY_MMAP)
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_QBUF).m", data->m);
+ else if (data->memory == VKI_V4L2_MEMORY_DMABUF)
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).m.fd", data->m.fd);
+ else
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).m", data->m);
+ if (is_output) {
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).bytesused", data->bytesused);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).field", data->field);
+ }
+ }
+ if (is_output && (data->flags & VKI_V4L2_BUF_FLAG_TIMESTAMP_MASK) == VKI_V4L2_BUF_FLAG_TIMESTAMP_COPY) {
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).timestamp", data->timestamp);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QBUF).timecode", data->timecode);
+ }
+ break;
+ }
+ case VKI_V4L2_EXPBUF: {
+ struct vki_v4l2_exportbuffer *data = (struct vki_v4l2_exportbuffer *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_EXPBUF).type", data->type);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_EXPBUF).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_EXPBUF).plane", data->plane);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_EXPBUF).flags", data->flags);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_EXPBUF).fd", data->fd);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_EXPBUF).reserved", data->reserved);
+ break;
+ }
+ case VKI_V4L2_DQBUF: {
+ struct vki_v4l2_buffer *data = (struct vki_v4l2_buffer *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DQBUF).type", data->type);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DQBUF).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DQBUF).memory", data->memory);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DQBUF).reserved", data->reserved);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DQBUF).reserved2", data->reserved2);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DQBUF).bytesused", data->bytesused);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DQBUF).field", data->field);
+ if (data->type == VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE ||
+ data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
+ unsigned i;
+
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DQBUF).length", data->length);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DQBUF).m.planes", data->m.planes);
+ for (i = 0; i < data->length; i++) {
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DQBUF).m.planes[].bytesused", data->m.planes[i].bytesused);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DQBUF).m.planes[].data_offset", data->m.planes[i].data_offset);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DQBUF).m.planes[].length", data->m.planes[i].length);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DQBUF).m.planes[].m", data->m.planes[i].m);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DQBUF).m.planes[].reserved", data->m.planes[i].reserved);
+ }
+ } else {
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DQBUF).m", data->m);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DQBUF).length", data->length);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DQBUF).bytesused", data->bytesused);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DQBUF).field", data->field);
+ }
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DQBUF).timestamp", data->timestamp);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DQBUF).timecode", data->timecode);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DQBUF).sequence", data->sequence);
+ break;
+ }
+ case VKI_V4L2_STREAMON: {
+ int *data = (int *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_STREAMON)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_STREAMOFF: {
+ int *data = (int *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_STREAMOFF)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_G_PARM: {
+ struct vki_v4l2_streamparm *data = (struct vki_v4l2_streamparm *)ARG3;
+ int is_output = data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT ||
+ data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE ||
+ data->type == VKI_V4L2_BUF_TYPE_VBI_OUTPUT ||
+ data->type == VKI_V4L2_BUF_TYPE_SLICED_VBI_OUTPUT;
+
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_PARM).type", data->type);
+ if (is_output) {
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_PARM)", (Addr)&data->parm.output,
+ sizeof(data->parm.output) - sizeof(data->parm.output.reserved));
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_PARM).parm.output.reserved", data->parm.output.reserved);
+ } else {
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_PARM)", (Addr)&data->parm.capture,
+ sizeof(data->parm.capture) - sizeof(data->parm.capture.reserved));
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_PARM).parm.capture.reserved", data->parm.capture.reserved);
+ }
+ break;
+ }
+ case VKI_V4L2_S_PARM: {
+ struct vki_v4l2_streamparm *data = (struct vki_v4l2_streamparm *)ARG3;
+ int is_output = data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT ||
+ data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE ||
+ data->type == VKI_V4L2_BUF_TYPE_VBI_OUTPUT ||
+ data->type == VKI_V4L2_BUF_TYPE_SLICED_VBI_OUTPUT;
+
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_PARM).type", data->type);
+ if (is_output)
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_PARM).parm.output", data->parm.output);
+ else
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_PARM).parm.capture", data->parm.capture);
+ break;
+ }
+ case VKI_V4L2_G_STD: {
+ vki_v4l2_std_id *data = (vki_v4l2_std_id *)ARG3;
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_STD)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_S_STD: {
+ vki_v4l2_std_id *data = (vki_v4l2_std_id *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_STD)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_ENUMSTD: {
+ struct vki_v4l2_standard *data = (struct vki_v4l2_standard *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUMSTD).index", data->index);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_ENUMSTD)", (Addr)&data->id, sizeof(*data) - sizeof(data->index));
+ break;
+ }
+ case VKI_V4L2_ENUMINPUT: {
+ struct vki_v4l2_input *data = (struct vki_v4l2_input *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUMINPUT).index", data->index);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_ENUMINPUT)", (Addr)data->name, sizeof(*data) - sizeof(data->index));
+ break;
+ }
+ case VKI_V4L2_G_CTRL: {
+ struct vki_v4l2_control *data = (struct vki_v4l2_control *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_CTRL).id", data->id);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_CTRL).value", data->value);
+ break;
+ }
+ case VKI_V4L2_S_CTRL: {
+ struct vki_v4l2_control *data = (struct vki_v4l2_control *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_CTRL)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_G_TUNER: {
+ struct vki_v4l2_tuner *data = (struct vki_v4l2_tuner *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_TUNER).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_TUNER).reserved", data->reserved);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_TUNER)", (Addr)data->name,
+ sizeof(*data) - sizeof(data->index) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_V4L2_S_TUNER: {
+ struct vki_v4l2_tuner *data = (struct vki_v4l2_tuner *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_TUNER).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_TUNER).audmode", data->audmode);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_TUNER).reserved", data->reserved);
+ break;
+ }
+ case VKI_V4L2_G_AUDIO: {
+ struct vki_v4l2_audio *data = (struct vki_v4l2_audio *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_AUDIO).index", data->index);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_AUDIO)", (Addr)data->name,
+ sizeof(*data) - sizeof(data->index) - sizeof(data->reserved));
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_AUDIO).reserved", data->reserved);
+ break;
+ }
+ case VKI_V4L2_S_AUDIO: {
+ struct vki_v4l2_audio *data = (struct vki_v4l2_audio *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_AUDIO).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_AUDIO).mode", data->mode);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_AUDIO).reserved", data->reserved);
+ break;
+ }
+ case VKI_V4L2_QUERYCTRL: {
+ struct vki_v4l2_queryctrl *data = (struct vki_v4l2_queryctrl *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QUERYCTRL).id", data->id);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_QUERYCTRL)", (Addr)&data->type,
+ sizeof(*data) - sizeof(data->id));
+ break;
+ }
+ case VKI_V4L2_QUERYMENU: {
+ struct vki_v4l2_querymenu *data = (struct vki_v4l2_querymenu *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QUERYMENU).id", data->id);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QUERYMENU).index", data->index);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_QUERYMENU)", (Addr)data->name,
+ sizeof(*data) - sizeof(data->id) - sizeof(data->index));
+ break;
+ }
+ case VKI_V4L2_G_INPUT: {
+ int *data = (int *)ARG3;
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_INPUT)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_S_INPUT: {
+ int *data = (int *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_INPUT)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_G_EDID: {
+ struct vki_v4l2_edid *data = (struct vki_v4l2_edid *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_G_EDID)", (Addr)data, sizeof(*data));
+ if (data->blocks && data->edid)
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_EDID)", (Addr)data->edid, data->blocks * 128);
+ break;
+ }
+ case VKI_V4L2_S_EDID: {
+ struct vki_v4l2_edid *data = (struct vki_v4l2_edid *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_EDID)", (Addr)data, sizeof(*data));
+ if (data->blocks && data->edid)
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_EDID)", (Addr)data->edid, data->blocks * 128);
+ break;
+ }
+ case VKI_V4L2_G_OUTPUT: {
+ int *data = (int *)ARG3;
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_OUTPUT)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_S_OUTPUT: {
+ int *data = (int *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_OUTPUT)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_ENUMOUTPUT: {
+ struct vki_v4l2_output *data = (struct vki_v4l2_output *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUMOUTPUT).index", data->index);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_ENUMOUTPUT)", (Addr)data->name, sizeof(*data) - sizeof(data->index));
+ break;
+ }
+ case VKI_V4L2_G_AUDOUT: {
+ struct vki_v4l2_audioout *data = (struct vki_v4l2_audioout *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_AUDOUT).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_AUDOUT).reserved", data->reserved);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_AUDOUT)", (Addr)data->name,
+ sizeof(*data) - sizeof(data->index) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_V4L2_S_AUDOUT: {
+ struct vki_v4l2_audioout *data = (struct vki_v4l2_audioout *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_AUDOUT).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_AUDOUT).reserved", data->reserved);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_AUDOUT).mode", data->mode);
+ break;
+ }
+ case VKI_V4L2_G_MODULATOR: {
+ struct vki_v4l2_modulator *data = (struct vki_v4l2_modulator *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_MODULATOR).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_MODULATOR).reserved", data->reserved);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_MODULATOR)", (Addr)data->name,
+ sizeof(*data) - sizeof(data->index) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_V4L2_S_MODULATOR: {
+ struct vki_v4l2_modulator *data = (struct vki_v4l2_modulator *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_MODULATOR).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_MODULATOR).txsubchans", data->txsubchans);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_MODULATOR).reserved", data->reserved);
+ break;
+ }
+ case VKI_V4L2_G_FREQUENCY: {
+ struct vki_v4l2_frequency *data = (struct vki_v4l2_frequency *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_FREQUENCY).tuner", data->tuner);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_FREQUENCY).reserved", data->reserved);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_FREQUENCY).type", data->type);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_FREQUENCY).frequency", data->frequency);
+ break;
+ }
+ case VKI_V4L2_S_FREQUENCY: {
+ struct vki_v4l2_frequency *data = (struct vki_v4l2_frequency *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_FREQUENCY)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_CROPCAP: {
+ struct vki_v4l2_cropcap *data = (struct vki_v4l2_cropcap *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_CROPCAP)", data->type);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_CROPCAP)", (Addr)&data->bounds, sizeof(*data) - sizeof(data->type));
+ break;
+ }
+ case VKI_V4L2_G_CROP: {
+ struct vki_v4l2_crop *data = (struct vki_v4l2_crop *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_CROP).type", data->type);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_CROP).c", data->c);
+ break;
+ }
+ case VKI_V4L2_S_CROP: {
+ struct vki_v4l2_crop *data = (struct vki_v4l2_crop *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_CROP)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_G_JPEGCOMP: {
+ struct vki_v4l2_jpegcompression *data = (struct vki_v4l2_jpegcompression *)ARG3;
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_JPEGCOMP)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_S_JPEGCOMP: {
+ struct vki_v4l2_jpegcompression *data = (struct vki_v4l2_jpegcompression *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_JPEGCOMP)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_QUERYSTD: {
+ vki_v4l2_std_id *data = (vki_v4l2_std_id *)ARG3;
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_QUERYSTD)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_ENUMAUDIO: {
+ struct vki_v4l2_audio *data = (struct vki_v4l2_audio *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUMAUDIO).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUMAUDIO).reserved", data->reserved);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_ENUMAUDIO)", (Addr)data->name,
+ sizeof(*data) - sizeof(data->index) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_V4L2_ENUMAUDOUT: {
+ struct vki_v4l2_audioout *data = (struct vki_v4l2_audioout *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUMAUDOUT).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUMAUDOUT).reserved", data->reserved);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_ENUMAUDOUT)", (Addr)data->name,
+ sizeof(*data) - sizeof(data->index) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_V4L2_G_PRIORITY: {
+ __vki_u32 *data = (__vki_u32 *)ARG3;
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_PRIORITY)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_S_PRIORITY: {
+ __vki_u32 *data = (__vki_u32 *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_PRIORITY)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_G_SLICED_VBI_CAP: {
+ struct vki_v4l2_sliced_vbi_cap *data = (struct vki_v4l2_sliced_vbi_cap *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_SLICED_VBI_CAP).type", data->type);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_SLICED_VBI_CAP).reserved", data->reserved);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_SLICED_VBI_CAP)", (Addr)data,
+ sizeof(*data) - sizeof(data->type) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_V4L2_G_EXT_CTRLS: {
+ struct vki_v4l2_ext_controls *data = (struct vki_v4l2_ext_controls *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_EXT_CTRLS).ctrl_class", data->ctrl_class);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_EXT_CTRLS).count", data->count);
+ if (data->count) {
+ unsigned i;
+
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_EXT_CTRLS).controls", data->controls);
+ for (i = 0; i < data->count; i++) {
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_EXT_CTRLS).controls[].id", data->controls[i].id);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_EXT_CTRLS).controls[].size", data->controls[i].size);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_EXT_CTRLS).controls[].reserved2", data->controls[i].reserved2);
+ if (data->controls[i].size) {
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_EXT_CTRLS).controls[].ptr", data->controls[i].ptr);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_EXT_CTRLS).controls[].ptr[]",
+ (Addr)data->controls[i].ptr, data->controls[i].size);
+ } else {
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_EXT_CTRLS).controls[].value64",
+ data->controls[i].value64);
+ }
+ }
+ }
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_EXT_CTRLS).error_idx", data->error_idx);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_EXT_CTRLS).reserved", data->reserved);
+ break;
+ }
+ case VKI_V4L2_S_EXT_CTRLS: {
+ struct vki_v4l2_ext_controls *data = (struct vki_v4l2_ext_controls *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_EXT_CTRLS).ctrl_class", data->ctrl_class);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_EXT_CTRLS).count", data->count);
+ if (data->count) {
+ unsigned i;
+
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_EXT_CTRLS).controls", data->controls);
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_EXT_CTRLS)", (Addr)data->controls,
+ data->count * sizeof(data->controls[0]));
+ for (i = 0; i < data->count; i++) {
+ if (data->controls[i].size) {
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_EXT_CTRLS).controls[].ptr[]",
+ (Addr)data->controls[i].ptr, data->controls[i].size);
+ }
+ }
+ }
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_S_EXT_CTRLS).error_idx", data->error_idx);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_EXT_CTRLS).reserved", data->reserved);
+ break;
+ }
+ case VKI_V4L2_TRY_EXT_CTRLS: {
+ struct vki_v4l2_ext_controls *data = (struct vki_v4l2_ext_controls *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_TRY_EXT_CTRLS).ctrl_class", data->ctrl_class);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_TRY_EXT_CTRLS).count", data->count);
+ if (data->count) {
+ unsigned i;
+
+ PRE_FIELD_READ("ioctl(VKI_V4L2_TRY_EXT_CTRLS).controls", data->controls);
+ PRE_MEM_READ("ioctl(VKI_V4L2_TRY_EXT_CTRLS)", (Addr)data->controls,
+ data->count * sizeof(data->controls[0]));
+ for (i = 0; i < data->count; i++) {
+ if (data->controls[i].size) {
+ PRE_MEM_READ("ioctl(VKI_V4L2_TRY_EXT_CTRLS).controls[].ptr[]",
+ (Addr)data->controls[i].ptr, data->controls[i].size);
+ }
+ }
+ }
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_TRY_EXT_CTRLS).error_idx", data->error_idx);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_TRY_EXT_CTRLS).reserved", data->reserved);
+ break;
+ }
+ case VKI_V4L2_ENUM_FRAMESIZES: {
+ struct vki_v4l2_frmsizeenum *data = (struct vki_v4l2_frmsizeenum *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_FRAMESIZES).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_FRAMESIZES).pixel_format", data->pixel_format);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_FRAMESIZES).reserved", data->reserved);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_ENUM_FRAMESIZES).type", data->type);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_ENUM_FRAMESIZES).stepwise", data->stepwise);
+ break;
+ }
+ case VKI_V4L2_ENUM_FRAMEINTERVALS: {
+ struct vki_v4l2_frmivalenum *data = (struct vki_v4l2_frmivalenum *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_FRAMEINTERVALS).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_FRAMEINTERVALS).pixel_format", data->pixel_format);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_FRAMEINTERVALS).width", data->width);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_FRAMEINTERVALS).height", data->height);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_FRAMEINTERVALS).reserved", data->reserved);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_ENUM_FRAMEINTERVALS).type", data->type);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_ENUM_FRAMEINTERVALS).stepwise", data->stepwise);
+ break;
+ }
+ case VKI_V4L2_G_ENC_INDEX: {
+ struct vki_v4l2_enc_idx *data = (struct vki_v4l2_enc_idx *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_G_ENC_INDEX)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_ENCODER_CMD: {
+ struct vki_v4l2_encoder_cmd *data = (struct vki_v4l2_encoder_cmd *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_ENCODER_CMD)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_TRY_ENCODER_CMD: {
+ struct vki_v4l2_encoder_cmd *data = (struct vki_v4l2_encoder_cmd *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_TRY_ENCODER_CMD)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_DBG_S_REGISTER: {
+ struct vki_v4l2_dbg_register *data = (struct vki_v4l2_dbg_register *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DBG_S_REGISTER).match.type", data->match.type);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DBG_S_REGISTER).match.addr", data->match.addr);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DBG_S_REGISTER).reg", data->reg);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DBG_S_REGISTER).val", data->val);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DBG_S_REGISTER).size", data->size);
+ break;
+ }
+ case VKI_V4L2_DBG_G_REGISTER: {
+ struct vki_v4l2_dbg_register *data = (struct vki_v4l2_dbg_register *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DBG_G_REGISTER).match.type", data->match.type);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DBG_G_REGISTER).match.addr", data->match.addr);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DBG_G_REGISTER).reg", data->reg);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DBG_G_REGISTER).val", data->val);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DBG_G_REGISTER).size", data->size);
+ break;
+ }
+ case VKI_V4L2_S_HW_FREQ_SEEK: {
+ struct vki_v4l2_hw_freq_seek *data = (struct vki_v4l2_hw_freq_seek *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_HW_FREQ_SEEK)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_S_DV_TIMINGS: {
+ struct vki_v4l2_dv_timings *data = (struct vki_v4l2_dv_timings *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_DV_TIMINGS).type", data->type);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_S_DV_TIMINGS).bt", data->bt);
+ break;
+ }
+ case VKI_V4L2_G_DV_TIMINGS: {
+ struct vki_v4l2_dv_timings *data = (struct vki_v4l2_dv_timings *)ARG3;
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_G_DV_TIMINGS)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_DQEVENT: {
+ struct vki_v4l2_event *data = (struct vki_v4l2_event *)ARG3;
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_DQEVENT)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_SUBSCRIBE_EVENT: {
+ struct vki_v4l2_event_subscription *data = (struct vki_v4l2_event_subscription *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_SUBSCRIBE_EVENT)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_UNSUBSCRIBE_EVENT: {
+ struct vki_v4l2_event_subscription *data = (struct vki_v4l2_event_subscription *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_UNSUBSCRIBE_EVENT)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_CREATE_BUFS: {
+ struct vki_v4l2_create_buffers *data = (struct vki_v4l2_create_buffers *)ARG3;
+ struct vki_v4l2_format *fmt = &data->format;
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_CREATE_BUFS).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_CREATE_BUFS).count", data->count);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_CREATE_BUFS).memory", data->memory);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_CREATE_BUFS).reserved", data->reserved);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_CREATE_BUFS).format.type", fmt->type);
+ switch (fmt->type) {
+ case VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_CREATE_BUFS).format.pix", fmt->fmt.raw_data);
+ break;
+ case VKI_V4L2_BUF_TYPE_VBI_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_VBI_OUTPUT:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_CREATE_BUFS).format.vbi", fmt->fmt.vbi);
+ break;
+ case VKI_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_CREATE_BUFS).format.sliced", fmt->fmt.sliced);
+ break;
+ case VKI_V4L2_BUF_TYPE_VIDEO_OVERLAY:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_CREATE_BUFS).format.win", fmt->fmt.win);
+ break;
+ case VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_CREATE_BUFS).format.pix_mp", fmt->fmt.pix_mp);
+ break;
+ case VKI_V4L2_BUF_TYPE_SDR_CAPTURE:
+ PRE_FIELD_READ("ioctl(VKI_V4L2_CREATE_BUFS).format.sdr", fmt->fmt.sdr);
+ break;
+ }
+ break;
+ }
+ case VKI_V4L2_PREPARE_BUF: {
+ struct vki_v4l2_buffer *data = (struct vki_v4l2_buffer *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_PREPARE_BUF).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_PREPARE_BUF).type", data->type);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_PREPARE_BUF).memory", data->memory);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_PREPARE_BUF).reserved", data->reserved);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_PREPARE_BUF).reserved2", data->reserved2);
+ if (data->type == VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE ||
+ data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
+ unsigned i;
+
+ PRE_FIELD_READ("ioctl(VKI_V4L2_PREPARE_BUF).length", data->length);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_PREPARE_BUF).m.planes", data->m.planes);
+ for (i = 0; i < data->length; i++) {
+ PRE_FIELD_READ("ioctl(VKI_V4L2_PREPARE_BUF).m.planes[].reserved", data->m.planes[i].reserved);
+ }
+ }
+ break;
+ }
+ case VKI_V4L2_G_SELECTION: {
+ struct vki_v4l2_selection *data = (struct vki_v4l2_selection *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_SELECTION).type", data->type);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_SELECTION).target", data->target);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_SELECTION).flags", data->flags);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_G_SELECTION).reserved", data->reserved);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_G_SELECTION).r", data->r);
+ break;
+ }
+ case VKI_V4L2_S_SELECTION: {
+ struct vki_v4l2_selection *data = (struct vki_v4l2_selection *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_S_SELECTION)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_DECODER_CMD: {
+ struct vki_v4l2_decoder_cmd *data = (struct vki_v4l2_decoder_cmd *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_DECODER_CMD)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_TRY_DECODER_CMD: {
+ struct vki_v4l2_decoder_cmd *data = (struct vki_v4l2_decoder_cmd *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_TRY_DECODER_CMD)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_ENUM_DV_TIMINGS: {
+ struct vki_v4l2_enum_dv_timings *data = (struct vki_v4l2_enum_dv_timings *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_DV_TIMINGS).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_DV_TIMINGS).pad", data->pad);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_DV_TIMINGS).reserved", data->reserved);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_ENUM_DV_TIMINGS).timings", data->timings);
+ break;
+ }
+ case VKI_V4L2_QUERY_DV_TIMINGS: {
+ struct vki_v4l2_dv_timings *data = (struct vki_v4l2_dv_timings *)ARG3;
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_QUERY_DV_TIMINGS)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_DV_TIMINGS_CAP: {
+ struct vki_v4l2_dv_timings_cap *data = (struct vki_v4l2_dv_timings_cap *)ARG3;
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_DV_TIMINGS_CAP)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_ENUM_FREQ_BANDS: {
+ struct vki_v4l2_frequency_band *data = (struct vki_v4l2_frequency_band *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_FREQ_BANDS).tuner", data->tuner);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_FREQ_BANDS).type", data->type);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_FREQ_BANDS).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_ENUM_FREQ_BANDS).reserved", data->reserved);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_ENUM_FREQ_BANDS).capability", data->capability);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_ENUM_FREQ_BANDS).rangelow", data->rangelow);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_ENUM_FREQ_BANDS).rangehigh", data->rangehigh);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_ENUM_FREQ_BANDS).modulation", data->modulation);
+ break;
+ }
+ case VKI_V4L2_DBG_G_CHIP_INFO: {
+ struct vki_v4l2_dbg_chip_info *data = (struct vki_v4l2_dbg_chip_info *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DBG_G_CHIP_INFO).match.type", data->match.type);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DBG_G_CHIP_INFO).match.addr", data->match.addr);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DBG_G_CHIP_INFO).name", data->name);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_DBG_G_CHIP_INFO).flags", data->flags);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_DBG_G_CHIP_INFO).reserved", data->reserved);
+ break;
+ }
+ case VKI_V4L2_QUERY_EXT_CTRL: {
+ struct vki_v4l2_query_ext_ctrl *data = (struct vki_v4l2_query_ext_ctrl *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QUERY_EXT_CTRL).id", data->id);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_QUERY_EXT_CTRL).reserved", data->reserved);
+ PRE_MEM_WRITE("ioctl(VKI_V4L2_QUERY_EXT_CTRL)", (Addr)&data->type,
+ sizeof(*data) - sizeof(data->id) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_V4L2_SUBDEV_G_FMT: {
+ struct vki_v4l2_subdev_format *data = (struct vki_v4l2_subdev_format *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_G_FMT).pad", data->pad);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_G_FMT).which", data->which);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_G_FMT).reserved", data->reserved);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_SUBDEV_G_FMT).format", data->format);
+ break;
+ }
+ case VKI_V4L2_SUBDEV_S_FMT: {
+ struct vki_v4l2_subdev_format *data = (struct vki_v4l2_subdev_format *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_SUBDEV_S_FMT)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_SUBDEV_G_FRAME_INTERVAL: {
+ struct vki_v4l2_subdev_frame_interval *data = (struct vki_v4l2_subdev_frame_interval *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_G_FRAME_SIZE).pad", data->pad);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_G_FRAME_SIZE).reserved", data->reserved);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_SUBDEV_G_FRAME_SIZE).interval", data->interval);
+ break;
+ }
+ case VKI_V4L2_SUBDEV_S_FRAME_INTERVAL: {
+ struct vki_v4l2_subdev_frame_interval *data = (struct vki_v4l2_subdev_frame_interval *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_SUBDEV_S_FRAME_INTERVAL)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_SUBDEV_ENUM_MBUS_CODE: {
+ struct vki_v4l2_subdev_mbus_code_enum *data = (struct vki_v4l2_subdev_mbus_code_enum *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_ENUM_MBUS_CODE).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_ENUM_MBUS_CODE).pad", data->pad);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_SUBDEV_ENUM_MBUS_CODE).code", data->code);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_ENUM_MBUS_CODE).reserved", data->reserved);
+ break;
+ }
+ case VKI_V4L2_SUBDEV_ENUM_FRAME_SIZE: {
+ struct vki_v4l2_subdev_frame_size_enum *data = (struct vki_v4l2_subdev_frame_size_enum *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_SIZE).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_SIZE).pad", data->pad);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_SIZE).code", data->code);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_SIZE).reserved", data->reserved);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_SIZE).min_width", data->min_width);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_SIZE).min_height", data->min_height);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_SIZE).max_width", data->max_width);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_SIZE).max_height", data->max_height);
+ break;
+ }
+ case VKI_V4L2_SUBDEV_ENUM_FRAME_INTERVAL: {
+ struct vki_v4l2_subdev_frame_interval_enum *data = (struct vki_v4l2_subdev_frame_interval_enum *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_INTERVAL).index", data->index);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_INTERVAL).pad", data->pad);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_INTERVAL).code", data->code);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_INTERVAL).width", data->width);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_INTERVAL).height", data->height);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_INTERVAL).reserved", data->reserved);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_SUBDEV_ENUM_FRAME_INTERVAL).interval", data->interval);
+ break;
+ }
+ case VKI_V4L2_SUBDEV_G_CROP: {
+ struct vki_v4l2_subdev_crop *data = (struct vki_v4l2_subdev_crop *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_G_CROP).pad", data->pad);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_G_CROP).which", data->which);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_G_CROP).reserved", data->reserved);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_SUBDEV_G_CROP).rect", data->rect);
+ break;
+ }
+ case VKI_V4L2_SUBDEV_S_CROP: {
+ struct vki_v4l2_subdev_crop *data = (struct vki_v4l2_subdev_crop *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_SUBDEV_S_CROP)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_SUBDEV_G_SELECTION: {
+ struct vki_v4l2_subdev_selection *data = (struct vki_v4l2_subdev_selection *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_G_SELECTION).pad", data->pad);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_G_SELECTION).which", data->which);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_G_SELECTION).target", data->target);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_G_SELECTION).flags", data->flags);
+ PRE_FIELD_READ("ioctl(VKI_V4L2_SUBDEV_G_SELECTION).reserved", data->reserved);
+ PRE_FIELD_WRITE("ioctl(VKI_V4L2_SUBDEV_G_SELECTION).r", data->r);
+ break;
+ }
+ case VKI_V4L2_SUBDEV_S_SELECTION: {
+ struct vki_v4l2_subdev_selection *data = (struct vki_v4l2_subdev_selection *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_V4L2_SUBDEV_S_SELECTION)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_MEDIA_IOC_DEVICE_INFO: {
+ struct vki_media_device_info *data = (struct vki_media_device_info *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_MEDIA_IOC_DEVICE_INFO).reserved", data->reserved);
+ PRE_MEM_WRITE("ioctl(VKI_MEDIA_IOC_DEVICE_INFO)",
+ (Addr)data, sizeof(*data) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_MEDIA_IOC_ENUM_ENTITIES: {
+ struct vki_media_entity_desc *data = (struct vki_media_entity_desc *)ARG3;
+ PRE_FIELD_READ("ioctl(VKI_MEDIA_IOC_ENUM_ENTITIES).id", data->id);
+ PRE_MEM_WRITE("ioctl(VKI_MEDIA_IOC_ENUM_ENTITIES)",
+ (Addr)data->name, sizeof(*data) - sizeof(data->id));
+ break;
+ }
+ case VKI_MEDIA_IOC_ENUM_LINKS: {
+ struct vki_media_links_enum *data = (struct vki_media_links_enum *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_MEDIA_IOC_ENUM_LINKS)", (Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_MEDIA_IOC_SETUP_LINK: {
+ struct vki_media_link_desc *data = (struct vki_media_link_desc *)ARG3;
+ PRE_MEM_READ("ioctl(VKI_MEDIA_IOC_SETUP_LINK)", (Addr)data, sizeof(*data));
+ break;
+ }
+
default:
/* EVIOC* are variable length and return size written on success */
switch (ARG2 & ~(_VKI_IOC_SIZEMASK << _VKI_IOC_SIZESHIFT)) {
@@ -8463,6 +9416,498 @@
}
break;
+ /* V4L2 */
+ case VKI_V4L2_S_FMT:
+ case VKI_V4L2_TRY_FMT:
+ case VKI_V4L2_REQBUFS:
+ case VKI_V4L2_OVERLAY:
+ case VKI_V4L2_STREAMON:
+ case VKI_V4L2_STREAMOFF:
+ case VKI_V4L2_S_PARM:
+ case VKI_V4L2_S_STD:
+ case VKI_V4L2_S_FREQUENCY:
+ case VKI_V4L2_S_CTRL:
+ case VKI_V4L2_S_TUNER:
+ case VKI_V4L2_S_AUDIO:
+ case VKI_V4L2_S_INPUT:
+ case VKI_V4L2_S_EDID:
+ case VKI_V4L2_S_OUTPUT:
+ case VKI_V4L2_S_AUDOUT:
+ case VKI_V4L2_S_MODULATOR:
+ case VKI_V4L2_S_JPEGCOMP:
+ case VKI_V4L2_S_CROP:
+ case VKI_V4L2_S_PRIORITY:
+ case VKI_V4L2_G_ENC_INDEX:
+ case VKI_V4L2_S_HW_FREQ_SEEK:
+ case VKI_V4L2_S_DV_TIMINGS:
+ case VKI_V4L2_SUBSCRIBE_EVENT:
+ case VKI_V4L2_UNSUBSCRIBE_EVENT:
+ case VKI_V4L2_PREPARE_BUF:
+ break;
+ case VKI_V4L2_QUERYCAP: {
+ struct vki_v4l2_capability *data = (struct vki_v4l2_capability *)ARG3;
+ POST_MEM_WRITE((Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_ENUM_FMT: {
+ struct vki_v4l2_fmtdesc *data = (struct vki_v4l2_fmtdesc *)ARG3;
+ POST_FIELD_WRITE(data->flags);
+ POST_FIELD_WRITE(data->description);
+ POST_FIELD_WRITE(data->pixelformat);
+ POST_FIELD_WRITE(data->reserved);
+ break;
+ }
+ case VKI_V4L2_G_FMT: {
+ struct vki_v4l2_format *data = (struct vki_v4l2_format *)ARG3;
+ switch (data->type) {
+ case VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT:
+ POST_FIELD_WRITE(data->fmt.pix);
+ break;
+ case VKI_V4L2_BUF_TYPE_VBI_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_VBI_OUTPUT:
+ POST_FIELD_WRITE(data->fmt.vbi);
+ break;
+ case VKI_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+ case VKI_V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
+ POST_FIELD_WRITE(data->fmt.sliced);
+ break;
+ case VKI_V4L2_BUF_TYPE_VIDEO_OVERLAY:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
+ POST_FIELD_WRITE(data->fmt.win);
+ break;
+ case VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
+ case VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE:
+ POST_FIELD_WRITE(data->fmt.pix_mp);
+ break;
+ case VKI_V4L2_BUF_TYPE_SDR_CAPTURE:
+ POST_FIELD_WRITE(data->fmt.sdr);
+ break;
+ }
+ break;
+ }
+ case VKI_V4L2_QUERYBUF: {
+ struct vki_v4l2_buffer *data = (struct vki_v4l2_buffer *)ARG3;
+ if (data->type == VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE ||
+ data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
+ unsigned i;
+
+ for (i = 0; i < data->length; i++) {
+ POST_FIELD_WRITE(data->m.planes[i].bytesused);
+ POST_FIELD_WRITE(data->m.planes[i].length);
+ POST_FIELD_WRITE(data->m.planes[i].m);
+ POST_FIELD_WRITE(data->m.planes[i].data_offset);
+ POST_FIELD_WRITE(data->m.planes[i].reserved);
+ }
+ } else {
+ POST_FIELD_WRITE(data->m);
+ POST_FIELD_WRITE(data->length);
+ }
+ POST_FIELD_WRITE(data->bytesused);
+ POST_FIELD_WRITE(data->flags);
+ POST_FIELD_WRITE(data->field);
+ POST_FIELD_WRITE(data->timestamp);
+ POST_FIELD_WRITE(data->timecode);
+ POST_FIELD_WRITE(data->sequence);
+ POST_FIELD_WRITE(data->memory);
+ POST_FIELD_WRITE(data->sequence);
+ break;
+ }
+ case VKI_V4L2_G_FBUF: {
+ struct vki_v4l2_framebuffer *data = (struct vki_v4l2_framebuffer *)ARG3;
+ POST_MEM_WRITE((Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_S_FBUF: {
+ struct vki_v4l2_framebuffer *data = (struct vki_v4l2_framebuffer *)ARG3;
+ POST_FIELD_WRITE(data->capability);
+ POST_FIELD_WRITE(data->flags);
+ POST_FIELD_WRITE(data->fmt);
+ break;
+ }
+ case VKI_V4L2_QBUF: {
+ struct vki_v4l2_buffer *data = (struct vki_v4l2_buffer *)ARG3;
+
+ if (data->type == VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE ||
+ data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
+ unsigned i;
+
+ for (i = 0; i < data->length; i++) {
+ POST_FIELD_WRITE(data->m.planes[i].length);
+ if (data->memory == VKI_V4L2_MEMORY_MMAP)
+ POST_FIELD_WRITE(data->m.planes[i].m);
+ }
+ } else {
+ if (data->memory == VKI_V4L2_MEMORY_MMAP)
+ POST_FIELD_WRITE(data->m);
+ POST_FIELD_WRITE(data->length);
+ }
+ break;
+ }
+ case VKI_V4L2_EXPBUF: {
+ struct vki_v4l2_exportbuffer *data = (struct vki_v4l2_exportbuffer *)ARG3;
+ POST_FIELD_WRITE(data->fd);
+ break;
+ }
+ case VKI_V4L2_DQBUF: {
+ struct vki_v4l2_buffer *data = (struct vki_v4l2_buffer *)ARG3;
+ POST_FIELD_WRITE(data->index);
+ POST_FIELD_WRITE(data->bytesused);
+ POST_FIELD_WRITE(data->field);
+ if (data->type == VKI_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE ||
+ data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
+ unsigned i;
+
+ for (i = 0; i < data->length; i++) {
+ POST_FIELD_WRITE(data->m.planes[i].bytesused);
+ POST_FIELD_WRITE(data->m.planes[i].data_offset);
+ POST_FIELD_WRITE(data->m.planes[i].length);
+ POST_FIELD_WRITE(data->m.planes[i].m);
+ }
+ } else {
+ POST_FIELD_WRITE(data->m);
+ POST_FIELD_WRITE(data->length);
+ POST_FIELD_WRITE(data->bytesused);
+ POST_FIELD_WRITE(data->field);
+ }
+ POST_FIELD_WRITE(data->timestamp);
+ POST_FIELD_WRITE(data->timecode);
+ POST_FIELD_WRITE(data->sequence);
+ break;
+ }
+ case VKI_V4L2_G_PARM: {
+ struct vki_v4l2_streamparm *data = (struct vki_v4l2_streamparm *)ARG3;
+ int is_output = data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT ||
+ data->type == VKI_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE ||
+ data->type == VKI_V4L2_BUF_TYPE_VBI_OUTPUT ||
+ data->type == VKI_V4L2_BUF_TYPE_SLICED_VBI_OUTPUT;
+
+ if (is_output)
+ POST_MEM_WRITE((Addr)&data->parm.output,
+ sizeof(data->parm.output) - sizeof(data->parm.output.reserved));
+ else
+ POST_MEM_WRITE((Addr)&data->parm.capture,
+ sizeof(data->parm.capture) - sizeof(data->parm.capture.reserved));
+ break;
+ }
+ case VKI_V4L2_G_STD: {
+ vki_v4l2_std_id *data = (vki_v4l2_std_id *)ARG3;
+ POST_MEM_WRITE((Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_ENUMSTD: {
+ struct vki_v4l2_standard *data = (struct vki_v4l2_standard *)ARG3;
+ POST_MEM_WRITE((Addr)&data->id, sizeof(*data) - sizeof(data->index));
+ break;
+ }
+ case VKI_V4L2_ENUMINPUT: {
+ struct vki_v4l2_input *data = (struct vki_v4l2_input *)ARG3;
+ POST_MEM_WRITE((Addr)data->name, sizeof(*data) - sizeof(data->index));
+ break;
+ }
+ case VKI_V4L2_G_CTRL: {
+ struct vki_v4l2_control *data = (struct vki_v4l2_control *)ARG3;
+ POST_FIELD_WRITE(data->value);
+ break;
+ }
+ case VKI_V4L2_G_TUNER: {
+ struct vki_v4l2_tuner *data = (struct vki_v4l2_tuner *)ARG3;
+ POST_MEM_WRITE((Addr)data->name,
+ sizeof(*data) - sizeof(data->index) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_V4L2_G_AUDIO: {
+ struct vki_v4l2_audio *data = (struct vki_v4l2_audio *)ARG3;
+ POST_MEM_WRITE((Addr)data->name,
+ sizeof(*data) - sizeof(data->index) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_V4L2_QUERYCTRL: {
+ struct vki_v4l2_queryctrl *data = (struct vki_v4l2_queryctrl *)ARG3;
+ POST_MEM_WRITE((Addr)&data->type,
+ sizeof(*data) - sizeof(data->id));
+ break;
+ }
+ case VKI_V4L2_QUERYMENU: {
+ struct vki_v4l2_querymenu *data = (struct vki_v4l2_querymenu *)ARG3;
+ POST_MEM_WRITE((Addr)data->name,
+ sizeof(*data) - sizeof(data->id) - sizeof(data->index));
+ break;
+ }
+ case VKI_V4L2_G_INPUT: {
+ int *data = (int *)ARG3;
+ POST_MEM_WRITE((Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_G_EDID: {
+ struct vki_v4l2_edid *data = (struct vki_v4l2_edid *)ARG3;
+ if (data->blocks && data->edid)
+ POST_MEM_WRITE((Addr)data->edid, data->blocks * 128);
+ break;
+ }
+ case VKI_V4L2_G_OUTPUT: {
+ int *data = (int *)ARG3;
+ POST_MEM_WRITE((Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_ENUMOUTPUT: {
+ struct vki_v4l2_output *data = (struct vki_v4l2_output *)ARG3;
+ POST_MEM_WRITE((Addr)data->name, sizeof(*data) - sizeof(data->index));
+ break;
+ }
+ case VKI_V4L2_G_AUDOUT: {
+ struct vki_v4l2_audioout *data = (struct vki_v4l2_audioout *)ARG3;
+ POST_MEM_WRITE((Addr)data->name,
+ sizeof(*data) - sizeof(data->index) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_V4L2_G_MODULATOR: {
+ struct vki_v4l2_modulator *data = (struct vki_v4l2_modulator *)ARG3;
+ POST_MEM_WRITE((Addr)data->name,
+ sizeof(*data) - sizeof(data->index) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_V4L2_G_FREQUENCY: {
+ struct vki_v4l2_frequency *data = (struct vki_v4l2_frequency *)ARG3;
+ POST_FIELD_WRITE(data->type);
+ POST_FIELD_WRITE(data->frequency);
+ break;
+ }
+ case VKI_V4L2_CROPCAP: {
+ struct vki_v4l2_cropcap *data = (struct vki_v4l2_cropcap *)ARG3;
+ POST_MEM_WRITE((Addr)&data->bounds, sizeof(*data) - sizeof(data->type));
+ break;
+ }
+ case VKI_V4L2_G_CROP: {
+ struct vki_v4l2_crop *data = (struct vki_v4l2_crop *)ARG3;
+ POST_FIELD_WRITE(data->c);
+ break;
+ }
+ case VKI_V4L2_G_JPEGCOMP: {
+ struct vki_v4l2_jpegcompression *data = (struct vki_v4l2_jpegcompression *)ARG3;
+ POST_MEM_WRITE((Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_QUERYSTD: {
+ vki_v4l2_std_id *data = (vki_v4l2_std_id *)ARG3;
+ POST_MEM_WRITE((Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_ENUMAUDIO: {
+ struct vki_v4l2_audio *data = (struct vki_v4l2_audio *)ARG3;
+ POST_MEM_WRITE((Addr)data->name,
+ sizeof(*data) - sizeof(data->index) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_V4L2_ENUMAUDOUT: {
+ struct vki_v4l2_audioout *data = (struct vki_v4l2_audioout *)ARG3;
+ POST_MEM_WRITE((Addr)data->name,
+ sizeof(*data) - sizeof(data->index) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_V4L2_G_PRIORITY: {
+ __vki_u32 *data = (__vki_u32 *)ARG3;
+ POST_MEM_WRITE((Addr)data, sizeof(*data));
+ break;
+ }
+ case VKI_V4L2_G_SLICED_VBI_CAP: {
+ struct vki_v4l2_sliced_vbi_cap *data = (struct vki_v4l2_sliced_vbi_cap *)ARG3;
+ POST_MEM_WRITE((Addr)data,
+ sizeof(*data) - sizeof(data->type) - sizeof(data->reserved));
+ break;
+ }
+ case VKI_V4L2_G_EXT_CTRLS: {
+ struct vki_v4l2_ext_controls *data = (struct vki_v4l2_ext_controls *)ARG3;
+ if (data->count) {
+ unsigned i;
+
+ for (i = 0; i < data->count; i++) {
+ if (data->controls[i].size)
+ POST_MEM_WRITE((Addr)data->controls[i].ptr, data->controls[i].size);
+ else
+ POST_FIELD_WRITE(data->controls[i].value64);
+ }
+ }
+ POST_FIELD_WRITE(data->error_idx);...
[truncated message content] |
|
From: <sv...@va...> - 2014-09-04 11:02:33
|
Author: sewardj
Date: Thu Sep 4 11:02:24 2014
New Revision: 14454
Log:
Add Xen 4.4 evtchn ioctl wrappers. Patch from Antony Saba
(ant...@fi...). Second of two patches from #337740.
Modified:
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/include/vki/vki-linux.h
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c Thu Sep 4 11:02:24 2014
@@ -7101,6 +7101,47 @@
(Addr)args->arr, sizeof(*(args->arr)) * args->num);
break;
}
+
+ case VKI_XEN_IOCTL_EVTCHN_BIND_VIRQ: {
+ struct vki_xen_ioctl_evtchn_bind_virq *args =
+ (struct vki_xen_ioctl_evtchn_bind_virq *)(ARG3);
+ PRE_MEM_READ("VKI_XEN_IOCTL_EVTCHN_BIND_VIRQ(virq)",
+ (Addr)&args->virq, sizeof(args->virq));
+ }
+ break;
+ case VKI_XEN_IOCTL_EVTCHN_BIND_INTERDOMAIN: {
+ struct vki_xen_ioctl_evtchn_bind_interdomain *args =
+ (struct vki_xen_ioctl_evtchn_bind_interdomain *)(ARG3);
+ PRE_MEM_READ("VKI_XEN_IOCTL_EVTCHN_BIND_INTERDOMAIN(remote_domain)",
+ (Addr)&args->remote_domain, sizeof(args->remote_domain));
+ PRE_MEM_READ("VKI_XEN_IOCTL_EVTCHN_BIND_INTERDOMAIN(remote_port)",
+ (Addr)&args->remote_port, sizeof(args->remote_port));
+ }
+ break;
+ case VKI_XEN_IOCTL_EVTCHN_BIND_UNBOUND_PORT: {
+ struct vki_xen_ioctl_evtchn_bind_unbound_port *args =
+ (struct vki_xen_ioctl_evtchn_bind_unbound_port *)(ARG3);
+ PRE_MEM_READ("VKI_XEN_IOCTL_EVTCHN_BIND_UNBOUND_PORT(remote_domain)",
+ (Addr)&args->remote_domain, sizeof(args->remote_domain));
+ }
+ break;
+ case VKI_XEN_IOCTL_EVTCHN_UNBIND: {
+ struct vki_xen_ioctl_evtchn_unbind *args =
+ (struct vki_xen_ioctl_evtchn_unbind *)(ARG3);
+ PRE_MEM_READ("VKI_XEN_IOCTL_EVTCHN_UNBIND(port)",
+ (Addr)&args->port, sizeof(args->port));
+ }
+ break;
+ case VKI_XEN_IOCTL_EVTCHN_NOTIFY: {
+ struct vki_xen_ioctl_evtchn_notify *args =
+ (struct vki_xen_ioctl_evtchn_notify*)(ARG3);
+ PRE_MEM_READ("VKI_XEN_IOCTL_EVTCHN_notify(port)",
+ (Addr)&args->port, sizeof(args->port));
+ }
+ break;
+ case VKI_XEN_IOCTL_EVTCHN_RESET:
+ /* No input*/
+ break;
#endif
/* To do: figure out which software layer extends the sign of 'request' */
@@ -8370,25 +8411,25 @@
#ifdef ENABLE_XEN
case VKI_XEN_IOCTL_PRIVCMD_HYPERCALL: {
- SyscallArgs harrghs;
- struct vki_xen_privcmd_hypercall *args =
- (struct vki_xen_privcmd_hypercall *)(ARG3);
-
- if (!args)
- break;
+ SyscallArgs harrghs;
+ struct vki_xen_privcmd_hypercall *args =
+ (struct vki_xen_privcmd_hypercall *)(ARG3);
+
+ if (!args)
+ break;
+
+ VG_(memset)(&harrghs, 0, sizeof(harrghs));
+ harrghs.sysno = args->op;
+ harrghs.arg1 = args->arg[0];
+ harrghs.arg2 = args->arg[1];
+ harrghs.arg3 = args->arg[2];
+ harrghs.arg4 = args->arg[3];
+ harrghs.arg5 = args->arg[4];
+ harrghs.arg6 = harrghs.arg7 = harrghs.arg8 = 0;
- VG_(memset)(&harrghs, 0, sizeof(harrghs));
- harrghs.sysno = args->op;
- harrghs.arg1 = args->arg[0];
- harrghs.arg2 = args->arg[1];
- harrghs.arg3 = args->arg[2];
- harrghs.arg4 = args->arg[3];
- harrghs.arg5 = args->arg[4];
- harrghs.arg6 = harrghs.arg7 = harrghs.arg8 = 0;
-
- WRAPPER_POST_NAME(xen, hypercall) (tid, &harrghs, status);
+ WRAPPER_POST_NAME(xen, hypercall) (tid, &harrghs, status);
+ }
break;
- };
case VKI_XEN_IOCTL_PRIVCMD_MMAP:
break;
@@ -8404,6 +8445,15 @@
POST_MEM_WRITE((Addr)args->err, sizeof(*(args->err)) * args->num);
}
break;
+
+ case VKI_XEN_IOCTL_EVTCHN_BIND_VIRQ:
+ case VKI_XEN_IOCTL_EVTCHN_BIND_INTERDOMAIN:
+ case VKI_XEN_IOCTL_EVTCHN_BIND_UNBOUND_PORT:
+ case VKI_XEN_IOCTL_EVTCHN_UNBIND:
+ case VKI_XEN_IOCTL_EVTCHN_NOTIFY:
+ case VKI_XEN_IOCTL_EVTCHN_RESET:
+ /* No output */
+ break;
#endif
/* To do: figure out which software layer extends the sign of 'request' */
Modified: trunk/include/vki/vki-linux.h
==============================================================================
--- trunk/include/vki/vki-linux.h (original)
+++ trunk/include/vki/vki-linux.h Thu Sep 4 11:02:24 2014
@@ -3237,6 +3237,46 @@
#define VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH_V2 _VKI_IOC(_VKI_IOC_NONE, 'P', 4, sizeof(struct vki_xen_privcmd_mmapbatch_v2))
//----------------------------------------------------------------------
+// Xen evtchn IOCTL
+//----------------------------------------------------------------------
+
+#define VKI_XEN_IOCTL_EVTCHN_BIND_VIRQ \
+ _VKI_IOC(_VKI_IOC_NONE, 'E', 0, sizeof(struct vki_xen_ioctl_evtchn_bind_virq))
+struct vki_xen_ioctl_evtchn_bind_virq {
+ vki_uint32_t virq;
+ vki_uint32_t port;
+};
+
+#define VKI_XEN_IOCTL_EVTCHN_BIND_INTERDOMAIN \
+ _VKI_IOC(_VKI_IOC_NONE, 'E', 1, sizeof(struct vki_xen_ioctl_evtchn_bind_interdomain))
+struct vki_xen_ioctl_evtchn_bind_interdomain {
+ vki_uint32_t remote_domain;
+ vki_uint32_t remote_port;
+};
+
+#define VKI_XEN_IOCTL_EVTCHN_BIND_UNBOUND_PORT \
+ _VKI_IOC(_VKI_IOC_NONE, 'E', 2, sizeof(struct vki_xen_ioctl_evtchn_bind_unbound_port))
+struct vki_xen_ioctl_evtchn_bind_unbound_port {
+ vki_uint32_t remote_domain;
+};
+
+#define VKI_XEN_IOCTL_EVTCHN_UNBIND \
+ _VKI_IOC(_VKI_IOC_NONE, 'E', 3, sizeof(struct vki_xen_ioctl_evtchn_unbind))
+struct vki_xen_ioctl_evtchn_unbind {
+ vki_uint32_t port;
+};
+
+#define VKI_XEN_IOCTL_EVTCHN_NOTIFY \
+ _VKI_IOC(_VKI_IOC_NONE, 'E', 4, sizeof(struct vki_xen_ioctl_evtchn_notify))
+struct vki_xen_ioctl_evtchn_notify {
+ vki_uint32_t port;
+};
+
+#define VKI_XEN_IOCTL_EVTCHN_RESET \
+ _VKI_IOC(_VKI_IOC_NONE, 'E', 5, 0)
+
+
+//----------------------------------------------------------------------
// From linux-3.4.0/include/linux/fs.h
//----------------------------------------------------------------------
|
Author: sewardj
Date: Thu Sep 4 10:59:50 2014
New Revision: 14453
Log:
Add support for Xen hypercalls used by libvmi. Patch from Antony Saba
(ant...@fi...). First of two patches from #337740.
Modified:
trunk/coregrind/m_syswrap/syswrap-xen.c
trunk/include/vki/vki-xen-domctl.h
trunk/include/vki/vki-xen-hvm.h
trunk/include/vki/vki-xen-memory.h
trunk/include/vki/vki-xen-x86.h
Modified: trunk/coregrind/m_syswrap/syswrap-xen.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-xen.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-xen.c Thu Sep 4 10:59:50 2014
@@ -186,7 +186,7 @@
PRE_MEM_READ("XENMEM_add_to_physmap gpfn",
(Addr)&arg->gpfn, sizeof(arg->gpfn));
break;
- };
+ }
case VKI_XENMEM_remove_from_physmap: {
struct vki_xen_remove_from_physmap *arg =
@@ -195,12 +195,24 @@
(Addr)&arg->domid, sizeof(arg->domid));
PRE_MEM_READ("XENMEM_remove_from_physmap gpfn",
(Addr)&arg->gpfn, sizeof(arg->gpfn));
+ break;
}
case VKI_XENMEM_get_sharing_freed_pages:
case VKI_XENMEM_get_sharing_shared_pages:
break;
+ case VKI_XENMEM_access_op: {
+ struct vki_xen_mem_event_op *arg =
+ (struct vki_xen_mem_event_op *)ARG2;
+ PRE_MEM_READ("XENMEM_access_op domid",
+ (Addr)&arg->domain, sizeof(arg->domain));
+ PRE_MEM_READ("XENMEM_access_op op",
+ (Addr)&arg->op, sizeof(arg->op));
+ PRE_MEM_READ("XENMEM_access_op gfn",
+ (Addr)&arg->gfn, sizeof(arg->gfn));
+ break;
+ }
default:
bad_subop(tid, layout, arrghs, status, flags,
"__HYPERVISOR_memory_op", ARG1);
@@ -619,6 +631,26 @@
domctl->u.hvmcontext.size);
break;
+ case VKI_XEN_DOMCTL_gethvmcontext_partial:
+ __PRE_XEN_DOMCTL_READ(gethvmcontext_partial, hvmcontext_partial, type);
+ __PRE_XEN_DOMCTL_READ(gethvmcontext_partial, hvmcontext_partial, instance);
+ __PRE_XEN_DOMCTL_READ(gethvmcontext_partial, hvmcontext_partial, buffer);
+
+ switch (domctl->u.hvmcontext_partial.type) {
+ case VKI_HVM_SAVE_CODE(CPU):
+ if ( domctl->u.hvmcontext_partial.buffer.p )
+ PRE_MEM_WRITE("XEN_DOMCTL_gethvmcontext_partial *buffer",
+ (Addr)domctl->u.hvmcontext_partial.buffer.p,
+ VKI_HVM_SAVE_LENGTH(CPU));
+ break;
+ default:
+ bad_subop(tid, layout, arrghs, status, flags,
+ "__HYPERVISOR_domctl_gethvmcontext_partial type",
+ domctl->u.hvmcontext_partial.type);
+ break;
+ }
+ break;
+
case VKI_XEN_DOMCTL_max_mem:
PRE_XEN_DOMCTL_READ(max_mem, max_memkb);
break;
@@ -634,6 +666,12 @@
__PRE_XEN_DOMCTL_READ(settscinfo, tsc_info, info.elapsed_nsec);
break;
+ case VKI_XEN_DOMCTL_ioport_permission:
+ PRE_XEN_DOMCTL_READ(ioport_permission, first_port);
+ PRE_XEN_DOMCTL_READ(ioport_permission, nr_ports);
+ PRE_XEN_DOMCTL_READ(ioport_permission, allow_access);
+ break;
+
case VKI_XEN_DOMCTL_hypercall_init:
PRE_XEN_DOMCTL_READ(hypercall_init, gmfn);
break;
@@ -773,6 +811,20 @@
PRE_XEN_DOMCTL_READ(cacheflush, nr_pfns);
break;
+ case VKI_XEN_DOMCTL_set_access_required:
+ PRE_XEN_DOMCTL_READ(access_required, access_required);
+ break;
+
+ case VKI_XEN_DOMCTL_mem_event_op:
+ PRE_XEN_DOMCTL_READ(mem_event_op, op);
+ PRE_XEN_DOMCTL_READ(mem_event_op, mode);
+ break;
+
+ case VKI_XEN_DOMCTL_debug_op:
+ PRE_XEN_DOMCTL_READ(debug_op, op);
+ PRE_XEN_DOMCTL_READ(debug_op, vcpu);
+ break;
+
default:
bad_subop(tid, layout, arrghs, status, flags,
"__HYPERVISOR_domctl", domctl->cmd);
@@ -827,6 +879,34 @@
PRE_XEN_HVMOP_READ(set_mem_type, first_pfn);
break;
+ case VKI_XEN_HVMOP_set_mem_access:
+ PRE_XEN_HVMOP_READ(set_mem_access, domid);
+ PRE_XEN_HVMOP_READ(set_mem_access, hvmmem_access);
+ PRE_XEN_HVMOP_READ(set_mem_access, first_pfn);
+ /* if default access */
+ if ( ((vki_xen_hvm_set_mem_access_t*)arg)->first_pfn != ~0ULL)
+ PRE_XEN_HVMOP_READ(set_mem_access, nr);
+ break;
+
+ case VKI_XEN_HVMOP_get_mem_access:
+ PRE_XEN_HVMOP_READ(get_mem_access, domid);
+ PRE_XEN_HVMOP_READ(get_mem_access, pfn);
+
+ PRE_MEM_WRITE("XEN_HVMOP_get_mem_access *hvmmem_access",
+ (Addr)&(((vki_xen_hvm_get_mem_access_t*)arg)->hvmmem_access),
+ sizeof(vki_uint16_t));
+ break;
+
+ case VKI_XEN_HVMOP_inject_trap:
+ PRE_XEN_HVMOP_READ(inject_trap, domid);
+ PRE_XEN_HVMOP_READ(inject_trap, vcpuid);
+ PRE_XEN_HVMOP_READ(inject_trap, vector);
+ PRE_XEN_HVMOP_READ(inject_trap, type);
+ PRE_XEN_HVMOP_READ(inject_trap, error_code);
+ PRE_XEN_HVMOP_READ(inject_trap, insn_len);
+ PRE_XEN_HVMOP_READ(inject_trap, cr2);
+ break;
+
default:
bad_subop(tid, layout, arrghs, status, flags,
"__HYPERVISOR_hvm_op", op);
@@ -900,6 +980,7 @@
case VKI_XENMEM_claim_pages:
case VKI_XENMEM_maximum_gpfn:
case VKI_XENMEM_remove_from_physmap:
+ case VKI_XENMEM_access_op:
/* No outputs */
break;
case VKI_XENMEM_increase_reservation:
@@ -1175,6 +1256,7 @@
case VKI_XEN_DOMCTL_max_mem:
case VKI_XEN_DOMCTL_set_address_size:
case VKI_XEN_DOMCTL_settscinfo:
+ case VKI_XEN_DOMCTL_ioport_permission:
case VKI_XEN_DOMCTL_hypercall_init:
case VKI_XEN_DOMCTL_setvcpuaffinity:
case VKI_XEN_DOMCTL_setvcpucontext:
@@ -1182,9 +1264,11 @@
case VKI_XEN_DOMCTL_set_cpuid:
case VKI_XEN_DOMCTL_unpausedomain:
case VKI_XEN_DOMCTL_sethvmcontext:
+ case VKI_XEN_DOMCTL_debug_op:
case VKI_XEN_DOMCTL_set_max_evtchn:
case VKI_XEN_DOMCTL_cacheflush:
case VKI_XEN_DOMCTL_resumedomain:
+ case VKI_XEN_DOMCTL_set_access_required:
/* No output fields */
break;
@@ -1221,6 +1305,16 @@
* domctl->u.hvmcontext.size);
break;
+ case VKI_XEN_DOMCTL_gethvmcontext_partial:
+ switch (domctl->u.hvmcontext_partial.type) {
+ case VKI_HVM_SAVE_CODE(CPU):
+ if ( domctl->u.hvmcontext_partial.buffer.p )
+ POST_MEM_WRITE((Addr)domctl->u.hvmcontext_partial.buffer.p,
+ VKI_HVM_SAVE_LENGTH(CPU));
+ break;
+ }
+ break;
+
case VKI_XEN_DOMCTL_scheduler_op:
if ( domctl->u.scheduler_op.cmd == VKI_XEN_DOMCTL_SCHEDOP_getinfo ) {
switch(domctl->u.scheduler_op.sched_id) {
@@ -1341,6 +1435,10 @@
break;
}
break;
+ case VKI_XEN_DOMCTL_mem_event_op:
+ POST_XEN_DOMCTL_WRITE(mem_event_op, port);
+
+ break;
}
#undef POST_XEN_DOMCTL_WRITE
#undef __POST_XEN_DOMCTL_WRITE
@@ -1355,19 +1453,25 @@
POST_MEM_WRITE((Addr)&((_type*)arg)->_field, \
sizeof(((_type*)arg)->_field))
#define POST_XEN_HVMOP_WRITE(_hvm_op, _field) \
- __PRE_XEN_HVMOP_READ(_hvm_op, vki_xen_hvm_ ## _hvm_op ## _t, _field)
+ __POST_XEN_HVMOP_WRITE(_hvm_op, vki_xen_hvm_ ## _hvm_op ## _t, _field)
switch (op) {
case VKI_XEN_HVMOP_set_param:
case VKI_XEN_HVMOP_set_isa_irq_level:
case VKI_XEN_HVMOP_set_pci_link_route:
case VKI_XEN_HVMOP_set_mem_type:
+ case VKI_XEN_HVMOP_set_mem_access:
+ case VKI_XEN_HVMOP_inject_trap:
/* No output paramters */
break;
case VKI_XEN_HVMOP_get_param:
__POST_XEN_HVMOP_WRITE(get_param, struct vki_xen_hvm_param, value);
break;
+
+ case VKI_XEN_HVMOP_get_mem_access:
+ POST_XEN_HVMOP_WRITE(get_mem_access, hvmmem_access);
+ break;
}
#undef __POST_XEN_HVMOP_WRITE
#undef POST_XEN_HVMOP_WRITE
Modified: trunk/include/vki/vki-xen-domctl.h
==============================================================================
--- trunk/include/vki/vki-xen-domctl.h (original)
+++ trunk/include/vki/vki-xen-domctl.h Thu Sep 4 10:59:50 2014
@@ -261,6 +261,12 @@
vki_uint32_t max; /* maximum number of vcpus */
};
+struct vki_xen_domctl_ioport_permission {
+ vki_uint32_t first_port; /* IN */
+ vki_uint32_t nr_ports; /* IN */
+ vki_uint8_t allow_access; /* IN */
+};
+
struct vki_xen_domctl_hypercall_init {
vki_xen_uint64_aligned_t gmfn; /* GMFN to be initialised */
};
@@ -294,6 +300,14 @@
typedef struct vki_xen_domctl_hvmcontext vki_xen_domctl_hvmcontext_t;
DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_domctl_hvmcontext_t);
+struct vki_xen_domctl_hvmcontext_partial {
+ vki_uint32_t type; /* IN */
+ vki_uint32_t instance; /* IN */
+ VKI_XEN_GUEST_HANDLE_64(vki_uint8) buffer; /* IN/OUT buffer */
+};
+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 */
@@ -310,6 +324,22 @@
vki_uint32_t size;
};
+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 {
+ vki_uint32_t op; /* IN */
+ vki_uint32_t mode; /* IN */
+ vki_uint32_t port; /* OUT */
+};
+
+struct vki_xen_domctl_set_access_required {
+ vki_uint8_t access_required; /* IN */
+};
+
struct vki_xen_domctl_set_max_evtchn {
vki_uint32_t max_port;
};
@@ -344,7 +374,7 @@
//struct vki_xen_domctl_setdebugging setdebugging;
//struct vki_xen_domctl_irq_permission irq_permission;
//struct vki_xen_domctl_iomem_permission iomem_permission;
- //struct vki_xen_domctl_ioport_permission ioport_permission;
+ struct vki_xen_domctl_ioport_permission ioport_permission;
struct vki_xen_domctl_hypercall_init hypercall_init;
//struct vki_xen_domctl_arch_setup arch_setup;
struct vki_xen_domctl_settimeoffset settimeoffset;
@@ -352,7 +382,7 @@
struct vki_xen_domctl_tsc_info tsc_info;
//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_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;
@@ -364,14 +394,14 @@
//struct vki_xen_domctl_ext_vcpucontext ext_vcpucontext;
//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_debug_op debug_op;
+ struct vki_xen_domctl_mem_event_op mem_event_op;
//struct vki_xen_domctl_mem_sharing_op mem_sharing_op;
#if defined(__i386__) || defined(__x86_64__)
struct vki_xen_domctl_cpuid cpuid;
struct vki_xen_domctl_vcpuextstate vcpuextstate;
#endif
- //struct vki_xen_domctl_set_access_required access_required;
+ struct vki_xen_domctl_set_access_required access_required;
//struct vki_xen_domctl_audit_p2m audit_p2m;
//struct vki_xen_domctl_set_virq_handler set_virq_handler;
struct vki_xen_domctl_set_max_evtchn set_max_evtchn;
Modified: trunk/include/vki/vki-xen-hvm.h
==============================================================================
--- trunk/include/vki/vki-xen-hvm.h (original)
+++ trunk/include/vki/vki-xen-hvm.h Thu Sep 4 10:59:50 2014
@@ -31,10 +31,39 @@
vki_xen_domid_t domid;
vki_uint16_t hvmmem_type;
vki_uint32_t nr;
- vki_xen_uint64_aligned_t first_pfn;
+ vki_uint64_t first_pfn;
};
typedef struct vki_xen_hvm_set_mem_type vki_xen_hvm_set_mem_type_t;
+#define VKI_XEN_HVMOP_set_mem_access 12
+struct vki_xen_hvm_set_mem_access {
+ vki_xen_domid_t domid;
+ vki_uint16_t hvmmem_access;
+ vki_uint32_t nr;
+ vki_uint64_t first_pfn;
+};
+typedef struct vki_xen_hvm_set_mem_access vki_xen_hvm_set_mem_access_t;
+
+#define VKI_XEN_HVMOP_get_mem_access 13
+struct vki_xen_hvm_get_mem_access {
+ vki_xen_domid_t domid;
+ vki_uint16_t hvmmem_access; /* OUT */
+ vki_uint64_t pfn;
+};
+typedef struct vki_xen_hvm_get_mem_access vki_xen_hvm_get_mem_access_t;
+
+#define VKI_XEN_HVMOP_inject_trap 14
+struct vki_xen_hvm_inject_trap {
+ vki_xen_domid_t domid;
+ vki_uint32_t vcpuid;
+ vki_uint32_t vector;
+ vki_uint32_t type;
+ vki_uint32_t error_code;
+ vki_uint32_t insn_len;
+ vki_uint64_t cr2;
+};
+typedef struct vki_xen_hvm_inject_trap vki_xen_hvm_inject_trap_t;
+
#endif // __VKI_XEN_HVM_H
/*--------------------------------------------------------------------*/
Modified: trunk/include/vki/vki-xen-memory.h
==============================================================================
--- trunk/include/vki/vki-xen-memory.h (original)
+++ trunk/include/vki/vki-xen-memory.h Thu Sep 4 10:59:50 2014
@@ -20,6 +20,7 @@
#define VKI_XENMEM_get_pod_target 17
#define VKI_XENMEM_get_sharing_freed_pages 18
#define VKI_XENMEM_get_sharing_shared_pages 19
+#define VKI_XENMEM_access_op 21
#define VKI_XENMEM_claim_pages 24
struct vki_xen_memory_map {
@@ -66,6 +67,13 @@
vki_xen_pfn_t gpfn;
};
+struct vki_xen_mem_event_op {
+ vki_uint8_t op;
+ vki_xen_domid_t domain;
+ vki_uint64_t buffer;
+ vki_uint64_t gfn;
+};
+
#endif // __VKI_XEN_MEMORY_H
/*--------------------------------------------------------------------*/
Modified: trunk/include/vki/vki-xen-x86.h
==============================================================================
--- trunk/include/vki/vki-xen-x86.h (original)
+++ trunk/include/vki/vki-xen-x86.h Thu Sep 4 10:59:50 2014
@@ -123,6 +123,126 @@
typedef struct vki_xen_vcpu_guest_context vki_xen_vcpu_guest_context_t;
DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_vcpu_guest_context_t);
+
+/* HVM_SAVE types and declarations for getcontext_partial */
+# define VKI_DECLARE_HVM_SAVE_TYPE(_x, _code, _type) \
+ struct __VKI_HVM_SAVE_TYPE_##_x { _type t; char c[_code]; char cpt[1];}
+
+#define VKI_HVM_SAVE_TYPE(_x) typeof (((struct __VKI_HVM_SAVE_TYPE_##_x *)(0))->t)
+#define VKI_HVM_SAVE_LENGTH(_x) (sizeof (VKI_HVM_SAVE_TYPE(_x)))
+#define VKI_HVM_SAVE_CODE(_x) (sizeof (((struct __VKI_HVM_SAVE_TYPE_##_x *)(0))->c))
+
+struct vki_hvm_hw_cpu {
+ vki_uint8_t fpu_regs[512];
+
+ vki_uint64_t rax;
+ vki_uint64_t rbx;
+ vki_uint64_t rcx;
+ vki_uint64_t rdx;
+ vki_uint64_t rbp;
+ vki_uint64_t rsi;
+ vki_uint64_t rdi;
+ vki_uint64_t rsp;
+ vki_uint64_t r8;
+ vki_uint64_t r9;
+ vki_uint64_t r10;
+ vki_uint64_t r11;
+ vki_uint64_t r12;
+ vki_uint64_t r13;
+ vki_uint64_t r14;
+ vki_uint64_t r15;
+
+ vki_uint64_t rip;
+ vki_uint64_t rflags;
+
+ vki_uint64_t cr0;
+ vki_uint64_t cr2;
+ vki_uint64_t cr3;
+ vki_uint64_t cr4;
+
+ vki_uint64_t dr0;
+ vki_uint64_t dr1;
+ vki_uint64_t dr2;
+ vki_uint64_t dr3;
+ vki_uint64_t dr6;
+ vki_uint64_t dr7;
+
+ vki_uint32_t cs_sel;
+ vki_uint32_t ds_sel;
+ vki_uint32_t es_sel;
+ vki_uint32_t fs_sel;
+ vki_uint32_t gs_sel;
+ vki_uint32_t ss_sel;
+ vki_uint32_t tr_sel;
+ vki_uint32_t ldtr_sel;
+
+ vki_uint32_t cs_limit;
+ vki_uint32_t ds_limit;
+ vki_uint32_t es_limit;
+ vki_uint32_t fs_limit;
+ vki_uint32_t gs_limit;
+ vki_uint32_t ss_limit;
+ vki_uint32_t tr_limit;
+ vki_uint32_t ldtr_limit;
+ vki_uint32_t idtr_limit;
+ vki_uint32_t gdtr_limit;
+
+ vki_uint64_t cs_base;
+ vki_uint64_t ds_base;
+ vki_uint64_t es_base;
+ vki_uint64_t fs_base;
+ vki_uint64_t gs_base;
+ vki_uint64_t ss_base;
+ vki_uint64_t tr_base;
+ vki_uint64_t ldtr_base;
+ vki_uint64_t idtr_base;
+ vki_uint64_t gdtr_base;
+
+ vki_uint32_t cs_arbytes;
+ vki_uint32_t ds_arbytes;
+ vki_uint32_t es_arbytes;
+ vki_uint32_t fs_arbytes;
+ vki_uint32_t gs_arbytes;
+ vki_uint32_t ss_arbytes;
+ vki_uint32_t tr_arbytes;
+ vki_uint32_t ldtr_arbytes;
+
+ vki_uint64_t sysenter_cs;
+ vki_uint64_t sysenter_esp;
+ vki_uint64_t sysenter_eip;
+
+ /* msr for em64t */
+ vki_uint64_t shadow_gs;
+
+ /* msr content saved/restored. */
+ vki_uint64_t msr_flags;
+ vki_uint64_t msr_lstar;
+ vki_uint64_t msr_star;
+ vki_uint64_t msr_cstar;
+ vki_uint64_t msr_syscall_mask;
+ vki_uint64_t msr_efer;
+ vki_uint64_t msr_tsc_aux;
+
+ /* guest's idea of what rdtsc() would return */
+ vki_uint64_t tsc;
+
+ /* pending event, if any */
+ union {
+ vki_uint32_t pending_event;
+ struct {
+ vki_uint8_t pending_vector:8;
+ vki_uint8_t pending_type:3;
+ vki_uint8_t pending_error_valid:1;
+ vki_uint32_t pending_reserved:19;
+ vki_uint8_t pending_valid:1;
+ };
+ };
+ /* error code for pending event */
+ vki_uint32_t error_code;
+};
+
+VKI_DECLARE_HVM_SAVE_TYPE(CPU, 2, struct vki_hvm_hw_cpu);
+
#endif // __VKI_XEN_H
/*--------------------------------------------------------------------*/
|
|
From: <sv...@va...> - 2014-09-04 10:52:01
|
Author: sewardj
Date: Thu Sep 4 10:51:49 2014
New Revision: 14452
Log:
Add support for ppc32 syscalls used by uClibc. Patch from Kristof
Provost (kde...@si...). Fixes #330594.
Modified:
trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c Thu Sep 4 10:51:49 2014
@@ -899,7 +899,7 @@
//.. GENX_(__NR_nice, sys_nice), // 34
//..
//.. GENX_(__NR_ftime, sys_ni_syscall), // 35
-//.. GENX_(__NR_sync, sys_sync), // 36
+ GENX_(__NR_sync, sys_sync), // 36
GENX_(__NR_kill, sys_kill), // 37
GENX_(__NR_rename, sys_rename), // 38
GENX_(__NR_mkdir, sys_mkdir), // 39
@@ -1238,6 +1238,23 @@
LINX_(__NR_clock_adjtime, sys_clock_adjtime), // 347
+ LINXY(__NR_socket, sys_socket), // 326
+ LINX_(__NR_bind, sys_bind), // 327
+ LINX_(__NR_connect, sys_connect), // 328
+ LINX_(__NR_listen, sys_listen), // 329
+ LINXY(__NR_accept, sys_accept), // 330
+ LINXY(__NR_getsockname, sys_getsockname), // 331
+ LINXY(__NR_getpeername, sys_getpeername), // 332
+
+ LINX_(__NR_send, sys_send), // 334
+ LINX_(__NR_sendto, sys_sendto), // 335
+ LINXY(__NR_recv, sys_recv), // 336
+ LINXY(__NR_recvfrom, sys_recvfrom), // 337
+ LINX_(__NR_shutdown, sys_shutdown), // 338
+ LINX_(__NR_setsockopt, sys_setsockopt), // 339
+
+ LINXY(__NR_accept4, sys_accept4), // 344
+
LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 351
LINX_(__NR_process_vm_writev, sys_process_vm_writev) // 352
};
|
|
From: <sv...@va...> - 2014-09-04 10:17:17
|
Author: sewardj
Date: Thu Sep 4 10:17:08 2014
New Revision: 14451
Log:
Add support for sys_kcmp. Patch from Chris Jones
(cjo...@gm...). Fixes #338106.
Modified:
trunk/coregrind/m_syswrap/priv_syswrap-linux.h
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/coregrind/m_syswrap/syswrap-x86-linux.c
trunk/include/vki/vki-scnums-amd64-linux.h
trunk/include/vki/vki-scnums-x86-linux.h
Modified: trunk/coregrind/m_syswrap/priv_syswrap-linux.h
==============================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-linux.h (original)
+++ trunk/coregrind/m_syswrap/priv_syswrap-linux.h Thu Sep 4 10:17:08 2014
@@ -352,7 +352,7 @@
DECL_TEMPLATE(linux, sys_getsockname);
DECL_TEMPLATE(linux, sys_getpeername);
DECL_TEMPLATE(linux, sys_socketpair);
-
+DECL_TEMPLATE(linux, sys_kcmp);
#endif // __PRIV_SYSWRAP_LINUX_H
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c Thu Sep 4 10:17:08 2014
@@ -1060,7 +1060,8 @@
LINXY(__NR_getcpu, sys_getcpu), // 309
LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 310
- LINX_(__NR_process_vm_writev, sys_process_vm_writev) // 311
+ LINX_(__NR_process_vm_writev, sys_process_vm_writev),// 311
+ LINX_(__NR_kcmp, sys_kcmp) // 312
};
SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c Thu Sep 4 10:17:08 2014
@@ -8606,6 +8606,14 @@
POST_MEM_WRITE((unsigned long) iov->iov_base, iov->iov_len);
}
+PRE(sys_kcmp)
+{
+ PRINT("kcmp ( %ld, %ld, %ld, %lu, %lu )", ARG1, ARG1, ARG3, ARG4, ARG5);
+ PRE_REG_READ5(long, "kcmp",
+ vki_pid_t, pid1, vki_pid_t, pid2, int, type,
+ unsigned long, idx1, unsigned long, idx2);
+}
+
#undef PRE
#undef POST
Modified: trunk/coregrind/m_syswrap/syswrap-x86-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-x86-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-x86-linux.c Thu Sep 4 10:17:08 2014
@@ -1812,7 +1812,8 @@
LINXY(__NR_sendmmsg, sys_sendmmsg), // 345
// LINX_(__NR_setns, sys_ni_syscall), // 346
LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 347
- LINX_(__NR_process_vm_writev, sys_process_vm_writev) // 348
+ LINX_(__NR_process_vm_writev, sys_process_vm_writev),// 348
+ LINX_(__NR_kcmp, sys_kcmp) // 349
};
SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
Modified: trunk/include/vki/vki-scnums-amd64-linux.h
==============================================================================
--- trunk/include/vki/vki-scnums-amd64-linux.h (original)
+++ trunk/include/vki/vki-scnums-amd64-linux.h Thu Sep 4 10:17:08 2014
@@ -393,6 +393,7 @@
#define __NR_getcpu 309
#define __NR_process_vm_readv 310
#define __NR_process_vm_writev 311
+#define __NR_kcmp 312
#endif /* __VKI_SCNUMS_AMD64_LINUX_H */
Modified: trunk/include/vki/vki-scnums-x86-linux.h
==============================================================================
--- trunk/include/vki/vki-scnums-x86-linux.h (original)
+++ trunk/include/vki/vki-scnums-x86-linux.h Thu Sep 4 10:17:08 2014
@@ -383,6 +383,7 @@
#define __NR_setns 346
#define __NR_process_vm_readv 347
#define __NR_process_vm_writev 348
+#define __NR_kcmp 349
#endif /* __VKI_SCNUMS_X86_LINUX_H */
|
|
From: <sv...@va...> - 2014-09-04 10:16:10
|
Author: sewardj
Date: Thu Sep 4 10:15:52 2014
New Revision: 14450
Log:
Remove accidentally committed bit of text.
Modified:
trunk/docs/internals/3_9_BUGSTATUS.txt
Modified: trunk/docs/internals/3_9_BUGSTATUS.txt
==============================================================================
--- trunk/docs/internals/3_9_BUGSTATUS.txt (original)
+++ trunk/docs/internals/3_9_BUGSTATUS.txt Thu Sep 4 10:15:52 2014
@@ -118,7 +118,7 @@
=== Tools/Massif =======================================================
=== Tools/Cachegrind ===================================================
-HERE
+
333501 [cachegrind - 3.9] LL cache configuration not supported:
Cache set count is not a power of two.
336577 Auto-detected LL cache configuration not supported: Cache
|
|
From: Rich C. <rc...@wi...> - 2014-09-04 05:15:46
|
valgrind revision: 14448
VEX revision: 2942
C compiler: gcc (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388]
GDB: GNU gdb (GDB; openSUSE Factory) 7.6.50.20130731-cvs
Assembler: GNU assembler (GNU Binutils; openSUSE Factory) 2.23.2
C library: GNU C Library (GNU libc) stable release version 2.18 (git )
uname -mrs: Linux 3.11.4-3-desktop x86_64
Vendor version: Welcome to openSUSE 13.1 "Bottle" Beta 1 - Kernel %r (%t).
Nightly build on rodan ( Linux 3.11.4-3-desktop x86_64 )
Started at 2014-09-03 19:22:01 CDT
Ended at 2014-09-04 00:15:34 CDT
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 612 tests, 4 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/threadname (stderr)
memcheck/tests/threadname_xml (stderr)
--tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old
+ perl perf/vg_perf --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old perf
-- Running tests in perf ----------------------------------------------
-- bigcode1 --
bigcode1 valgrind-new:0.48s no: 7.8s (16.3x, -----) me:16.0s (33.2x, -----) ca:61.4s (128.0x, -----) he: 9.8s (20.5x, -----) ca:25.6s (53.4x, -----) dr: 8.8s (18.3x, -----) ma: 9.1s (18.9x, -----)
bigcode1 valgrind-old:0.48s no: 7.8s (16.3x, 0.0%) me:15.9s (33.2x, 0.1%) ca:61.4s (127.9x, 0.0%) he: 9.8s (20.5x, -0.2%) ca:25.7s (53.5x, -0.1%) dr: 8.8s (18.3x, -0.1%) ma: 9.1s (18.9x, 0.1%)
-- bigcode2 --
bigcode2 valgrind-new:0.49s no:18.7s (38.2x, -----) me:39.5s (80.7x, -----) ca:107.6s (219.5x, -----) he:23.4s (47.8x, -----) ca:41.2s (84.1x, -----) dr:21.4s (43.7x, -----) ma:21.4s (43.7x, -----)
bigcode2 valgrind-old:0.49s no:18.8s (38.4x, -0.4%) me:39.5s (80.6x, 0.1%) ca:107.7s (219.7x, -0.1%) he:23.4s (47.8x, -0.0%) ca:41.3s (84.2x, -0.2%) dr:21.5s (43.8x, -0.3%) ma:21.3s (43.5x, 0.4%)
-- bz2 --
bz2 valgrind-new:2.32s no:10.3s ( 4.5x, -----) me:28.2s (12.1x, -----) ca:62.5s (26.9x, -----) he:40.4s (17.4x, -----) ca:77.2s (33.3x, -----) dr:56.7s (24.4x, -----) ma: 9.7s ( 4.2x, -----)
bz2 valgrind-old:2.32s no:10.3s ( 4.5x, 0.1%) me:28.2s (12.1x, -0.0%) ca:62.2s (26.8x, 0.5%) he:40.4s (17.4x, 0.0%) ca:77.2s (33.3x, -0.0%) dr:56.5s (24.3x, 0.4%) ma: 9.7s ( 4.2x, -0.2%)
-- fbench --
fbench valgrind-new:1.44s no: 5.5s ( 3.8x, -----) me:18.4s (12.8x, -----) ca:27.2s (18.9x, -----) he:13.6s ( 9.5x, -----) ca:21.7s (15.0x, -----) dr:13.0s ( 9.0x, -----) ma: 5.6s ( 3.9x, -----)
fbench valgrind-old:1.44s no: 5.5s ( 3.8x, 0.4%) me:18.4s (12.8x, 0.3%) ca:27.2s (18.9x, 0.0%) he:13.6s ( 9.5x, 0.1%) ca:21.7s (15.0x, 0.0%) dr:13.1s ( 9.1x, -0.4%) ma: 5.6s ( 3.9x, -0.5%)
-- ffbench --
ffbench valgrind-new:1.00s no: 3.7s ( 3.7x, -----) me:13.1s (13.1x, -----) ca: 8.2s ( 8.2x, -----) he:22.6s (22.6x, -----) ca:27.6s (27.6x, -----) dr:17.2s (17.2x, -----) ma: 3.7s ( 3.7x, -----)
ffbench valgrind-old:1.00s no: 3.7s ( 3.7x, 0.0%) me:13.0s (13.0x, 0.2%) ca: 8.2s ( 8.2x, 0.0%) he:22.5s (22.5x, 0.0%) ca:27.6s (27.6x, 0.0%) dr:17.2s (17.2x, 0.0%) ma: 3.7s ( 3.7x, 0.0%)
-- heap --
heap valgrind-new:0.40s no: 3.3s ( 8.3x, -----) me:23.0s (57.4x, -----) ca:31.6s (78.9x, -----) he:31.6s (79.1x, -----) ca:22.8s (56.9x, -----) dr:19.9s (49.7x, -----) ma:21.9s (54.7x, -----)
heap valgrind-old:0.40s no: 3.3s ( 8.3x, 0.9%) me:23.1s (57.7x, -0.5%) ca:31.5s (78.6x, 0.3%) he:31.6s (78.9x, 0.2%) ca:22.7s (56.8x, 0.1%) dr:20.1s (50.4x, -1.3%) ma:21.9s (54.6x, 0.1%)
-- heap_pdb4 --
heap_pdb4 valgrind-new:0.55s no: 3.6s ( 6.6x, -----) me:42.4s (77.1x, -----) ca:34.2s (62.2x, -----) he:36.8s (66.8x, -----) ca:24.7s (45.0x, -----) dr:22.3s (40.6x, -----) ma:23.3s (42.4x, -----)
heap_pdb4 valgrind-old:0.55s no: 3.7s ( 6.7x, -0.8%) me:42.8s (77.7x, -0.9%) ca:34.0s (61.8x, 0.6%) he:36.6s (66.5x, 0.5%) ca:24.7s (44.9x, 0.1%) dr:22.5s (40.8x, -0.6%) ma:23.4s (42.5x, -0.2%)
-- many-loss-records --
many-loss-records valgrind-new:0.05s no: 1.3s (25.2x, -----) me: 6.7s (134.8x, -----) ca: 5.1s (102.2x, -----) he: 6.1s (122.6x, -----) ca: 4.1s (81.8x, -----) dr: 4.7s (93.4x, -----) ma: 4.7s (94.2x, -----)
many-loss-records valgrind-old:0.05s no: 1.3s (25.4x, -0.8%) me: 6.8s (135.6x, -0.6%) ca: 5.1s (102.0x, 0.2%) he: 6.1s (122.2x, 0.3%) ca: 4.1s (82.0x, -0.2%) dr: 4.6s (92.8x, 0.6%) ma: 4.7s (94.6x, -0.4%)
-- many-xpts --
many-xpts valgrind-new:0.15s no: 1.5s (10.2x, -----) me: 7.9s (52.9x, -----) ca:13.1s (87.2x, -----) he:10.6s (70.9x, -----) ca: 5.8s (39.0x, -----) dr: 6.2s (41.2x, -----) ma: 7.3s (48.6x, -----)
many-xpts valgrind-old:0.15s no: 1.5s (10.3x, -0.7%) me: 8.0s (53.1x, -0.4%) ca:13.1s (87.2x, 0.0%) he:10.6s (70.9x, 0.1%) ca: 5.8s (38.7x, 0.7%) dr: 6.2s (41.5x, -0.6%) ma: 7.3s (48.8x, -0.4%)
-- sarp --
sarp valgrind-new:0.10s no: 1.5s (14.8x, -----) me: 9.6s (96.4x, -----) ca: 8.2s (82.2x, -----) he:31.1s (311.5x, -----) ca: 5.6s (56.1x, -----) dr: 4.1s (41.1x, -----) ma: 1.5s (15.1x, -----)
sarp valgrind-old:0.10s no: 1.5s (14.8x, 0.0%) me: 9.6s (96.2x, 0.2%) ca: 8.3s (82.6x, -0.5%) he:31.2s (312.0x, -0.2%) ca: 5.6s (56.1x, 0.0%) dr: 4.1s (41.0x, 0.2%) ma: 1.5s (15.2x, -0.7%)
-- tinycc --
tinycc valgrind-new:0.76s no: 7.6s (10.0x, -----) me:38.6s (50.8x, -----) ca:48.4s (63.7x, -----) he:46.6s (61.3x, -----) ca:45.1s (59.3x, -----) dr:41.2s (54.3x, -----) ma:12.0s (15.8x, -----)
tinycc valgrind-old:0.76s no: 7.6s (10.0x, 0.0%) me:38.6s (50.8x, 0.1%) ca:48.4s (63.7x, -0.0%) he:46.6s (61.3x, 0.0%) ca:45.1s (59.4x, -0.0%) dr:41.2s (54.3x, 0.0%) ma:12.0s (15.8x, -0.2%)
-- Finished tests in perf ----------------------------------------------
== 11 programs, 154 timings =================
real 165m6.604s
user 163m10.456s
sys 1m50.569s
=================================================
./valgrind-new/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-09-03 20:26:15.766169679 -0500
+++ err_disable3.stderr.out 2014-09-03 20:46:18.270000792 -0500
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-new/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-09-03 20:26:14.409155138 -0500
+++ err_disable4.stderr.out 2014-09-03 20:46:23.200053472 -0500
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-new/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-09-03 20:26:16.091173161 -0500
+++ threadname.stderr.out 2014-09-03 20:54:55.983537677 -0500
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:53)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:53)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-new/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-09-03 20:26:14.254153477 -0500
+++ threadname_xml.stderr.out 2014-09-03 20:54:59.061570624 -0500
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
=================================================
./valgrind-old/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-09-03 19:22:30.605190553 -0500
+++ err_disable3.stderr.out 2014-09-03 19:42:17.367407766 -0500
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-old/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-09-03 19:22:30.914194008 -0500
+++ err_disable4.stderr.out 2014-09-03 19:42:22.215461561 -0500
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-old/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-09-03 19:22:27.570156614 -0500
+++ threadname.stderr.out 2014-09-03 19:50:49.467082305 -0500
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:53)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:53)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-old/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-09-03 19:22:30.574190206 -0500
+++ threadname_xml.stderr.out 2014-09-03 19:50:52.516116046 -0500
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
|
|
From: Christian B. <bor...@de...> - 2014-09-04 04:11:35
|
valgrind revision: 14449 VEX revision: 2942 C compiler: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] GDB: GNU gdb (GDB) SUSE (7.5.1-0.7.29) Assembler: GNU assembler (GNU Binutils; SUSE Linux Enterprise 11) 2.23.1 C library: GNU C Library stable release version 2.11.3 (20110527) uname -mrs: Linux 3.0.101-0.35-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP3 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP3 gcc 4.3.4 on z196 (s390x) ) Started at 2014-09-04 03:45:01 CEST Ended at 2014-09-04 06:11:21 CEST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 662 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/tc20_verifywrap (stderr) --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.23s no: 4.3s (18.9x, -----) me: 7.2s (31.2x, -----) ca:26.8s (116.5x, -----) he: 5.3s (23.3x, -----) ca: 9.1s (39.7x, -----) dr: 5.2s (22.5x, -----) ma: 4.7s (20.3x, -----) bigcode1 valgrind-old:0.23s no: 4.7s (20.4x, -7.8%) me: 6.9s (30.0x, 3.9%) ca:26.7s (116.3x, 0.2%) he: 5.9s (25.8x,-10.8%) ca: 9.1s (39.7x, 0.0%) dr: 4.8s (20.8x, 7.4%) ma: 4.7s (20.4x, -0.9%) -- bigcode2 -- bigcode2 valgrind-new:0.24s no: 7.2s (30.2x, -----) me:14.0s (58.5x, -----) ca:39.9s (166.4x, -----) he:10.4s (43.3x, -----) ca:14.2s (59.1x, -----) dr: 9.3s (38.7x, -----) ma: 8.1s (33.6x, -----) bigcode2 valgrind-old:0.24s no: 7.8s (32.3x, -7.0%) me:13.8s (57.5x, 1.7%) ca:39.9s (166.1x, 0.2%) he:11.0s (45.7x, -5.7%) ca:14.2s (59.3x, -0.2%) dr: 8.9s (37.0x, 4.2%) ma: 8.1s (33.8x, -0.4%) -- bz2 -- bz2 valgrind-new:0.70s no: 5.0s ( 7.2x, -----) me:12.8s (18.3x, -----) ca:31.1s (44.4x, -----) he:19.7s (28.2x, -----) ca:34.3s (49.0x, -----) dr:30.3s (43.2x, -----) ma: 3.8s ( 5.4x, -----) bz2 valgrind-old:0.70s no: 6.5s ( 9.3x,-30.0%) me:12.7s (18.1x, 0.9%) ca:31.0s (44.2x, 0.3%) he:19.7s (28.2x, -0.1%) ca:34.3s (49.1x, -0.2%) dr:30.4s (43.5x, -0.6%) ma: 3.8s ( 5.4x, 1.3%) -- fbench -- fbench valgrind-new:0.40s no: 1.6s ( 4.0x, -----) me: 4.5s (11.2x, -----) ca: 9.4s (23.4x, -----) he: 6.5s (16.2x, -----) ca: 7.2s (18.1x, -----) dr: 5.5s (13.8x, -----) ma: 1.7s ( 4.2x, -----) fbench valgrind-old:0.40s no: 1.6s ( 4.0x, -0.6%) me: 4.5s (11.2x, 0.7%) ca: 9.4s (23.5x, -0.1%) he: 6.5s (16.3x, -0.5%) ca: 7.2s (18.1x, 0.3%) dr: 5.5s (13.8x, 0.2%) ma: 1.7s ( 4.2x, 0.0%) -- ffbench -- ffbench valgrind-new:0.20s no: 1.1s ( 5.2x, -----) me: 3.2s (16.2x, -----) ca: 3.0s (15.2x, -----) he:44.0s (220.1x, -----) ca: 9.5s (47.5x, -----) dr: 7.1s (35.3x, -----) ma: 1.0s ( 4.8x, -----) ffbench valgrind-old:0.20s no: 1.2s ( 5.8x,-10.5%) me: 3.2s (15.9x, 1.5%) ca: 3.0s (15.1x, 0.7%) he:44.0s (220.2x, -0.0%) ca: 9.5s (47.4x, 0.1%) dr: 7.1s (35.4x, -0.1%) ma: 1.0s ( 4.8x, 0.0%) -- heap -- heap valgrind-new:0.23s no: 1.8s ( 7.7x, -----) me: 9.0s (39.1x, -----) ca:13.2s (57.6x, -----) he:13.0s (56.4x, -----) ca:11.2s (48.7x, -----) dr: 7.5s (32.7x, -----) ma: 7.9s (34.4x, -----) heap valgrind-old:0.23s no: 2.2s ( 9.7x,-25.8%) me: 9.0s (39.1x, 0.0%) ca:13.2s (57.3x, 0.6%) he:12.9s (56.3x, 0.2%) ca:11.2s (48.7x, 0.0%) dr: 7.6s (33.0x, -0.8%) ma: 8.0s (34.8x, -1.0%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.22s no: 1.9s ( 8.9x, -----) me:13.1s (59.4x, -----) ca:14.4s (65.6x, -----) he:14.2s (64.7x, -----) ca:12.3s (55.8x, -----) dr: 8.5s (38.8x, -----) ma: 8.0s (36.3x, -----) heap_pdb4 valgrind-old:0.22s no: 2.5s (11.3x,-27.2%) me:13.1s (59.5x, -0.2%) ca:14.4s (65.4x, 0.3%) he:14.3s (65.0x, -0.4%) ca:12.3s (55.7x, 0.1%) dr: 8.5s (38.8x, 0.0%) ma: 8.0s (36.5x, -0.6%) -- many-loss-records -- many-loss-records valgrind-new:0.02s no: 0.5s (23.5x, -----) me: 2.3s (116.5x, -----) ca: 1.9s (97.5x, -----) he: 2.4s (119.5x, -----) ca: 1.9s (95.5x, -----) dr: 1.7s (85.0x, -----) ma: 1.7s (83.5x, -----) many-loss-records valgrind-old:0.02s no: 0.5s (26.0x,-10.6%) me: 2.3s (116.0x, 0.4%) ca: 1.9s (97.0x, 0.5%) he: 2.4s (119.5x, 0.0%) ca: 1.9s (95.0x, 0.5%) dr: 1.7s (85.0x, 0.0%) ma: 1.7s (83.5x, 0.0%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.6s ( 8.6x, -----) me: 3.4s (49.0x, -----) ca:368.5s (5264.1x, -----) he: 6.8s (96.9x, -----) ca: 2.8s (39.9x, -----) dr: 2.5s (35.1x, -----) ma: 2.6s (37.0x, -----) many-xpts valgrind-old:0.07s no: 0.7s ( 9.4x,-10.0%) me: 3.5s (49.3x, -0.6%) ca:365.1s (5216.1x, 0.9%) he: 6.8s (97.0x, -0.1%) ca: 2.8s (39.7x, 0.4%) dr: 2.5s (35.0x, 0.4%) ma: 2.6s (36.9x, 0.4%) -- sarp -- sarp valgrind-new:0.03s no: 0.6s (19.7x, -----) me: 4.1s (137.7x, -----) ca: 3.2s (107.7x, -----) he:17.6s (586.7x, -----) ca: 2.0s (68.3x, -----) dr: 1.3s (44.7x, -----) ma: 0.5s (16.7x, -----) sarp valgrind-old:0.03s no: 0.6s (19.3x, 1.7%) me: 4.1s (137.3x, 0.2%) ca: 3.2s (108.0x, -0.3%) he:17.6s (585.7x, 0.2%) ca: 2.0s (68.0x, 0.5%) dr: 1.3s (44.7x, 0.0%) ma: 0.5s (16.3x, 2.0%) -- tinycc -- tinycc valgrind-new:0.22s no: 2.6s (12.0x, -----) me:14.9s (67.8x, -----) ca:30.5s (138.5x, -----) he:28.1s (127.6x, -----) ca:21.1s (96.0x, -----) dr:20.5s (93.4x, -----) ma: 4.0s (18.2x, -----) tinycc valgrind-old:0.22s no: 3.0s (13.5x,-12.1%) me:14.8s (67.5x, 0.5%) ca:30.3s (137.8x, 0.5%) he:28.1s (127.8x, -0.1%) ca:21.1s (96.0x, 0.0%) dr:20.9s (95.0x, -1.8%) ma: 3.9s (17.8x, 2.2%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 111m14.441s user 110m40.274s sys 0m26.917s |
|
From: Tom H. <to...@co...> - 2014-09-04 03:25:29
|
valgrind revision: 14449 VEX revision: 2942 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) GDB: GNU gdb (GDB) Fedora (7.3.1-48.fc15) Assembler: GNU assembler version 2.21.51.0.6-6.fc15 20110118 C library: GNU C Library stable release version 2.14.1 uname -mrs: Linux 3.15.3-200.fc20.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2014-09-04 03:12:22 BST Ended at 2014-09-04 04:25:15 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 696 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.11s no: 1.6s (14.9x, -----) me: 3.3s (29.7x, -----) ca:14.4s (130.7x, -----) he: 2.0s (18.4x, -----) ca: 3.8s (34.6x, -----) dr: 1.9s (17.1x, -----) ma: 1.9s (17.5x, -----) bigcode1 valgrind-old:0.11s no: 1.6s (14.9x, 0.0%) me: 3.3s (29.8x, -0.3%) ca:14.4s (131.0x, -0.2%) he: 2.0s (18.3x, 0.5%) ca: 3.8s (34.5x, 0.3%) dr: 1.9s (16.9x, 1.1%) ma: 1.9s (17.5x, 0.0%) -- bigcode2 -- bigcode2 valgrind-new:0.11s no: 3.9s (35.7x, -----) me: 8.3s (75.2x, -----) ca:26.2s (238.6x, -----) he: 4.9s (44.7x, -----) ca: 7.1s (64.8x, -----) dr: 4.6s (41.5x, -----) ma: 4.5s (40.5x, -----) bigcode2 valgrind-old:0.11s no: 4.0s (36.0x, -0.8%) me: 8.3s (75.6x, -0.6%) ca:26.0s (236.7x, 0.8%) he: 4.9s (44.3x, 1.0%) ca: 7.2s (65.3x, -0.7%) dr: 4.5s (41.1x, 0.9%) ma: 4.5s (40.7x, -0.4%) -- bz2 -- bz2 valgrind-new:0.52s no: 2.1s ( 4.0x, -----) me: 6.2s (11.9x, -----) ca:13.8s (26.6x, -----) he: 8.7s (16.7x, -----) ca:11.8s (22.8x, -----) dr:10.9s (20.9x, -----) ma: 2.1s ( 4.0x, -----) bz2 valgrind-old:0.52s no: 2.1s ( 4.0x, 1.0%) me: 6.3s (12.2x, -2.1%) ca:13.9s (26.7x, -0.1%) he: 8.9s (17.1x, -2.0%) ca:11.8s (22.6x, 0.7%) dr:10.9s (21.0x, -0.2%) ma: 2.1s ( 4.0x, -1.0%) -- fbench -- fbench valgrind-new:0.22s no: 1.0s ( 4.6x, -----) me: 3.7s (16.8x, -----) ca: 5.5s (25.0x, -----) he: 2.8s (12.5x, -----) ca: 3.2s (14.6x, -----) dr: 2.6s (11.7x, -----) ma: 1.0s ( 4.6x, -----) fbench valgrind-old:0.22s no: 1.0s ( 4.5x, 3.9%) me: 3.6s (16.5x, 1.6%) ca: 5.3s (24.2x, 2.9%) he: 2.7s (12.4x, 1.1%) ca: 3.1s (14.3x, 2.2%) dr: 2.6s (11.7x, 0.4%) ma: 1.0s ( 4.6x, 0.0%) -- ffbench -- ffbench valgrind-new:0.20s no: 0.9s ( 4.5x, -----) me: 2.8s (14.0x, -----) ca: 1.8s ( 9.1x, -----) he: 6.0s (30.1x, -----) ca: 4.1s (20.4x, -----) dr: 3.2s (15.9x, -----) ma: 0.8s ( 4.2x, -----) ffbench valgrind-old:0.20s no: 0.9s ( 4.5x, 1.1%) me: 2.8s (13.9x, 0.4%) ca: 1.8s ( 9.0x, 0.5%) he: 5.4s (26.8x, 10.9%) ca: 4.1s (20.5x, -0.2%) dr: 3.2s (15.9x, 0.0%) ma: 0.8s ( 4.2x, 0.0%) -- heap -- heap valgrind-new:0.07s no: 0.6s ( 8.4x, -----) me: 5.0s (70.7x, -----) ca: 6.1s (87.6x, -----) he: 6.7s (95.4x, -----) ca: 3.2s (45.3x, -----) dr: 4.3s (61.4x, -----) ma: 4.6s (65.4x, -----) heap valgrind-old:0.07s no: 0.6s ( 8.4x, 0.0%) me: 5.0s (71.0x, -0.4%) ca: 6.1s (87.3x, 0.3%) he: 6.6s (94.3x, 1.2%) ca: 3.2s (45.6x, -0.6%) dr: 4.3s (61.4x, 0.0%) ma: 4.6s (66.3x, -1.3%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.10s no: 0.7s ( 6.5x, -----) me: 9.5s (94.9x, -----) ca: 6.8s (67.6x, -----) he: 7.6s (76.2x, -----) ca: 3.6s (35.6x, -----) dr: 4.7s (47.0x, -----) ma: 4.8s (47.8x, -----) heap_pdb4 valgrind-old:0.10s no: 0.7s ( 6.5x, 0.0%) me: 8.3s (83.0x, 12.5%) ca: 6.7s (66.8x, 1.2%) he: 7.6s (76.4x, -0.3%) ca: 3.8s (37.7x, -5.9%) dr: 4.6s (46.4x, 1.3%) ma: 4.8s (47.9x, -0.2%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.3s (26.0x, -----) me: 1.4s (141.0x, -----) ca: 1.1s (105.0x, -----) he: 1.2s (120.0x, -----) ca: 0.7s (70.0x, -----) dr: 1.0s (97.0x, -----) ma: 1.0s (99.0x, -----) many-loss-records valgrind-old:0.01s no: 0.2s (25.0x, 3.8%) me: 1.4s (142.0x, -0.7%) ca: 1.1s (105.0x, 0.0%) he: 1.2s (119.0x, 0.8%) ca: 0.7s (70.0x, 0.0%) dr: 1.0s (96.0x, 1.0%) ma: 1.0s (100.0x, -1.0%) -- many-xpts -- many-xpts valgrind-new:0.04s no: 0.3s ( 8.0x, -----) me: 2.0s (49.2x, -----) ca: 2.8s (68.8x, -----) he: 2.2s (55.8x, -----) ca: 1.0s (24.8x, -----) dr: 1.4s (35.5x, -----) ma: 1.5s (37.0x, -----) many-xpts valgrind-old:0.04s no: 0.3s ( 7.8x, 3.1%) me: 2.0s (49.2x, 0.0%) ca: 2.7s (68.5x, 0.4%) he: 2.2s (55.2x, 0.9%) ca: 1.0s (24.2x, 2.0%) dr: 1.4s (35.5x, 0.0%) ma: 1.5s (37.0x, 0.0%) -- sarp -- sarp valgrind-new:0.03s no: 0.3s ( 9.3x, -----) me: 2.3s (76.7x, -----) ca: 1.8s (59.3x, -----) he: 6.6s (221.0x, -----) ca: 0.9s (31.7x, -----) dr: 0.9s (29.7x, -----) ma: 0.3s ( 9.7x, -----) sarp valgrind-old:0.03s no: 0.3s ( 9.0x, 3.6%) me: 2.3s (77.0x, -0.4%) ca: 1.8s (59.7x, -0.6%) he: 6.5s (217.0x, 1.8%) ca: 0.9s (31.7x, 0.0%) dr: 0.9s (29.7x, 0.0%) ma: 0.3s (10.0x, -3.4%) -- tinycc -- tinycc valgrind-new:0.16s no: 1.5s ( 9.2x, -----) me: 9.2s (57.8x, -----) ca:11.3s (70.5x, -----) he: 9.8s (61.2x, -----) ca: 8.3s (51.7x, -----) dr: 8.2s (51.4x, -----) ma: 2.5s (15.9x, -----) tinycc valgrind-old:0.16s no: 1.4s ( 9.1x, 1.4%) me: 9.3s (58.1x, -0.4%) ca:11.3s (70.8x, -0.4%) he: 9.8s (61.4x, -0.3%) ca: 8.4s (52.2x, -1.1%) dr: 8.3s (51.6x, -0.4%) ma: 2.5s (15.7x, 1.2%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 35m11.024s user 34m1.322s sys 0m22.196s |
|
From: Tom H. <to...@co...> - 2014-09-04 03:16:40
|
valgrind revision: 14449 VEX revision: 2942 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) GDB: GNU gdb (GDB) Fedora (7.3.50.20110722-16.fc16) Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716 C library: GNU C Library development release version 2.14.90 uname -mrs: Linux 3.15.3-200.fc20.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2014-09-04 03:01:47 BST Ended at 2014-09-04 04:16:27 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 696 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.10s no: 1.6s (16.4x, -----) me: 3.3s (33.2x, -----) ca:14.3s (142.6x, -----) he: 2.1s (20.6x, -----) ca: 3.8s (38.1x, -----) dr: 1.9s (18.9x, -----) ma: 1.9s (19.5x, -----) bigcode1 valgrind-old:0.10s no: 1.6s (16.4x, 0.0%) me: 3.4s (33.6x, -1.2%) ca:14.4s (143.9x, -0.9%) he: 2.0s (20.5x, 0.5%) ca: 3.8s (38.3x, -0.5%) dr: 1.9s (18.5x, 2.1%) ma: 1.9s (19.3x, 1.0%) -- bigcode2 -- bigcode2 valgrind-new:0.11s no: 3.9s (35.5x, -----) me: 8.4s (76.4x, -----) ca:27.2s (247.6x, -----) he: 4.9s (44.9x, -----) ca: 7.2s (65.4x, -----) dr: 4.6s (41.7x, -----) ma: 4.6s (41.7x, -----) bigcode2 valgrind-old:0.11s no: 4.0s (35.9x, -1.3%) me: 8.4s (76.8x, -0.6%) ca:26.2s (238.6x, 3.6%) he: 4.9s (44.7x, 0.4%) ca: 7.2s (65.3x, 0.1%) dr: 4.5s (40.8x, 2.2%) ma: 4.5s (40.8x, 2.2%) -- bz2 -- bz2 valgrind-new:0.52s no: 2.1s ( 4.1x, -----) me: 6.3s (12.2x, -----) ca:13.8s (26.6x, -----) he: 9.1s (17.5x, -----) ca:11.8s (22.7x, -----) dr:11.3s (21.7x, -----) ma: 2.1s ( 4.0x, -----) bz2 valgrind-old:0.52s no: 2.1s ( 4.1x, -0.5%) me: 6.3s (12.0x, 0.9%) ca:13.9s (26.8x, -0.4%) he: 9.2s (17.7x, -1.4%) ca:11.9s (22.8x, -0.8%) dr:11.2s (21.6x, 0.5%) ma: 2.1s ( 4.0x, -0.5%) -- fbench -- fbench valgrind-new:0.22s no: 1.0s ( 4.6x, -----) me: 3.7s (17.0x, -----) ca: 5.6s (25.6x, -----) he: 2.9s (13.4x, -----) ca: 3.2s (14.5x, -----) dr: 2.6s (11.8x, -----) ma: 1.1s ( 4.8x, -----) fbench valgrind-old:0.22s no: 1.0s ( 4.6x, 1.0%) me: 3.8s (17.1x, -0.8%) ca: 5.6s (25.5x, 0.5%) he: 2.9s (13.3x, 0.7%) ca: 3.1s (14.3x, 1.3%) dr: 2.6s (11.8x, 0.4%) ma: 1.1s ( 4.8x, 0.9%) -- ffbench -- ffbench valgrind-new:0.21s no: 0.9s ( 4.4x, -----) me: 2.9s (13.9x, -----) ca: 1.9s ( 9.0x, -----) he: 6.0s (28.6x, -----) ca: 4.3s (20.4x, -----) dr: 3.4s (16.0x, -----) ma: 0.9s ( 4.2x, -----) ffbench valgrind-old:0.21s no: 0.9s ( 4.4x, 0.0%) me: 2.9s (13.9x, -0.3%) ca: 1.9s ( 8.9x, 0.5%) he: 5.2s (24.8x, 13.2%) ca: 4.3s (20.6x, -0.9%) dr: 3.3s (15.6x, 2.4%) ma: 0.9s ( 4.2x, 0.0%) -- heap -- heap valgrind-new:0.08s no: 0.7s ( 8.2x, -----) me: 5.1s (63.6x, -----) ca: 6.7s (83.8x, -----) he: 6.8s (85.6x, -----) ca: 3.4s (42.0x, -----) dr: 4.1s (51.7x, -----) ma: 4.7s (59.0x, -----) heap valgrind-old:0.08s no: 0.7s ( 8.1x, 1.5%) me: 5.1s (63.7x, -0.2%) ca: 6.6s (82.9x, 1.0%) he: 6.9s (85.8x, -0.1%) ca: 3.4s (42.0x, 0.0%) dr: 4.2s (52.1x, -0.7%) ma: 4.7s (58.4x, 1.1%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.11s no: 0.7s ( 6.5x, -----) me: 8.6s (78.1x, -----) ca: 7.3s (66.3x, -----) he: 7.8s (70.5x, -----) ca: 3.7s (33.8x, -----) dr: 4.8s (43.7x, -----) ma: 4.8s (44.1x, -----) heap_pdb4 valgrind-old:0.11s no: 0.7s ( 6.4x, 1.4%) me: 8.5s (77.5x, 0.7%) ca: 7.1s (64.4x, 2.9%) he: 7.6s (69.5x, 1.5%) ca: 3.6s (33.0x, 2.4%) dr: 4.8s (43.4x, 0.8%) ma: 4.8s (43.9x, 0.4%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.2s (25.0x, -----) me: 1.4s (138.0x, -----) ca: 1.1s (106.0x, -----) he: 1.2s (117.0x, -----) ca: 0.7s (67.0x, -----) dr: 0.9s (93.0x, -----) ma: 1.0s (97.0x, -----) many-loss-records valgrind-old:0.01s no: 0.2s (25.0x, 0.0%) me: 1.4s (139.0x, -0.7%) ca: 1.1s (105.0x, 0.9%) he: 1.2s (117.0x, 0.0%) ca: 0.7s (66.0x, 1.5%) dr: 0.9s (93.0x, 0.0%) ma: 0.9s (94.0x, 3.1%) -- many-xpts -- many-xpts valgrind-new:0.03s no: 0.3s (10.3x, -----) me: 1.9s (64.7x, -----) ca: 2.7s (91.0x, -----) he: 2.2s (72.3x, -----) ca: 0.9s (31.0x, -----) dr: 1.3s (44.7x, -----) ma: 1.4s (47.7x, -----) many-xpts valgrind-old:0.03s no: 0.3s (10.3x, 0.0%) me: 1.9s (64.0x, 1.0%) ca: 2.7s (90.3x, 0.7%) he: 2.2s (73.3x, -1.4%) ca: 0.9s (31.7x, -2.2%) dr: 1.3s (44.7x, 0.0%) ma: 1.4s (46.7x, 2.1%) -- sarp -- sarp valgrind-new:0.02s no: 0.3s (15.0x, -----) me: 2.2s (111.0x, -----) ca: 1.7s (84.5x, -----) he: 6.5s (324.5x, -----) ca: 0.9s (45.5x, -----) dr: 0.9s (43.5x, -----) ma: 0.3s (14.0x, -----) sarp valgrind-old:0.02s no: 0.3s (13.5x, 10.0%) me: 2.2s (111.5x, -0.5%) ca: 1.7s (84.5x, 0.0%) he: 6.5s (325.5x, -0.3%) ca: 0.9s (45.0x, 1.1%) dr: 0.9s (43.0x, 1.1%) ma: 0.3s (14.0x, 0.0%) -- tinycc -- tinycc valgrind-new:0.15s no: 1.4s ( 9.2x, -----) me: 8.7s (58.1x, -----) ca:10.6s (70.3x, -----) he: 9.3s (61.9x, -----) ca: 7.9s (52.5x, -----) dr: 7.8s (52.3x, -----) ma: 2.5s (16.3x, -----) tinycc valgrind-old:0.15s no: 1.4s ( 9.2x, -0.0%) me: 8.7s (57.7x, 0.6%) ca:10.7s (71.3x, -1.3%) he: 9.3s (62.2x, -0.4%) ca: 8.0s (53.0x, -0.9%) dr: 7.7s (51.5x, 1.5%) ma: 2.4s (16.1x, 1.2%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 35m12.920s user 34m16.361s sys 0m22.326s |
|
From: Tom H. <to...@co...> - 2014-09-04 03:05:51
|
valgrind revision: 14449 VEX revision: 2942 C compiler: gcc (GCC) 4.7.2 20120921 (Red Hat 4.7.2-2) GDB: GNU gdb (GDB) Fedora (7.4.50.20120120-54.fc17) Assembler: GNU assembler version 2.22.52.0.1-10.fc17 20120131 C library: GNU C Library stable release version 2.15 uname -mrs: Linux 3.15.3-200.fc20.x86_64 x86_64 Vendor version: Fedora release 17 (Beefy Miracle) Nightly build on bristol ( x86_64, Fedora 17 (Beefy Miracle) ) Started at 2014-09-04 02:51:09 BST Ended at 2014-09-04 04:05:36 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 696 tests, 4 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.11s no: 1.6s (14.9x, -----) me: 3.5s (31.5x, -----) ca:13.3s (120.5x, -----) he: 2.0s (18.6x, -----) ca: 3.8s (34.7x, -----) dr: 1.9s (16.9x, -----) ma: 1.9s (17.5x, -----) bigcode1 valgrind-old:0.11s no: 1.6s (14.7x, 1.2%) me: 3.4s (31.2x, 0.9%) ca:13.3s (121.2x, -0.5%) he: 2.1s (18.7x, -0.5%) ca: 3.7s (33.5x, 3.4%) dr: 1.8s (16.7x, 1.1%) ma: 1.9s (17.5x, 0.5%) -- bigcode2 -- bigcode2 valgrind-new:0.11s no: 3.9s (35.3x, -----) me: 8.4s (76.7x, -----) ca:26.0s (236.3x, -----) he: 5.0s (45.0x, -----) ca: 7.0s (63.6x, -----) dr: 4.5s (41.4x, -----) ma: 4.5s (40.5x, -----) bigcode2 valgrind-old:0.11s no: 3.9s (35.3x, 0.0%) me: 8.5s (77.1x, -0.5%) ca:25.4s (230.5x, 2.5%) he: 4.9s (44.7x, 0.6%) ca: 7.0s (63.7x, -0.1%) dr: 4.5s (40.5x, 2.0%) ma: 4.5s (40.7x, -0.7%) -- bz2 -- bz2 valgrind-new:0.52s no: 2.1s ( 4.0x, -----) me: 6.8s (13.1x, -----) ca:12.7s (24.4x, -----) he: 8.9s (17.1x, -----) ca:10.7s (20.6x, -----) dr:11.2s (21.6x, -----) ma: 2.1s ( 4.1x, -----) bz2 valgrind-old:0.52s no: 2.1s ( 4.1x, -0.5%) me: 6.7s (12.9x, 1.3%) ca:12.6s (24.3x, 0.4%) he: 9.0s (17.2x, -0.9%) ca:10.8s (20.7x, -0.6%) dr:11.3s (21.7x, -0.6%) ma: 2.1s ( 4.1x, -0.5%) -- fbench -- fbench valgrind-new:0.22s no: 1.0s ( 4.7x, -----) me: 3.6s (16.4x, -----) ca: 5.5s (25.0x, -----) he: 2.9s (13.0x, -----) ca: 3.0s (13.6x, -----) dr: 2.6s (11.6x, -----) ma: 1.1s ( 4.9x, -----) fbench valgrind-old:0.22s no: 1.0s ( 4.6x, 1.9%) me: 3.6s (16.3x, 0.6%) ca: 5.5s (25.0x, 0.0%) he: 2.9s (13.0x, 0.0%) ca: 3.0s (13.5x, 1.0%) dr: 2.5s (11.5x, 1.2%) ma: 1.1s ( 4.8x, 0.9%) -- ffbench -- ffbench valgrind-new:0.24s no: 1.0s ( 4.0x, -----) me: 3.0s (12.3x, -----) ca: 1.8s ( 7.7x, -----) he: 7.0s (29.2x, -----) ca: 4.1s (17.0x, -----) dr: 3.3s (13.7x, -----) ma: 0.9s ( 3.7x, -----) ffbench valgrind-old:0.24s no: 0.9s ( 3.9x, 2.1%) me: 3.0s (12.3x, 0.0%) ca: 1.8s ( 7.6x, 0.5%) he: 7.2s (30.0x, -3.0%) ca: 4.0s (16.9x, 0.5%) dr: 3.3s (13.8x, -0.6%) ma: 0.9s ( 3.7x, 1.1%) -- heap -- heap valgrind-new:0.07s no: 0.6s ( 9.0x, -----) me: 5.4s (77.7x, -----) ca: 6.2s (88.0x, -----) he: 6.9s (98.7x, -----) ca: 3.1s (44.1x, -----) dr: 4.2s (60.0x, -----) ma: 5.0s (71.3x, -----) heap valgrind-old:0.07s no: 0.6s ( 9.0x, 0.0%) me: 5.3s (76.1x, 2.0%) ca: 6.2s (88.6x, -0.6%) he: 6.8s (97.3x, 1.4%) ca: 3.1s (44.1x, 0.0%) dr: 4.1s (58.9x, 1.9%) ma: 4.8s (69.1x, 3.0%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.11s no: 0.7s ( 6.3x, -----) me: 8.9s (81.1x, -----) ca: 6.6s (60.4x, -----) he: 8.0s (72.5x, -----) ca: 3.4s (31.3x, -----) dr: 4.9s (44.6x, -----) ma: 5.0s (45.4x, -----) heap_pdb4 valgrind-old:0.11s no: 0.7s ( 6.3x, -0.0%) me: 8.8s (80.4x, 0.9%) ca: 6.7s (60.7x, -0.6%) he: 7.9s (71.8x, 1.0%) ca: 3.4s (31.2x, 0.3%) dr: 4.8s (43.9x, 1.6%) ma: 5.0s (45.1x, 0.6%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.2s (25.0x, -----) me: 1.5s (148.0x, -----) ca: 1.0s (100.0x, -----) he: 1.2s (124.0x, -----) ca: 0.6s (63.0x, -----) dr: 1.0s (98.0x, -----) ma: 1.0s (100.0x, -----) many-loss-records valgrind-old:0.01s no: 0.2s (25.0x, 0.0%) me: 1.5s (147.0x, 0.7%) ca: 1.0s (100.0x, 0.0%) he: 1.2s (125.0x, -0.8%) ca: 0.6s (63.0x, 0.0%) dr: 1.0s (97.0x, 1.0%) ma: 1.0s (101.0x, -1.0%) -- many-xpts -- many-xpts valgrind-new:0.03s no: 0.3s (10.3x, -----) me: 1.9s (64.0x, -----) ca: 2.6s (86.0x, -----) he: 2.4s (78.7x, -----) ca: 0.9s (30.7x, -----) dr: 1.4s (45.0x, -----) ma: 1.5s (51.0x, -----) many-xpts valgrind-old:0.03s no: 0.3s (10.3x, 0.0%) me: 1.9s (62.7x, 2.1%) ca: 2.6s (86.0x, 0.0%) he: 2.4s (78.3x, 0.4%) ca: 0.9s (30.7x, 0.0%) dr: 1.3s (44.7x, 0.7%) ma: 1.5s (50.7x, 0.7%) -- sarp -- sarp valgrind-new:0.02s no: 0.3s (14.0x, -----) me: 2.2s (111.0x, -----) ca: 1.7s (85.5x, -----) he: 7.1s (353.0x, -----) ca: 0.8s (42.0x, -----) dr: 0.8s (41.0x, -----) ma: 0.3s (16.0x, -----) sarp valgrind-old:0.02s no: 0.3s (13.5x, 3.6%) me: 2.2s (110.5x, 0.5%) ca: 1.7s (85.0x, 0.6%) he: 7.4s (372.0x, -5.4%) ca: 0.8s (42.5x, -1.2%) dr: 0.8s (41.5x, -1.2%) ma: 0.3s (16.0x, 0.0%) -- tinycc -- tinycc valgrind-new:0.16s no: 1.4s ( 8.4x, -----) me: 8.5s (53.4x, -----) ca:10.7s (66.6x, -----) he:10.0s (62.6x, -----) ca: 7.4s (46.3x, -----) dr: 7.4s (46.4x, -----) ma: 2.5s (15.3x, -----) tinycc valgrind-old:0.16s no: 1.4s ( 8.6x, -1.5%) me: 8.6s (53.4x, -0.1%) ca:10.5s (65.6x, 1.6%) he:10.0s (62.3x, 0.6%) ca: 7.4s (46.0x, 0.7%) dr: 7.4s (46.1x, 0.7%) ma: 2.5s (15.5x, -1.2%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 34m42.429s user 33m35.308s sys 0m22.936s |
|
From: Tom H. <to...@co...> - 2014-09-04 02:58:06
|
valgrind revision: 14449 VEX revision: 2942 C compiler: gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) GDB: GNU gdb (GDB) Fedora 7.5.1-42.fc18 Assembler: GNU assembler version 2.23.51.0.1-10.fc18 20120806 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.15.3-200.fc20.x86_64 x86_64 Vendor version: Fedora release 18 (Spherical Cow) Nightly build on bristol ( x86_64, Fedora 18 (Spherical Cow) ) Started at 2014-09-04 02:41:09 BST Ended at 2014-09-04 03:57:48 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 696 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.11s no: 1.6s (14.9x, -----) me: 3.4s (30.5x, -----) ca:13.6s (123.2x, -----) he: 2.1s (18.7x, -----) ca: 3.7s (33.5x, -----) dr: 1.9s (16.9x, -----) ma: 1.9s (17.5x, -----) bigcode1 valgrind-old:0.11s no: 1.7s (15.2x, -1.8%) me: 3.4s (30.8x, -1.2%) ca:13.5s (122.8x, 0.3%) he: 2.1s (18.7x, 0.0%) ca: 3.8s (34.9x, -4.1%) dr: 1.9s (17.2x, -1.6%) ma: 1.9s (17.6x, -0.5%) -- bigcode2 -- bigcode2 valgrind-new:0.11s no: 3.9s (35.4x, -----) me: 8.5s (77.3x, -----) ca:26.9s (245.0x, -----) he: 4.9s (44.8x, -----) ca: 7.0s (63.7x, -----) dr: 4.5s (41.1x, -----) ma: 4.5s (40.5x, -----) bigcode2 valgrind-old:0.11s no: 3.9s (35.5x, -0.3%) me: 8.5s (77.3x, 0.0%) ca:26.0s (236.2x, 3.6%) he: 4.9s (44.9x, -0.2%) ca: 7.1s (64.3x, -0.9%) dr: 4.5s (41.4x, -0.7%) ma: 4.6s (41.7x, -2.9%) -- bz2 -- bz2 valgrind-new:0.52s no: 2.1s ( 4.0x, -----) me: 6.3s (12.2x, -----) ca:12.8s (24.5x, -----) he: 9.0s (17.4x, -----) ca:10.8s (20.7x, -----) dr:11.2s (21.5x, -----) ma: 2.1s ( 4.1x, -----) bz2 valgrind-old:0.52s no: 2.1s ( 4.0x, -0.5%) me: 6.4s (12.4x, -1.3%) ca:12.9s (24.9x, -1.5%) he: 9.4s (18.0x, -3.7%) ca:10.9s (21.0x, -1.4%) dr:11.5s (22.0x, -2.3%) ma: 2.1s ( 4.1x, -0.5%) -- fbench -- fbench valgrind-new:0.22s no: 1.0s ( 4.6x, -----) me: 3.6s (16.3x, -----) ca: 5.5s (25.0x, -----) he: 2.9s (13.0x, -----) ca: 3.0s (13.7x, -----) dr: 2.6s (11.9x, -----) ma: 1.1s ( 4.9x, -----) fbench valgrind-old:0.22s no: 1.0s ( 4.6x, 0.0%) me: 3.6s (16.5x, -1.4%) ca: 5.5s (25.2x, -0.5%) he: 2.9s (13.0x, -0.7%) ca: 3.1s (14.0x, -2.3%) dr: 2.6s (11.8x, 0.4%) ma: 1.1s ( 4.9x, 0.9%) -- ffbench -- ffbench valgrind-new:0.23s no: 0.9s ( 4.1x, -----) me: 3.0s (13.0x, -----) ca: 1.8s ( 8.0x, -----) he: 6.3s (27.3x, -----) ca: 4.1s (17.7x, -----) dr: 3.4s (14.6x, -----) ma: 0.9s ( 3.9x, -----) ffbench valgrind-old:0.23s no: 0.9s ( 4.1x, -1.1%) me: 3.0s (12.9x, 0.7%) ca: 1.8s ( 8.0x, -0.5%) he: 7.1s (30.9x,-13.4%) ca: 4.0s (17.4x, 1.5%) dr: 3.3s (14.3x, 2.1%) ma: 0.9s ( 3.9x, 0.0%) -- heap -- heap valgrind-new:0.08s no: 0.6s ( 8.0x, -----) me: 5.5s (69.0x, -----) ca: 6.2s (77.2x, -----) he: 6.9s (86.5x, -----) ca: 3.2s (39.5x, -----) dr: 4.3s (53.2x, -----) ma: 5.0s (62.6x, -----) heap valgrind-old:0.08s no: 0.6s ( 8.0x, 0.0%) me: 5.5s (68.4x, 0.9%) ca: 6.2s (77.0x, 0.3%) he: 6.9s (86.4x, 0.1%) ca: 3.2s (39.6x, -0.3%) dr: 4.2s (52.4x, 1.6%) ma: 4.9s (61.0x, 2.6%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.10s no: 0.7s ( 6.8x, -----) me: 9.0s (90.1x, -----) ca: 6.6s (66.4x, -----) he: 8.1s (80.9x, -----) ca: 3.5s (35.0x, -----) dr: 4.9s (48.9x, -----) ma: 5.0s (50.0x, -----) heap_pdb4 valgrind-old:0.10s no: 0.7s ( 6.9x, -1.5%) me: 8.9s (89.5x, 0.7%) ca: 6.7s (66.5x, -0.2%) he: 8.0s (80.2x, 0.9%) ca: 3.5s (34.7x, 0.9%) dr: 4.8s (48.3x, 1.2%) ma: 4.9s (49.3x, 1.4%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.3s (26.0x, -----) me: 1.4s (144.0x, -----) ca: 1.0s (99.0x, -----) he: 1.3s (127.0x, -----) ca: 0.7s (65.0x, -----) dr: 1.0s (100.0x, -----) ma: 1.0s (103.0x, -----) many-loss-records valgrind-old:0.01s no: 0.3s (26.0x, 0.0%) me: 1.5s (147.0x, -2.1%) ca: 1.0s (100.0x, -1.0%) he: 1.3s (126.0x, 0.8%) ca: 0.7s (65.0x, 0.0%) dr: 1.0s (98.0x, 2.0%) ma: 1.0s (104.0x, -1.0%) -- many-xpts -- many-xpts valgrind-new:0.03s no: 0.3s (10.3x, -----) me: 2.0s (65.3x, -----) ca: 2.6s (88.0x, -----) he: 2.3s (77.3x, -----) ca: 0.9s (30.3x, -----) dr: 1.4s (45.3x, -----) ma: 1.6s (51.7x, -----) many-xpts valgrind-old:0.03s no: 0.3s (10.3x, 0.0%) me: 1.9s (65.0x, 0.5%) ca: 2.6s (88.0x, 0.0%) he: 2.3s (77.3x, 0.0%) ca: 0.9s (30.3x, 0.0%) dr: 1.3s (44.7x, 1.5%) ma: 1.5s (51.0x, 1.3%) -- sarp -- sarp valgrind-new:0.01s no: 0.3s (28.0x, -----) me: 2.6s (258.0x, -----) ca: 1.7s (172.0x, -----) he: 7.5s (754.0x, -----) ca: 0.9s (87.0x, -----) dr: 0.8s (83.0x, -----) ma: 0.3s (32.0x, -----) sarp valgrind-old:0.01s no: 0.3s (28.0x, 0.0%) me: 2.6s (259.0x, -0.4%) ca: 1.7s (172.0x, 0.0%) he: 7.5s (755.0x, -0.1%) ca: 0.9s (87.0x, 0.0%) dr: 0.8s (84.0x, -1.2%) ma: 0.3s (33.0x, -3.1%) -- tinycc -- tinycc valgrind-new:0.15s no: 1.4s ( 9.1x, -----) me: 8.5s (56.7x, -----) ca:10.7s (71.0x, -----) he: 9.8s (65.5x, -----) ca: 7.5s (50.2x, -----) dr: 7.5s (49.8x, -----) ma: 2.4s (16.1x, -----) tinycc valgrind-old:0.15s no: 1.3s ( 8.9x, 2.2%) me: 8.5s (56.9x, -0.4%) ca:10.7s (71.1x, -0.2%) he: 9.8s (65.5x, 0.0%) ca: 7.6s (50.5x, -0.5%) dr: 7.4s (49.1x, 1.5%) ma: 2.4s (16.1x, 0.4%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 35m34.560s user 33m57.754s sys 0m23.964s |
|
From: Tom H. <to...@co...> - 2014-09-04 02:47:49
|
valgrind revision: 14449 VEX revision: 2942 C compiler: gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) GDB: GNU gdb (GDB) Fedora 7.6.1-46.fc19 Assembler: GNU assembler version 2.23.52.0.1-9.fc19 20130226 C library: GNU C Library (GNU libc) stable release version 2.17 uname -mrs: Linux 3.15.3-200.fc20.x86_64 x86_64 Vendor version: Fedora release 19 (Schrödingerâs Cat) Nightly build on bristol ( x86_64, Fedora 19 (Schrödingerâs Cat) ) Started at 2014-09-04 02:31:39 BST Ended at 2014-09-04 03:47:31 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 696 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.11s no: 1.6s (14.8x, -----) me: 3.4s (30.5x, -----) ca:13.4s (121.8x, -----) he: 2.1s (18.7x, -----) ca: 3.8s (34.1x, -----) dr: 1.8s (16.7x, -----) ma: 1.9s (17.5x, -----) bigcode1 valgrind-old:0.11s no: 1.7s (15.3x, -3.1%) me: 3.4s (31.1x, -1.8%) ca:13.6s (123.4x, -1.3%) he: 2.1s (18.7x, 0.0%) ca: 3.8s (34.3x, -0.5%) dr: 1.8s (16.7x, -0.0%) ma: 2.0s (17.8x, -1.6%) -- bigcode2 -- bigcode2 valgrind-new:0.11s no: 3.8s (34.5x, -----) me: 8.3s (75.6x, -----) ca:27.1s (246.5x, -----) he: 4.9s (44.7x, -----) ca: 7.1s (64.2x, -----) dr: 4.4s (40.2x, -----) ma: 4.4s (40.3x, -----) bigcode2 valgrind-old:0.11s no: 3.8s (34.5x, 0.0%) me: 8.3s (75.9x, -0.4%) ca:26.9s (244.6x, 0.8%) he: 4.8s (44.1x, 1.4%) ca: 7.0s (63.6x, 0.8%) dr: 4.4s (40.1x, 0.2%) ma: 4.5s (40.5x, -0.7%) -- bz2 -- bz2 valgrind-new:0.49s no: 2.1s ( 4.3x, -----) me: 6.3s (12.9x, -----) ca:13.3s (27.1x, -----) he: 9.4s (19.2x, -----) ca:11.0s (22.4x, -----) dr:11.3s (23.0x, -----) ma: 2.1s ( 4.4x, -----) bz2 valgrind-old:0.49s no: 2.1s ( 4.2x, 1.9%) me: 6.3s (12.9x, -0.2%) ca:13.3s (27.1x, 0.1%) he: 9.5s (19.4x, -0.8%) ca:11.1s (22.6x, -0.9%) dr:11.4s (23.2x, -0.7%) ma: 2.2s ( 4.4x, -0.9%) -- fbench -- fbench valgrind-new:0.22s no: 1.0s ( 4.7x, -----) me: 3.5s (15.9x, -----) ca: 5.5s (25.2x, -----) he: 2.9s (13.0x, -----) ca: 3.0s (13.7x, -----) dr: 2.4s (10.8x, -----) ma: 1.1s ( 4.9x, -----) fbench valgrind-old:0.22s no: 1.0s ( 4.6x, 1.9%) me: 3.5s (15.9x, 0.0%) ca: 5.5s (25.1x, 0.2%) he: 2.8s (12.9x, 1.0%) ca: 3.0s (13.9x, -1.0%) dr: 2.4s (10.8x, 0.0%) ma: 1.1s ( 4.8x, 0.9%) -- ffbench -- ffbench valgrind-new:0.21s no: 1.0s ( 4.6x, -----) me: 3.0s (14.3x, -----) ca: 1.9s ( 9.1x, -----) he: 6.8s (32.4x, -----) ca: 4.5s (21.5x, -----) dr: 3.3s (15.7x, -----) ma: 0.9s ( 4.3x, -----) ffbench valgrind-old:0.21s no: 1.0s ( 4.6x, 0.0%) me: 3.0s (14.3x, 0.3%) ca: 1.9s ( 9.0x, 1.0%) he: 6.5s (31.2x, 3.7%) ca: 4.5s (21.6x, -0.4%) dr: 3.2s (15.2x, 2.7%) ma: 0.9s ( 4.3x, 1.1%) -- heap -- heap valgrind-new:0.08s no: 0.7s ( 8.1x, -----) me: 5.2s (65.1x, -----) ca: 6.2s (77.2x, -----) he: 6.9s (86.0x, -----) ca: 3.3s (41.0x, -----) dr: 4.2s (52.5x, -----) ma: 4.9s (61.0x, -----) heap valgrind-old:0.08s no: 0.6s ( 8.0x, 1.5%) me: 5.3s (66.1x, -1.5%) ca: 6.2s (77.0x, 0.3%) he: 6.9s (85.9x, 0.1%) ca: 3.3s (40.9x, 0.3%) dr: 4.2s (52.2x, 0.5%) ma: 4.8s (59.9x, 1.8%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.10s no: 0.7s ( 7.0x, -----) me: 9.1s (91.2x, -----) ca: 6.9s (69.3x, -----) he: 8.1s (80.7x, -----) ca: 3.6s (35.6x, -----) dr: 5.0s (49.5x, -----) ma: 5.4s (54.2x, -----) heap_pdb4 valgrind-old:0.10s no: 0.7s ( 7.0x, 0.0%) me: 9.1s (90.6x, 0.7%) ca: 6.7s (66.6x, 3.9%) he: 8.1s (80.9x, -0.2%) ca: 3.6s (35.6x, 0.0%) dr: 5.0s (49.6x, -0.2%) ma: 5.2s (52.3x, 3.5%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.3s (26.0x, -----) me: 1.5s (149.0x, -----) ca: 1.0s (99.0x, -----) he: 1.3s (126.0x, -----) ca: 0.7s (66.0x, -----) dr: 1.0s (96.0x, -----) ma: 1.1s (108.0x, -----) many-loss-records valgrind-old:0.01s no: 0.3s (26.0x, 0.0%) me: 1.5s (148.0x, 0.7%) ca: 1.0s (99.0x, 0.0%) he: 1.3s (128.0x, -1.6%) ca: 0.7s (67.0x, -1.5%) dr: 1.0s (97.0x, -1.0%) ma: 1.1s (107.0x, 0.9%) -- many-xpts -- many-xpts valgrind-new:0.03s no: 0.3s (10.7x, -----) me: 1.7s (55.7x, -----) ca: 2.5s (85.0x, -----) he: 2.2s (74.7x, -----) ca: 0.9s (31.3x, -----) dr: 1.4s (45.3x, -----) ma: 1.6s (52.7x, -----) many-xpts valgrind-old:0.03s no: 0.3s (10.3x, 3.1%) me: 1.7s (55.3x, 0.6%) ca: 2.5s (84.3x, 0.8%) he: 2.2s (74.3x, 0.4%) ca: 0.9s (31.3x, 0.0%) dr: 1.4s (46.7x, -2.9%) ma: 1.6s (52.0x, 1.3%) -- sarp -- sarp valgrind-new:0.02s no: 0.3s (14.5x, -----) me: 2.4s (117.5x, -----) ca: 1.8s (88.5x, -----) he: 6.2s (309.5x, -----) ca: 0.9s (46.0x, -----) dr: 0.9s (45.5x, -----) ma: 0.3s (15.5x, -----) sarp valgrind-old:0.02s no: 0.3s (14.5x, 0.0%) me: 2.4s (117.5x, 0.0%) ca: 1.8s (88.0x, 0.6%) he: 6.2s (309.5x, 0.0%) ca: 0.9s (46.0x, 0.0%) dr: 0.9s (45.5x, 0.0%) ma: 0.3s (15.0x, 3.2%) -- tinycc -- tinycc valgrind-new:0.16s no: 1.4s ( 8.6x, -----) me: 7.8s (48.9x, -----) ca:10.8s (67.6x, -----) he:10.0s (62.6x, -----) ca: 7.8s (48.9x, -----) dr: 8.1s (50.4x, -----) ma: 2.4s (14.9x, -----) tinycc valgrind-old:0.16s no: 1.4s ( 8.6x, 0.7%) me: 7.9s (49.4x, -0.9%) ca:10.7s (66.9x, 1.0%) he:10.1s (62.9x, -0.5%) ca: 7.8s (48.4x, 1.0%) dr: 8.1s (50.6x, -0.2%) ma: 2.4s (15.1x, -0.8%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 35m18.132s user 34m20.219s sys 0m24.893s |
|
From: Tom H. <to...@co...> - 2014-09-04 02:39:29
|
valgrind revision: 14449 VEX revision: 2942 C compiler: gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) GDB: GNU gdb (GDB) Fedora 7.7.1-18.fc20 Assembler: GNU assembler version 2.23.2 C library: GNU C Library (GNU libc) stable release version 2.18 uname -mrs: Linux 3.15.3-200.fc20.x86_64 x86_64 Vendor version: Fedora release 20 (Heisenbug) Nightly build on bristol ( x86_64, Fedora 20 ) Started at 2014-09-04 02:23:43 BST Ended at 2014-09-04 03:39:12 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 696 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.11s no: 1.6s (14.5x, -----) me: 3.3s (29.8x, -----) ca:13.4s (122.2x, -----) he: 2.1s (18.7x, -----) ca: 3.7s (33.9x, -----) dr: 1.8s (16.5x, -----) ma: 1.9s (17.4x, -----) bigcode1 valgrind-old:0.11s no: 1.6s (14.5x, 0.0%) me: 3.3s (30.1x, -0.9%) ca:13.4s (121.8x, 0.3%) he: 2.0s (18.6x, 0.5%) ca: 3.7s (33.5x, 1.1%) dr: 1.8s (16.5x, 0.5%) ma: 1.9s (17.4x, 0.0%) -- bigcode2 -- bigcode2 valgrind-new:0.11s no: 3.8s (34.5x, -----) me: 8.3s (75.4x, -----) ca:25.4s (230.6x, -----) he: 4.9s (44.5x, -----) ca: 6.9s (62.9x, -----) dr: 4.4s (39.6x, -----) ma: 4.4s (40.0x, -----) bigcode2 valgrind-old:0.11s no: 3.9s (35.0x, -1.6%) me: 8.4s (76.5x, -1.4%) ca:26.0s (236.7x, -2.6%) he: 4.8s (44.0x, 1.2%) ca: 7.0s (63.8x, -1.4%) dr: 4.3s (39.5x, 0.5%) ma: 4.4s (40.0x, 0.0%) -- bz2 -- bz2 valgrind-new:0.50s no: 2.1s ( 4.1x, -----) me: 6.3s (12.7x, -----) ca:13.2s (26.4x, -----) he: 9.3s (18.6x, -----) ca:11.3s (22.6x, -----) dr:10.7s (21.4x, -----) ma: 2.1s ( 4.2x, -----) bz2 valgrind-old:0.50s no: 2.1s ( 4.1x, 0.0%) me: 6.4s (12.8x, -0.5%) ca:13.2s (26.5x, -0.5%) he: 9.2s (18.4x, 1.0%) ca:10.9s (21.9x, 3.2%) dr:10.6s (21.2x, 0.9%) ma: 2.1s ( 4.2x, 0.5%) -- fbench -- fbench valgrind-new:0.22s no: 1.0s ( 4.7x, -----) me: 3.6s (16.2x, -----) ca: 5.6s (25.4x, -----) he: 2.7s (12.1x, -----) ca: 3.1s (14.1x, -----) dr: 2.4s (11.1x, -----) ma: 1.1s ( 5.2x, -----) fbench valgrind-old:0.22s no: 1.0s ( 4.6x, 1.0%) me: 3.5s (15.9x, 2.0%) ca: 5.5s (24.9x, 2.0%) he: 2.7s (12.1x, 0.0%) ca: 3.1s (14.0x, 0.6%) dr: 2.4s (11.0x, 0.8%) ma: 1.1s ( 4.9x, 7.0%) -- ffbench -- ffbench valgrind-new:0.25s no: 1.0s ( 3.8x, -----) me: 3.0s (12.2x, -----) ca: 1.9s ( 7.7x, -----) he: 6.2s (25.0x, -----) ca: 4.5s (18.2x, -----) dr: 3.2s (12.9x, -----) ma: 0.9s ( 3.6x, -----) ffbench valgrind-old:0.25s no: 0.9s ( 3.8x, 1.0%) me: 3.0s (11.9x, 2.0%) ca: 1.9s ( 7.6x, 1.6%) he: 6.1s (24.4x, 2.6%) ca: 4.7s (18.6x, -2.4%) dr: 3.2s (12.7x, 1.6%) ma: 0.9s ( 3.6x, -1.1%) -- heap -- heap valgrind-new:0.08s no: 0.7s ( 8.1x, -----) me: 5.2s (65.6x, -----) ca: 6.2s (77.1x, -----) he: 7.0s (87.0x, -----) ca: 3.2s (40.0x, -----) dr: 4.2s (52.9x, -----) ma: 5.0s (63.0x, -----) heap valgrind-old:0.08s no: 0.7s ( 8.1x, 0.0%) me: 5.3s (66.6x, -1.5%) ca: 6.1s (76.8x, 0.5%) he: 7.0s (87.4x, -0.4%) ca: 3.3s (41.5x, -3.8%) dr: 4.3s (53.6x, -1.4%) ma: 5.0s (62.3x, 1.2%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.10s no: 0.7s ( 7.1x, -----) me: 9.1s (90.8x, -----) ca: 6.7s (67.4x, -----) he: 8.0s (79.5x, -----) ca: 3.5s (35.3x, -----) dr: 4.8s (47.5x, -----) ma: 5.2s (51.9x, -----) heap_pdb4 valgrind-old:0.10s no: 0.7s ( 6.9x, 2.8%) me: 9.1s (91.3x, -0.6%) ca: 6.7s (67.4x, 0.0%) he: 8.1s (80.5x, -1.3%) ca: 3.6s (35.6x, -0.8%) dr: 4.9s (48.7x, -2.5%) ma: 5.0s (50.3x, 3.1%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.3s (26.0x, -----) me: 1.5s (149.0x, -----) ca: 1.0s (104.0x, -----) he: 1.3s (128.0x, -----) ca: 0.7s (67.0x, -----) dr: 1.0s (98.0x, -----) ma: 1.1s (107.0x, -----) many-loss-records valgrind-old:0.01s no: 0.3s (26.0x, 0.0%) me: 1.5s (149.0x, 0.0%) ca: 1.0s (100.0x, 3.8%) he: 1.3s (128.0x, 0.0%) ca: 0.7s (70.0x, -4.5%) dr: 1.0s (101.0x, -3.1%) ma: 1.0s (103.0x, 3.7%) -- many-xpts -- many-xpts valgrind-new:0.03s no: 0.3s (10.0x, -----) me: 1.6s (55.0x, -----) ca: 2.5s (83.0x, -----) he: 2.2s (74.3x, -----) ca: 1.0s (32.0x, -----) dr: 1.4s (46.3x, -----) ma: 1.6s (52.7x, -----) many-xpts valgrind-old:0.03s no: 0.3s (10.3x, -3.3%) me: 1.6s (55.0x, 0.0%) ca: 2.5s (83.0x, 0.0%) he: 2.2s (74.0x, 0.4%) ca: 0.9s (31.3x, 2.1%) dr: 1.4s (46.3x, 0.0%) ma: 1.6s (52.7x, 0.0%) -- sarp -- sarp valgrind-new:0.02s no: 0.3s (14.0x, -----) me: 2.4s (119.0x, -----) ca: 1.7s (85.5x, -----) he: 6.2s (310.0x, -----) ca: 0.9s (45.0x, -----) dr: 0.9s (46.0x, -----) ma: 0.3s (14.5x, -----) sarp valgrind-old:0.02s no: 0.3s (14.0x, 0.0%) me: 2.4s (119.5x, -0.4%) ca: 1.7s (86.5x, -1.2%) he: 6.2s (309.5x, 0.2%) ca: 0.9s (45.5x, -1.1%) dr: 0.9s (45.0x, 2.2%) ma: 0.3s (15.0x, -3.4%) -- tinycc -- tinycc valgrind-new:0.16s no: 1.4s ( 8.6x, -----) me: 7.8s (49.1x, -----) ca:10.8s (67.8x, -----) he:10.3s (64.6x, -----) ca: 7.8s (49.0x, -----) dr: 8.0s (50.1x, -----) ma: 2.5s (15.4x, -----) tinycc valgrind-old:0.16s no: 1.4s ( 8.4x, 2.2%) me: 8.2s (50.9x, -3.8%) ca:10.6s (66.2x, 2.3%) he:10.0s (62.5x, 3.3%) ca: 8.1s (50.6x, -3.2%) dr: 8.2s (51.2x, -2.2%) ma: 2.5s (15.5x, -0.8%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 34m58.622s user 33m59.287s sys 0m25.209s |
Author: petarj
Date: Thu Sep 4 01:07:08 2014
New Revision: 14449
Log:
mips64: add tests for Cavium BBIT0 and BBIT1
Follow up to VEX r2942 in which support for Cavium BBIT0/1 instructions
has been added.
Added:
trunk/none/tests/mips64/cvm_bbit.c
trunk/none/tests/mips64/cvm_bbit.stderr.exp
trunk/none/tests/mips64/cvm_bbit.stdout.exp
trunk/none/tests/mips64/cvm_bbit.stdout.exp-non-octeon
trunk/none/tests/mips64/cvm_bbit.vgtest
Modified:
trunk/none/tests/mips64/ (props changed)
trunk/none/tests/mips64/Makefile.am
Modified: trunk/none/tests/mips64/Makefile.am
==============================================================================
--- trunk/none/tests/mips64/Makefile.am (original)
+++ trunk/none/tests/mips64/Makefile.am Thu Sep 4 01:07:08 2014
@@ -10,6 +10,8 @@
branch_and_jump_instructions.stdout.exp \
branch_and_jump_instructions.stderr.exp branch_and_jump_instructions.vgtest \
branches.stdout.exp branches.stderr.exp branches.vgtest \
+ cvm_bbit.stdout.exp cvm_bbit.stdout.exp-non-octeon \
+ cvm_bbit.stderr.exp cvm_bbit.vgtest \
cvm_ins.stdout.exp cvm_ins.stdout.exp-non-octeon \
cvm_ins.stderr.exp cvm_ins.vgtest \
cvm_lx_ins.stdout.exp-LE cvm_lx_ins.stdout.exp-BE \
@@ -63,6 +65,7 @@
arithmetic_instruction \
branch_and_jump_instructions \
branches \
+ cvm_bbit \
cvm_ins \
cvm_lx_ins \
cvm_atomic \
@@ -93,6 +96,7 @@
allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
+cvm_bbit_CFLAGS = $(AM_CFLAGS) -g -O0 @FLAG_OCTEON@
cvm_ins_CFLAGS = $(AM_CFLAGS) -g -O0 @FLAG_OCTEON@
cvm_lx_ins_CFLAGS = $(AM_CFLAGS) -g -O0 @FLAG_OCTEON2@
cvm_atomic_CFLAGS = $(AM_CFLAGS) -g -O0 @FLAG_OCTEON2@
Added: trunk/none/tests/mips64/cvm_bbit.c
==============================================================================
--- trunk/none/tests/mips64/cvm_bbit.c (added)
+++ trunk/none/tests/mips64/cvm_bbit.c Thu Sep 4 01:07:08 2014
@@ -0,0 +1,38 @@
+#include <stdio.h>
+
+int main()
+{
+#if (_MIPS_ARCH_OCTEON)
+ int t1 = 0;
+ int t2 = 0;
+ __asm__ volatile(
+ ".set noreorder" "\n\t"
+ "move $t0, $zero" "\n\t"
+ "label2:" "\n\t"
+ "addiu $t0, $t0, 1" "\n\t"
+ "bbit0 $t0, 0x3, label2" "\n\t"
+ "nop" "\n\t"
+ "move %0, $t0" "\n\t"
+ ".set reorder" "\n\t"
+ : "=r" (t1)
+ :
+ : "t0");
+ __asm__ volatile(
+ ".set noreorder" "\n\t"
+ "li $t0, 0xff" "\n\t"
+ "label1:" "\n\t"
+ "addiu $t0, $t0, -1" "\n\t"
+ "bbit1 $t0, 0x3, label1" "\n\t"
+ "nop" "\n\t"
+ "move %0, $t0" "\n\t"
+ ".set reorder" "\n\t"
+ : "=r" (t2)
+ :
+ : "t0");
+
+ printf("TEST bbit0: %s\n", t1 == 0x08 ? "PASS" : "FAIL");
+ printf("TEST bbit1: %s\n", t2 == 0xF7 ? "PASS" : "FAIL");
+
+#endif
+ return 0;
+}
Added: trunk/none/tests/mips64/cvm_bbit.stderr.exp
==============================================================================
(empty)
Added: trunk/none/tests/mips64/cvm_bbit.stdout.exp
==============================================================================
--- trunk/none/tests/mips64/cvm_bbit.stdout.exp (added)
+++ trunk/none/tests/mips64/cvm_bbit.stdout.exp Thu Sep 4 01:07:08 2014
@@ -0,0 +1,2 @@
+TEST bbit0: PASS
+TEST bbit1: PASS
Added: trunk/none/tests/mips64/cvm_bbit.stdout.exp-non-octeon
==============================================================================
(empty)
Added: trunk/none/tests/mips64/cvm_bbit.vgtest
==============================================================================
--- trunk/none/tests/mips64/cvm_bbit.vgtest (added)
+++ trunk/none/tests/mips64/cvm_bbit.vgtest Thu Sep 4 01:07:08 2014
@@ -0,0 +1,3 @@
+prog: cvm_bbit
+prereq: ../../../tests/mips_features cavium-octeon
+vgopts: -q
|