[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH] cputlb: use uint64_t for interim values for
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [RFC PATCH] cputlb: use uint64_t for interim values for unaligned load |
Date: |
Tue, 04 Jun 2019 10:43:59 +0100 |
User-agent: |
mu4e 1.3.2; emacs 26.1 |
Andrew Randrianasulu <address@hidden> writes:
> В сообщении от Monday 03 June 2019 18:01:20 Alex Bennée написал(а):
>> When running on 32 bit TCG backends a wide unaligned load ends up
>> truncating data before returning to the guest. We specifically have
>> the return type as uint64_t to avoid any premature truncation so we
>> should use the same for the interim types.
>>
>> Hopefully fixes #1830872
>>
>> Signed-off-by: Alex Bennée <address@hidden>
>> ---
>> accel/tcg/cputlb.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
>> index cdcc3771020..b796ab1cbea 100644
>> --- a/accel/tcg/cputlb.c
>> +++ b/accel/tcg/cputlb.c
>> @@ -1303,7 +1303,7 @@ load_helper(CPUArchState *env, target_ulong addr,
>> TCGMemOpIdx oi,
>> && unlikely((addr & ~TARGET_PAGE_MASK) + size - 1
>> >= TARGET_PAGE_SIZE)) {
>> target_ulong addr1, addr2;
>> - tcg_target_ulong r1, r2;
>> + uint64_t r1, r2;
>> unsigned shift;
>> do_unaligned_access:
>> addr1 = addr & ~(size - 1);
>
> Unfortunatly, this doesn't fix 32-bit qemu-system-x86_64 .... so, my
> bug is separate from #1830872 ?
I think you've hit two - one of which we have just fixed. With my
expanded memory test on i386 I'm seeing a hang but it's ok @
pull-demacro-softmmu-100519-1. Unfortunately bisecting through the slirp
move and other i386 Werror stuff is proving painful.
>
> I also was unable to convince qemu to use my kernel-only x86_64 gcc 6.5.0
> cross-compiler ..
> probably x86-64 testing on i686 requires either docker (I don't have this
> ) or 'real' cross-compiler (build with glibc support).
--
Alex Bennée
- [Qemu-devel] [RFC PATCH] cputlb: use uint64_t for interim values for unaligned load, Alex Bennée, 2019/06/03
- Re: [Qemu-devel] [RFC PATCH] cputlb: use uint64_t for interim values for unaligned load, Andrew Randrianasulu, 2019/06/03
- Re: [Qemu-devel] [RFC PATCH] cputlb: use uint64_t for interim values for unaligned load,
Alex Bennée <=
- Re: [Qemu-devel] [RFC PATCH] cputlb: use uint64_t for interim values for unaligned load, Laszlo Ersek, 2019/06/03
- Re: [Qemu-devel] [RFC PATCH] cputlb: use uint64_t for interim values for unaligned load, Richard Henderson, 2019/06/03
- Re: [Qemu-devel] [RFC PATCH] cputlb: use uint64_t for interim values for unaligned load, Philippe Mathieu-Daudé, 2019/06/04
- Re: [Qemu-devel] [RFC PATCH] cputlb: use uint64_t for interim values for unaligned load, Igor Mammedov, 2019/06/04