[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] target/s390x/translate: Fix RNSBG instruction
From: |
Thomas Huth |
Subject: |
Re: [PATCH] target/s390x/translate: Fix RNSBG instruction |
Date: |
Thu, 30 Jan 2020 19:39:28 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 |
On 30/01/2020 14.45, David Hildenbrand wrote:
> On 30.01.20 14:34, Thomas Huth wrote:
>> RNSBG is handled via the op_rosbg() helper function. But RNSBG has
>> the opcode 0xEC54, i.e. 0x54 as second byte, while op_rosbg() currently
>> checks for 0x55. This seems to be a typo, fix it to use 0x54 instead,
>> so that op_rosbg() does not abort() anymore if a program uses RNSBG.
>>
>> I've checked with a simply test function that I now get the same results
>> with KVM and with TCG:
>>
>> static void test_rnsbg(void)
>> {
>> uint64_t r1, r2;
>>
>> r2 = 0xffff000000000000UL;
>> r1 = 0x123456789bdfaaaaUL;
>> asm volatile (" rnsbg %0,%1,12,61,16 " : "+r"(r1) : "r"(r2));
>>
>> printf("r1 afterwards: 0x%lx\n", r1);
>> }
>
> You could add a tcg test case for that :)
I already thought about it ... I'll have a try when I've got some spare
time.
Thomas