Re: [Qemu-devel] [PATCH for-4.0 0/5] tcg/i386: Improve guest_base handling
On Mon, Dec 03, 2018 at 10:08:35 -0600, Richard Henderson wrote: > This tidies guest_base handling such that (1) we require no scratch > registers, (2) we require no extra instructions besides the memory op, > and (3) we reduce the size of the memory op by omitting a prefix. > > In principal point 3 is offset by adding additional opcodes to handle > zero-extension when converting 64-bit guest values back to 32-bit guest > addresses. But those turn out to be hen's teeth, since 32-bit guests > often have no way of even producing 64-bit guest values. > > In particular, I saw none in a simple pass through linux-user-test-0.3 > for i386, arm, sh4, sparc. Reviewed-by: Emilio G. Cota for the series. Thanks, Emilio
Re: [Qemu-devel] [PATCH for-4.0 0/5] tcg/i386: Improve guest_base handling
Patchew URL: https://patchew.org/QEMU/20181203160840.15115-1-richard.hender...@linaro.org/ Hi, This series seems to have some coding style problems. See output below for more information: Subject: [Qemu-devel] [PATCH for-4.0 0/5] tcg/i386: Improve guest_base handling Message-id: 20181203160840.15115-1-richard.hender...@linaro.org Type: series === TEST SCRIPT BEGIN === #!/bin/bash BASE=base n=1 total=$(git log --oneline $BASE.. | wc -l) failed=0 git config --local diff.renamelimit 0 git config --local diff.renames True git config --local diff.algorithm histogram commits="$(git log --format=%H --reverse $BASE..)" for c in $commits; do echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..." if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then failed=1 echo fi n=$((n+1)) done exit $failed === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Switched to a new branch 'test' 76861b4 tcg/i386: Add setup_guest_base_seg for FreeBSD 94f1510 tcg/i386: Precompute all guest_base parameters 979a645 tcg/i386: Assume 32-bit values are zero-extended ec46a17 tcg/i386: Implement INDEX_op_extr{lh}_i64_i32 for 32-bit guests 7eab43f tcg/i386: Propagate is64 to tcg_out_qemu_ld_direct === OUTPUT BEGIN === Checking PATCH 1/5: tcg/i386: Propagate is64 to tcg_out_qemu_ld_direct... Checking PATCH 2/5: tcg/i386: Implement INDEX_op_extr{lh}_i64_i32 for 32-bit guests... Checking PATCH 3/5: tcg/i386: Assume 32-bit values are zero-extended... Checking PATCH 4/5: tcg/i386: Precompute all guest_base parameters... WARNING: architecture specific defines should be avoided #34: FILE: tcg/i386/tcg-target.inc.c:1864: +# if defined(__x86_64__) && defined(__linux__) total: 0 errors, 1 warnings, 136 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 5/5: tcg/i386: Add setup_guest_base_seg for FreeBSD... ERROR: space prohibited between function name and open parenthesis '(' #17: FILE: tcg/i386/tcg-target.inc.c:1875: +# elif defined (__FreeBSD__) || defined (__FreeBSD_kernel__) ERROR: space prohibited between function name and open parenthesis '(' #17: FILE: tcg/i386/tcg-target.inc.c:1875: +# elif defined (__FreeBSD__) || defined (__FreeBSD_kernel__) total: 2 errors, 0 warnings, 15 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. === OUTPUT END === Test command exited with code: 1 The full log is available at http://patchew.org/logs/20181203160840.15115-1-richard.hender...@linaro.org/testing.checkpatch/?type=message. --- Email generated automatically by Patchew [http://patchew.org/]. Please send your feedback to patchew-de...@redhat.com
[Qemu-devel] [PATCH for-4.0 0/5] tcg/i386: Improve guest_base handling
This tidies guest_base handling such that (1) we require no scratch registers, (2) we require no extra instructions besides the memory op, and (3) we reduce the size of the memory op by omitting a prefix. In principal point 3 is offset by adding additional opcodes to handle zero-extension when converting 64-bit guest values back to 32-bit guest addresses. But those turn out to be hen's teeth, since 32-bit guests often have no way of even producing 64-bit guest values. In particular, I saw none in a simple pass through linux-user-test-0.3 for i386, arm, sh4, sparc. r~ Richard Henderson (5): tcg/i386: Propagate is64 to tcg_out_qemu_ld_direct tcg/i386: Implement INDEX_op_extr{lh}_i64_i32 for 32-bit guests tcg/i386: Assume 32-bit values are zero-extended tcg/i386: Precompute all guest_base parameters tcg/i386: Add setup_guest_base_seg for FreeBSD tcg/i386/tcg-target.h | 5 +- tcg/i386/tcg-target.inc.c | 188 -- 2 files changed, 83 insertions(+), 110 deletions(-) -- 2.17.2