[Qemu-devel] [Bug 1696773] Re: golang calls to exec crash user emulation

2017-06-08 Thread Will Newton
You will need to apply the patch from https://bugs.launchpad.net/qemu/+bug/1696353 to run this sample app on current master. -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1696773 Title: golang call

[Qemu-devel] [Bug 1696773] [NEW] golang calls to exec crash user emulation

2017-06-08 Thread Will Newton
Public bug reported: An example program can be found here: https://github.com/willnewton/qemucrash This code starts a goroutine (thread) and calls exec repeatedly. This works ok natively but when run under ARM user emulation it segfaults (usually, there are occasionally other failures). ** Affe

[Qemu-devel] [Bug 1696353] Re: golang binaries fail to start under linux-user

2017-06-07 Thread Will Newton
True, but it used to work albeit with slightly wrong semantics. It now fails hard even though the golang runtime doesn't make any use of Sys V semaphores so the presence of the flag is not noticeable by any normal user. -- You received this bug notification because you are a member of qemu- devel

[Qemu-devel] [Bug 1696353] [NEW] golang binaries fail to start under linux-user

2017-06-07 Thread Will Newton
Public bug reported: With current master golang binaries fail when run under linux-user, for example: [will@localhost qemu]$ ./arm-linux-user/qemu-arm glide runtime: failed to create new OS thread (have 2 already; errno=22) fatal error: newosproc runtime stack: runtime.throw(0x45f879, 0x9)

[Qemu-devel] [PATCH v4 0/2] target-arm: Add support for AArch32 ARMv8 CRC32 instructions

2014-02-26 Thread Will Newton
This series adds support for the AArch32 CRC32 instructions added in ARMv8. Will Newton (2): include/qemu/crc32c.h: Rename include guards to match filename target-arm: Add support for AArch32 ARMv8 CRC32 instructions configure | 2 +- include/qemu/crc32c.h | 4 ++-- target

[Qemu-devel] [PATCH v4 2/2] target-arm: Add support for AArch32 ARMv8 CRC32 instructions

2014-02-26 Thread Will Newton
for the linux-user binary. Signed-off-by: Will Newton --- configure | 2 +- target-arm/cpu.c | 1 + target-arm/cpu.h | 1 + target-arm/helper.c| 39 +++ target-arm/helper.h| 3 +++ target-arm/translate.c | 56

[Qemu-devel] [PATCH v4 1/2] include/qemu/crc32c.h: Rename include guards to match filename

2014-02-26 Thread Will Newton
Signed-off-by: Will Newton Reviewed-by: Peter Maydell --- include/qemu/crc32c.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Changes in v4: - None diff --git a/include/qemu/crc32c.h b/include/qemu/crc32c.h index 56d1c3b..dafb6a1 100644 --- a/include/qemu/crc32c.h +++ b/include

[Qemu-devel] [PATCH v3 2/2] target-arm: Add support for AArch32 ARMv8 CRC32 instructions

2014-02-25 Thread Will Newton
Add support for AArch32 CRC32 and CRC32C instructions added in ARMv8. The CRC32-C implementation used is the built-in qemu implementation and The CRC-32 implementation is from zlib. This requires adding zlib to LIBS to ensure it is linked for the linux-user binary. Signed-off-by: Will Newton

[Qemu-devel] [PATCH v3 1/2] include/qemu/crc32c.h: Rename include guards to match filename

2014-02-25 Thread Will Newton
Signed-off-by: Will Newton Reviewed-by: Peter Maydell --- include/qemu/crc32c.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Changes in v3: - None diff --git a/include/qemu/crc32c.h b/include/qemu/crc32c.h index 56d1c3b..dafb6a1 100644 --- a/include/qemu/crc32c.h +++ b/include

[Qemu-devel] [PATCH v3 0/2] target-arm: Add support for AArch32 ARMv8 CRC32 instructions

2014-02-25 Thread Will Newton
This series adds support for the AArch32 CRC32 instructions added in ARMv8. Will Newton (2): include/qemu/crc32c.h: Rename include guards to match filename target-arm: Add support for AArch32 ARMv8 CRC32 instructions configure | 2 +- include/qemu/crc32c.h | 4 ++-- target

[Qemu-devel] [PATCH v2 2/2] target-arm: Add support for AArch32 ARMv8 CRC32 instructions

2014-02-18 Thread Will Newton
Add support for AArch32 CRC32 and CRC32C instructions added in ARMv8. The CRC32-C implementation used is the built-in qemu implementation and The CRC-32 implementation is from zlib. This requires adding zlib to LIBS to ensure it is linked for the linux-user binary. Signed-off-by: Will Newton

[Qemu-devel] [PATCH v2 1/2] include/qemu/crc32c.h: Rename include guards to match filename

2014-02-18 Thread Will Newton
Signed-off-by: Will Newton Reviewed-by: Peter Maydell --- include/qemu/crc32c.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/qemu/crc32c.h b/include/qemu/crc32c.h index 56d1c3b..dafb6a1 100644 --- a/include/qemu/crc32c.h +++ b/include/qemu/crc32c.h @@ -25,8

[Qemu-devel] [PATCH v2 0/2] target-arm: Add support for AArch32 ARMv8 CRC32 instructions

2014-02-18 Thread Will Newton
This series adds support for the AArch32 CRC32 instructions added in ARMv8. Will Newton (2): include/qemu/crc32c.h: Rename include guards to match filename target-arm: Add support for AArch32 ARMv8 CRC32 instructions configure | 2 +- include/qemu/crc32c.h | 4 ++-- target

[Qemu-devel] [PATCH 2/3] util/crc32.c: Add CRC-32 implementation

2014-02-17 Thread Will Newton
Add a table-driven CRC-32 implementation similar in style to the existing CRC-32C implementation. Signed-off-by: Will Newton --- include/qemu/crc32.h | 15 util/Makefile.objs | 1 + util/crc32.c | 98 3 files changed, 114

[Qemu-devel] [PATCH 0/3] target-arm: Add support for AArch32 ARMv8 CRC32 instructions

2014-02-17 Thread Will Newton
This series adds support for the AArch32 CRC32 instructions added in ARMv8. The CRC-32 algorithm is added alongside the existing CRC-32C implementation which requires a small fix to the crc32c.h header file. Will Newton (3): include/qemu/crc32c.h: Rename include guards to match filename util

[Qemu-devel] [PATCH 3/3] target-arm: Add support for AArch32 ARMv8 CRC32 instructions

2014-02-17 Thread Will Newton
Add support for AArch32 CRC32 and CRC32C instructions added in ARMv8. Signed-off-by: Will Newton --- target-arm/helper.c| 37 + target-arm/helper.h| 3 +++ target-arm/translate.c | 48 3 files changed

[Qemu-devel] [PATCH 1/3] include/qemu/crc32c.h: Rename include guards to match filename

2014-02-17 Thread Will Newton
Signed-off-by: Will Newton --- include/qemu/crc32c.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/qemu/crc32c.h b/include/qemu/crc32c.h index 56d1c3b..dafb6a1 100644 --- a/include/qemu/crc32c.h +++ b/include/qemu/crc32c.h @@ -25,8 +25,8 @@ * */ -#ifndef

[Qemu-devel] [PATCH v3] target-arm: Add support for AArch32 64bit VCVTB and VCVTT

2014-01-29 Thread Will Newton
Add support for the AArch32 floating-point half-precision to double- precision conversion VCVTB and VCVTT instructions. Signed-off-by: Will Newton --- target-arm/translate.c | 74 ++ 1 file changed, 56 insertions(+), 18 deletions(-) Changes in v3

[Qemu-devel] [PATCH v2 06/11] target-arm: Add support for AArch32 SIMD VRINTX

2014-01-28 Thread Will Newton
Add support for the AArch32 Advanced SIMD VRINTX instruction. Signed-off-by: Will Newton Reviewed-by: Peter Maydell --- target-arm/translate.c | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/target-arm/translate.c b/target-arm/translate.c index 9eb5b92..c179817

[Qemu-devel] [PATCH v2 11/11] target-arm: Add support for AArch32 64bit VCVTB and VCVTT

2014-01-28 Thread Will Newton
Add support for the AArch32 floating-point half-precision to double- precision conversion VCVTB and VCVTT instructions. Signed-off-by: Will Newton --- target-arm/translate.c | 62 ++ 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a

[Qemu-devel] [PATCH v2 07/11] target-arm: Add set_neon_rmode helper

2014-01-28 Thread Will Newton
This helper sets the rounding mode in the standard_fp_status word to allow NEON instructions to modify the rounding mode whilst using the standard FPSCR values for everything else. Signed-off-by: Will Newton Reviewed-by: Peter Maydell --- target-arm/helper.c | 17 + target-arm

[Qemu-devel] [PATCH v2 10/11] target-arm: Add AArch32 SIMD VCVTA, VCVTN, VCVTP and VCVTM

2014-01-28 Thread Will Newton
Add support for the AArch32 Advanced SIMD VCVTA, VCVTN, VCVTP and VCVTM instructions. Signed-off-by: Will Newton --- target-arm/translate.c | 53 +- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/target-arm/translate.c b/target-arm

[Qemu-devel] [PATCH v2 05/11] target-arm: Add support for AArch32 FP VRINTX

2014-01-28 Thread Will Newton
Add support for the AArch32 floating-point VRINTX instruction. Signed-off-by: Will Newton --- target-arm/translate.c | 11 +++ 1 file changed, 11 insertions(+) Changes in v2: - Move code outside the arms of the if diff --git a/target-arm/translate.c b/target-arm/translate.c index

[Qemu-devel] [PATCH v2 08/11] target-arm: Add AArch32 SIMD VRINTA, VRINTN, VRINTP, VRINTM, VRINTZ

2014-01-28 Thread Will Newton
Add support for the AArch32 Advanced SIMD VRINTA, VRINTN, VRINTP VRINTM and VRINTZ instructions. Signed-off-by: Will Newton --- target-arm/translate.c | 40 +++- 1 file changed, 39 insertions(+), 1 deletion(-) Changes in v2: - Merge VRINTZ handling into the

[Qemu-devel] [PATCH v2 04/11] target-arm: Add support for AArch32 FP VRINTZ

2014-01-28 Thread Will Newton
Add support for the AArch32 floating-point VRINTZ instruction. Signed-off-by: Will Newton --- target-arm/translate.c | 16 1 file changed, 16 insertions(+) Changes in v2: - Move code outside the arms of the if diff --git a/target-arm/translate.c b/target-arm/translate.c

[Qemu-devel] [PATCH v2 09/11] target-arm: Add AArch32 FP VCVTA, VCVTN, VCVTP and VCVTM

2014-01-28 Thread Will Newton
Add support for the AArch32 floating-point VCVTA, VCVTN, VCVTP and VCVTM instructions. Signed-off-by: Will Newton --- target-arm/translate.c | 61 ++ 1 file changed, 61 insertions(+) diff --git a/target-arm/translate.c b/target-arm/translate.c

[Qemu-devel] [PATCH v2 03/11] target-arm: Add support for AArch32 FP VRINTR

2014-01-28 Thread Will Newton
Add support for the AArch32 floating-point VRINTR instruction. Signed-off-by: Will Newton --- target-arm/translate.c | 11 +++ 1 file changed, 11 insertions(+) Changes in v2: - Move code outside the arms of the if diff --git a/target-arm/translate.c b/target-arm/translate.c index

[Qemu-devel] [PATCH v2 02/11] target-arm: Add AArch32 FP VRINTA, VRINTN, VRINTP and VRINTM

2014-01-28 Thread Will Newton
Add support for AArch32 ARMv8 FP VRINTA, VRINTN, VRINTP and VRINTM instructions. Signed-off-by: Will Newton --- target-arm/translate.c | 54 ++ 1 file changed, 54 insertions(+) Changes in v2: - Add comment to fp_decode_rm lookup table diff

[Qemu-devel] [PATCH v2 01/11] target-arm: Move arm_rmode_to_sf to a shared location.

2014-01-28 Thread Will Newton
This function will be needed for AArch32 ARMv8 support, so move it to helper.c where it can be used by both targets. Also moves the code out of line, but as it is quite a large function I don't believe this should be a significant performance impact. Signed-off-by: Will Newton Reviewed-by:

[Qemu-devel] [PATCH 0/9] target-arm: Add AArch32 ARMv8 VRINT instructions

2014-01-14 Thread Will Newton
This series adds support for the floating-point and Advanced SIMD versions of the VRINT family of instructions. Will Newton (9): target-arm: Move arm_rmode_to_sf to a shared location. target-arm: Add AArch32 FP VRINTA, VRINTN, VRINTP and VRINTM target-arm: Add support for AArch32 FP VRINTR

[Qemu-devel] [PATCH 1/9] target-arm: Move arm_rmode_to_sf to a shared location.

2014-01-14 Thread Will Newton
This function will be needed for AArch32 ARMv8 support, so move it to helper.c where it can be used by both targets. Also moves the code out of line, but as it is quite a large function I don't believe this should be a significant performance impact. Signed-off-by: Will Newton --- targe

[Qemu-devel] [PATCH 6/9] target-arm: Add support for AArch32 SIMD VRINTX

2014-01-14 Thread Will Newton
Add support for the AArch32 Advanced SIMD VRINTX instruction. Signed-off-by: Will Newton --- target-arm/translate.c | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/target-arm/translate.c b/target-arm/translate.c index 5108f6b..b6d11db 100644 --- a/target-arm

[Qemu-devel] [PATCH 3/9] target-arm: Add support for AArch32 FP VRINTR

2014-01-14 Thread Will Newton
Add support for the AArch32 floating-point VRINTR instruction. Signed-off-by: Will Newton --- target-arm/translate.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/target-arm/translate.c b/target-arm/translate.c index f688f6d..73e0e8d 100644 --- a/target-arm/translate.c +++ b

[Qemu-devel] [PATCH 5/9] target-arm: Add support for AArch32 FP VRINTX

2014-01-14 Thread Will Newton
Add support for the AArch32 floating-point VRINTX instruction. Signed-off-by: Will Newton --- target-arm/translate.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/target-arm/translate.c b/target-arm/translate.c index 153d0e6..5108f6b 100644 --- a/target-arm/translate.c +++ b

[Qemu-devel] [PATCH 8/9] target-arm: Add support for AArch32 SIMD VRINTZ

2014-01-14 Thread Will Newton
Add support for the AArch32 Advanced SIMD VRINTZ instruction. Signed-off-by: Will Newton --- target-arm/translate.c | 19 ++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/target-arm/translate.c b/target-arm/translate.c index b6d11db..16242d3 100644 --- a/target

[Qemu-devel] [PATCH 9/9] target-arm: Add AArch32 SIMD VRINTA, VRINTN, VRINTP and VRINTM

2014-01-14 Thread Will Newton
Add support for the AArch32 Advanced SIMD VRINTA, VRINTN, VRINTP and VRINTM instructions. Signed-off-by: Will Newton --- target-arm/translate.c | 29 - 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/target-arm/translate.c b/target-arm/translate.c index

[Qemu-devel] [PATCH 7/9] target-arm: Add set_neon_rmode helper

2014-01-14 Thread Will Newton
This helper sets the rounding mode in the standard_fp_status word to allow NEON instructions to modify the rounding mode whilst using the standard FPSCR values for everything else. Signed-off-by: Will Newton --- target-arm/helper.c | 17 + target-arm/helper.h | 1 + 2 files

[Qemu-devel] [PATCH 4/9] target-arm: Add support for AArch32 FP VRINTZ

2014-01-14 Thread Will Newton
Add support for the AArch32 floating-point VRINTZ instruction. Signed-off-by: Will Newton --- target-arm/translate.c | 21 + 1 file changed, 21 insertions(+) diff --git a/target-arm/translate.c b/target-arm/translate.c index 73e0e8d..153d0e6 100644 --- a/target-arm

[Qemu-devel] [PATCH 2/9] target-arm: Add AArch32 FP VRINTA, VRINTN, VRINTP and VRINTM

2014-01-14 Thread Will Newton
Add support for AArch32 ARMv8 FP VRINTA, VRINTN, VRINTP and VRINTM instructions. Signed-off-by: Will Newton --- target-arm/translate.c | 49 + 1 file changed, 49 insertions(+) diff --git a/target-arm/translate.c b/target-arm/translate.c index

[Qemu-devel] [PATCH] linux-user: Remove regs parameter load_elf_binary and load_flt_binary

2014-01-09 Thread Will Newton
The regs parameter is not used anywhere, so remove it. Signed-off-by: Will Newton --- linux-user/elfload.c | 3 +-- linux-user/flatload.c | 3 +-- linux-user/linuxload.c | 4 ++-- linux-user/qemu.h | 6 ++ 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/linux-user

Re: [Qemu-devel] arm-softmmu & usb (or hci) passthrough possible?

2013-12-10 Thread Will Newton
t; > So, if you can point me to any arm model which can do usb passthrough > I would be very happy. Thanks. Just a word of warning - the Raspberry Pi uses a non-standard (i.e. non-EHCI) USB host controller so it may prove very difficult to get USB working. -- Will Newton Toolchain Working Group, Linaro

[Qemu-devel] [PATCH v8 4/6] softfloat: Add minNum() and maxNum() functions to softfloat.

2013-12-04 Thread Will Newton
Add floatnn_minnum() and floatnn_maxnum() functions which are equivalent to the minNum() and maxNum() functions from IEEE 754-2008. They are similar to min() and max() but differ in the handling of QNaN arguments. Signed-off-by: Will Newton --- fpu/softfloat.c | 32

[Qemu-devel] [PATCH v8 3/6] softfloat: Remove unused argument from MINMAX macro.

2013-12-04 Thread Will Newton
The nan_exp argument is not used, so remove it. Signed-off-by: Will Newton Reviewed-by: Peter Maydell --- fpu/softfloat.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fpu/softfloat.c b/fpu/softfloat.c index 7ba51b6..97bf627 100644 --- a/fpu/softfloat.c +++ b/fpu

[Qemu-devel] [PATCH v8 5/6] target-arm: Implement ARMv8 FP VMAXNM and VMINNM instructions.

2013-12-04 Thread Will Newton
This adds support for the ARMv8 floating point VMAXNM and VMINNM instructions. Signed-off-by: Will Newton Reviewed-by: Peter Maydell --- target-arm/helper.c| 25 + target-arm/helper.h| 5 + target-arm/translate.c | 50

[Qemu-devel] [PATCH v8 0/6] target-arm: Add support for VSEL and VMIN/MAXNM.

2013-12-04 Thread Will Newton
This series adds support for three new instructions added in ARMv8 - VSEL, VMINNM and VMAXNM. Will Newton (6): target-arm: Move call to disas_vfp_insn out of disas_coproc_insn. target-arm: Implement ARMv8 VSEL instruction. softfloat: Remove unused argument from MINMAX macro. softfloat

[Qemu-devel] [PATCH v8 6/6] target-arm: Implement ARMv8 SIMD VMAXNM and VMINNM instructions.

2013-12-04 Thread Will Newton
This adds support for the ARMv8 Advanced SIMD VMAXNM and VMINNM instructions. Signed-off-by: Will Newton --- target-arm/translate.c | 31 ++- 1 file changed, 22 insertions(+), 9 deletions(-) Changes in v8: - Use VFP helper instead of adding a NEON specific one

[Qemu-devel] [PATCH v8 1/6] target-arm: Move call to disas_vfp_insn out of disas_coproc_insn.

2013-12-04 Thread Will Newton
Floating point is an extension to the instruction set rather than a coprocessor, so call it directly from the ARM and Thumb decode functions. Signed-off-by: Will Newton Reviewed-by: Peter Maydell --- target-arm/translate.c | 32 +++- 1 file changed, 27 insertions

[Qemu-devel] [PATCH v8 2/6] target-arm: Implement ARMv8 VSEL instruction.

2013-12-04 Thread Will Newton
This adds support for the VSEL floating point selection instruction which was added in ARMv8. Signed-off-by: Will Newton Reviewed-by: Peter Maydell --- target-arm/translate.c | 135 - 1 file changed, 134 insertions(+), 1 deletion(-) diff --git a

[Qemu-devel] [PATCH v7 4/6] softfloat: Add minNum() and maxNum() functions to softfloat.

2013-12-02 Thread Will Newton
Add floatnn_minnum() and floatnn_maxnum() functions which are equivalent to the minNum() and maxNum() functions from IEEE 754-2008. They are similar to min() and max() but differ in the handling of QNaN arguments. --- fpu/softfloat.c | 54 +

[Qemu-devel] [PATCH v7 2/6] target-arm: Implement ARMv8 VSEL instruction.

2013-12-02 Thread Will Newton
This adds support for the VSEL floating point selection instruction which was added in ARMv8. --- target-arm/translate.c | 135 - 1 file changed, 134 insertions(+), 1 deletion(-) Changes in v7: - Break out VSEL handling into a function - Properly

[Qemu-devel] [PATCH v7 6/6] target-arm: Implement ARMv8 SIMD VMAXNM and VMINNM instructions.

2013-12-02 Thread Will Newton
This adds support for the ARMv8 Advanced SIMD VMAXNM and VMINNM instructions. Signed-off-by: Will Newton --- target-arm/helper.h | 3 +++ target-arm/neon_helper.c | 16 target-arm/translate.c | 31 ++- 3 files changed, 41 insertions(+), 9

[Qemu-devel] [PATCH v7 5/6] target-arm: Implement ARMv8 FP VMAXNM and VMINNM instructions.

2013-12-02 Thread Will Newton
This adds support for the ARMv8 floating point VMAXNM and VMINNM instructions. --- target-arm/helper.c| 25 + target-arm/helper.h| 5 + target-arm/translate.c | 50 ++ 3 files changed, 80 insertions(+) Changes in

[Qemu-devel] [PATCH v7 3/6] softfloat: Remove unused argument from MINMAX macro.

2013-12-02 Thread Will Newton
The nan_exp argument is not used, so remove it. --- fpu/softfloat.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) Changes in v7: - New patch diff --git a/fpu/softfloat.c b/fpu/softfloat.c index 7ba51b6..97bf627 100644 --- a/fpu/softfloat.c +++ b/fpu/softfloat.c @@ -6706,7 +6706,7

[Qemu-devel] [PATCH v7 1/6] target-arm: Move call to disas_vfp_insn out of disas_coproc_insn.

2013-12-02 Thread Will Newton
Floating point is an extension to the instruction set rather than a coprocessor, so call it directly from the ARM and Thumb decode functions. --- target-arm/translate.c | 32 +++- 1 file changed, 27 insertions(+), 5 deletions(-) Changes in v7: - Fix comment style - F

[Qemu-devel] [PATCH v7 0/6] target-arm: Add support for VSEL and VMIN/MAXNM.

2013-12-02 Thread Will Newton
This series adds support for three new instructions added in ARMv8 - VSEL, VMINNM and VMAXNM. Will Newton (6): target-arm: Move call to disas_vfp_insn out of disas_coproc_insn. target-arm: Implement ARMv8 VSEL instruction. softfloat: Remove unused argument from MINMAX macro. softfloat

Re: [Qemu-devel] [PATCH v6 1/4] target-arm: Move call to disas_vfp_insn out of disas_coproc_insn.

2013-11-29 Thread Will Newton
On 29 November 2013 15:26, Peter Maydell wrote: > On 28 November 2013 17:07, Will Newton wrote: >> >> Floating point is an extension to the instruction set rather than >> a coprocessor, so call it directly from the ARM and Thumb decode >> functions. > > Hi;

[Qemu-devel] [PATCH v6 4/4] target-arm: Implement ARMv8 SIMD VMAXNM and VMINNM instructions.

2013-11-28 Thread Will Newton
This adds support for the ARMv8 Advanced SIMD VMAXNM and VMINNM instructions. Signed-off-by: Will Newton --- target-arm/helper.h | 3 +++ target-arm/neon_helper.c | 24 target-arm/translate.c | 23 +-- 3 files changed, 44 insertions(+), 6

[Qemu-devel] [PATCH v6 2/4] target-arm: Implement ARMv8 VSEL instruction.

2013-11-28 Thread Will Newton
This adds support for the VSEL floating point selection instruction which was added in ARMv8. Signed-off-by: Will Newton --- target-arm/translate.c | 130 - 1 file changed, 129 insertions(+), 1 deletion(-) Changes in v6: - None diff --git a

[Qemu-devel] [PATCH v6 1/4] target-arm: Move call to disas_vfp_insn out of disas_coproc_insn.

2013-11-28 Thread Will Newton
Floating point is an extension to the instruction set rather than a coprocessor, so call it directly from the ARM and Thumb decode functions. Signed-off-by: Will Newton --- target-arm/translate.c | 30 +- 1 file changed, 25 insertions(+), 5 deletions(-) Changes in

[Qemu-devel] [PATCH v6 3/4] target-arm: Implement ARMv8 FP VMAXNM and VMINNM instructions.

2013-11-28 Thread Will Newton
This adds support for the ARMv8 floating point VMAXNM and VMINNM instructions. Signed-off-by: Will Newton --- target-arm/helper.c| 41 + target-arm/helper.h| 5 + target-arm/translate.c | 43 +++ 3

Re: [Qemu-devel] [PATCH v5 1/2] target-arm: Move call to disas_vfp_insn out of disas_coproc_insn.

2013-11-12 Thread Will Newton
On 15 October 2013 16:09, Will Newton wrote: > > Floating point is an extension to the instruction set rather than > a coprocessor, so call it directly from the ARM and Thumb decode > functions. > > Signed-off-by: Will Newton > --- > tar

[Qemu-devel] [PATCH v5 2/2] target-arm: Implement ARMv8 VSEL instruction.

2013-10-15 Thread Will Newton
This adds support for the VSEL floating point selection instruction which was added in ARMv8. Signed-off-by: Will Newton --- target-arm/translate.c | 130 - 1 file changed, 129 insertions(+), 1 deletion(-) Changes in v5: - Break out VSEL decode

[Qemu-devel] [PATCH v5 1/2] target-arm: Move call to disas_vfp_insn out of disas_coproc_insn.

2013-10-15 Thread Will Newton
Floating point is an extension to the instruction set rather than a coprocessor, so call it directly from the ARM and Thumb decode functions. Signed-off-by: Will Newton --- target-arm/translate.c | 29 - 1 file changed, 24 insertions(+), 5 deletions(-) Changes in

[Qemu-devel] [PATCHv4 2/2] target-arm: Implement ARMv8 VSEL instruction.

2013-10-03 Thread Will Newton
This adds support for the VSEL floating point selection instruction which was added in ARMv8. Signed-off-by: Will Newton --- target-arm/translate.c | 113 + 1 file changed, 113 insertions(+) Changes in v4: - Fix leak of temporaries - Extend

[Qemu-devel] [PATCH 1/2] target-arm: Move call to disas_vfp_insn out of disas_coproc_insn.

2013-10-03 Thread Will Newton
Floating point is an extension to the instruction set rather than a coprocessor, so call it directly from the ARM and Thumb decode functions. Signed-off-by: Will Newton --- target-arm/translate.c | 22 +- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/target

Re: [Qemu-devel] [PATCH v2] target-arm: Implement ARMv8 VSEL instruction.

2013-10-03 Thread Will Newton
On 3 October 2013 15:34, Richard Henderson wrote: > On 10/03/2013 05:51 AM, Will Newton wrote: >> +case 0: /* eq: Z */ >> +tcg_gen_movcond_i64(TCG_COND_EQ, ftmp3, cpu_ZF, >> zero, >> +

[Qemu-devel] [PATCH v3] target-arm: Implement ARMv8 VSEL instruction.

2013-10-03 Thread Will Newton
This adds support for the VSEL floating point selection instruction which was added in ARMv8. Signed-off-by: Will Newton --- target-arm/translate.c | 115 ++--- 1 file changed, 110 insertions(+), 5 deletions(-) Changes in v3: - Move calls to

Re: [Qemu-devel] [PATCH v2] target-arm: Implement ARMv8 VSEL instruction.

2013-10-03 Thread Will Newton
On 3 October 2013 13:59, Peter Maydell wrote: > On 3 October 2013 21:51, Will Newton wrote: >> >> This adds support for the VSEL floating point selection instruction >> which was added in ARMv8. It is based on the previous patch[1] from >> Mans Rullgard, but attem

[Qemu-devel] [PATCH v2] target-arm: Implement ARMv8 VSEL instruction.

2013-10-03 Thread Will Newton
-by: Will Newton --- target-arm/translate.c | 105 + 1 file changed, 105 insertions(+) Changes in v2: - Integrate vsel decoding into disas_vfp_insn diff --git a/target-arm/translate.c b/target-arm/translate.c index 998bde2..5e49334 100644 --- a

[Qemu-devel] [PATCH] target-arm: Implement ARMv8 VSEL instruction.

2013-10-03 Thread Will Newton
: Will Newton --- target-arm/translate.c | 121 + 1 file changed, 121 insertions(+) diff --git a/target-arm/translate.c b/target-arm/translate.c index 998bde2..7bfd606 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -2617,6