[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 11/15] s390x: Implement opcode helpers
From: |
Alexander Graf |
Subject: |
Re: [Qemu-devel] [PATCH 11/15] s390x: Implement opcode helpers |
Date: |
Wed, 13 Apr 2011 07:20:05 +0200 |
Am 12.04.2011 um 23:32 schrieb Aurelien Jarno <address@hidden>:
> On Mon, Apr 04, 2011 at 04:32:20PM +0200, Alexander Graf wrote:
>> There are some instructions that can't (or shouldn't) be expressed by pure
>> tcg code. For those, we call into externally compiled C functions.
>>
>> This patch implements those C functions.
>>
>> Signed-off-by: Alexander Graf <address@hidden>
>>
>> ---
>>
>> v1 -> v2:
>>
>> - new clock syntax
>> - use float_chs
>> - use float compare built-ins
>> - remove redundant EXECUTE_SVC
>>
>> v2 -> v3:
>>
>> - use g2h instead of direct casts
>> - remove old code stuffed into comments
>> ---
>> target-s390x/helpers.h | 151 +++
>> target-s390x/op_helper.c | 2881
>> +++++++++++++++++++++++++++++++++++++++++++++-
>> 2 files changed, 3030 insertions(+), 2 deletions(-)
>> create mode 100644 target-s390x/helpers.h
>
> I don't have a deep knowledge of s390 and this patch is very long (not a
> complain, it's IBM fault), so I haven't look in details. You'll find
> some comments below.
>
> One general comment is that you often pass index of the registers to the
> helper instead of passing the values. This prevent declaring the helpers
> as const, which is not very good from the performance point of view. In
> some cases there is some good reasons though (like returning 128-bit
> values).
There always was a good reason: passing more than 1 value as output. However,
I've reworked quite a lot of the code to not return cc, so we can calculate it
lazily. I probably forgot to adjust the calling afterwards :). Thanks for the
catch!
Alex
- [Qemu-devel] [PATCH 08/15] s390x: virtio machine storage keys, (continued)
- [Qemu-devel] [PATCH 08/15] s390x: virtio machine storage keys, Alexander Graf, 2011/04/04
- [Qemu-devel] [PATCH 12/15] s390x: Adjust internal kvm code, Alexander Graf, 2011/04/04
- [Qemu-devel] [PATCH 10/15] s390x: helper functions for system emulation, Alexander Graf, 2011/04/04
- [Qemu-devel] [PATCH 03/15] s390x: s390x-linux-user support, Alexander Graf, 2011/04/04
- [Qemu-devel] [PATCH 11/15] s390x: Implement opcode helpers, Alexander Graf, 2011/04/04
- [Qemu-devel] [PATCH 09/15] s390x: Prepare cpu.h for emulation, Alexander Graf, 2011/04/04
- [Qemu-devel] [PATCH 13/15] s390x: translate engine for s390x CPU, Alexander Graf, 2011/04/04