On 11.09.19 17:18, Richard Henderson wrote:
> On 9/6/19 3:57 AM, David Hildenbrand wrote:
>> 24 and 31-bit address space handling is wrong when it comes to storing
>> back the addresses to the register.
>>
>> Signed-off-by: David Hildenbrand <da...@redhat.com>
>> ---
>>  target/s390x/helper.h      |  2 +-
>>  target/s390x/insn-data.def |  2 +-
>>  target/s390x/mem_helper.c  | 20 ++++++++------------
>>  target/s390x/translate.c   |  8 ++++++--
>>  4 files changed, 16 insertions(+), 16 deletions(-)
> 
> Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
> 
> 
>> -uint64_t HELPER(mvst)(CPUS390XState *env, uint64_t c, uint64_t d, uint64_t 
>> s)
>> +uint32_t HELPER(mvst)(CPUS390XState *env, uint64_t c, uint32_t r1, uint32_t 
>> r2)
>>  {
>> +    const uint64_t d = get_address(env, r1);
>> +    const uint64_t s = get_address(env, r2);
> 
> While you're changing the signature, you could also read R0 implicitly from 
> env
> instead of passing it as C.
> 

Had exactly the same in mind, will do!


-- 

Thanks,

David / dhildenb

Reply via email to