From: Richard Henderson <rth@twiddle.net>
To: Sergey Sorokin <afarallax@yandex.ru>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Peter Crosthwaite <crosthwaite.peter@gmail.com>,
Alexander Graf <agraf@suse.de>,
"qemu-arm@nongnu.org" <qemu-arm@nongnu.org>,
Claudio Fontana <claudio.fontana@huawei.com>,
Vassili Karpov <av1474@comtv.ru>
Subject: Re: [Qemu-devel] [PATCH v2] Improve the alignment check infrastructure
Date: Wed, 22 Jun 2016 10:12:07 -0700 [thread overview]
Message-ID: <6c24c820-4a26-848c-e62d-88ebce59125d@twiddle.net> (raw)
In-Reply-To: <1793281466613020@web5h.yandex.ru>
On 06/22/2016 09:30 AM, Sergey Sorokin wrote:
>> diff --git a/tcg/ppc/tcg-target.inc.c b/tcg/ppc/tcg-target.inc.c
>> index da10052..3dc38fa 100644
>> --- a/tcg/ppc/tcg-target.inc.c
>> +++ b/tcg/ppc/tcg-target.inc.c
>> @@ -1399,6 +1399,7 @@ static TCGReg tcg_out_tlb_read(TCGContext *s,
>> TCGMemOp opc,
>> int add_off = offsetof(CPUArchState, tlb_table[mem_index][0].addend);
>> TCGReg base = TCG_AREG0;
>> TCGMemOp s_bits = opc & MO_SIZE;
>> + int a_bits = get_alignment_bits(opc);
>>
>> /* Extract the page index, shifted into place for tlb index. */
>> if (TCG_TARGET_REG_BITS == 64) {
>> @@ -1456,14 +1457,21 @@ static TCGReg tcg_out_tlb_read(TCGContext *s,
>> TCGMemOp opc,
>> * the bottom bits and thus trigger a comparison failure on
>> * unaligned accesses
>> */
>> + if (a_bits > 0) {
>> + tcg_debug_assert((((1 << a_bits) - 1) & TLB_FLAGS_MASK) == 0);
>> + } else {
>> + a_bits = s_bits;
>> + }
>> tcg_out_rlw(s, RLWINM, TCG_REG_R0, addrlo, 0,
>> + (32 - a_bits) & 31, 31 - TARGET_PAGE_BITS);
>>
>>
>> ppc32 can certainly support over-alignment, just like every other target. It's
>> just that there are some 32-bit parts that don't support unaligned accesses.
>>
>
> I don't understand your point here.
ppc32 can support a_bits > s_bits.
r~
next prev parent reply other threads:[~2016-06-22 17:12 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-22 12:37 [Qemu-devel] [PATCH v2] Improve the alignment check infrastructure Sergey Sorokin
2016-06-22 15:49 ` Richard Henderson
2016-06-22 16:30 ` Sergey Sorokin
2016-06-22 17:12 ` Richard Henderson [this message]
2016-06-23 10:03 ` Sergey Sorokin
2016-06-23 14:05 ` Richard Henderson
2016-06-23 14:13 ` Sergey Sorokin
2016-06-23 14:45 ` Sergey Sorokin
2016-06-23 16:12 ` Richard Henderson
2016-06-23 18:21 ` Sergey Sorokin
2016-06-23 19:06 ` Richard Henderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6c24c820-4a26-848c-e62d-88ebce59125d@twiddle.net \
--to=rth@twiddle.net \
--cc=afarallax@yandex.ru \
--cc=agraf@suse.de \
--cc=av1474@comtv.ru \
--cc=claudio.fontana@huawei.com \
--cc=crosthwaite.peter@gmail.com \
--cc=pbonzini@redhat.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).