From: Paolo Bonzini <pbonzini@redhat.com>
To: Maxime Coquelin <maxime.coquelin@redhat.com>,
peterx@redhat.com, mst@redhat.com, jasowang@redhat.com,
qemu-devel@nongnu.org
Cc: qemu-stable@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 1/2] exec: add page_mask for flatview_do_translate
Date: Fri, 6 Oct 2017 14:48:22 +0200 [thread overview]
Message-ID: <c4c02172-cf19-bd56-d120-f72e043a54e0@redhat.com> (raw)
In-Reply-To: <ca80a3c7-c011-fe61-2af6-6261bd6f4d42@redhat.com>
On 06/10/2017 14:46, Maxime Coquelin wrote:
>>> addr = ((iotlb.translated_addr & ~iotlb.addr_mask)
>>> | (addr & iotlb.addr_mask));
>>> - *plen = MIN(*plen, (addr | iotlb.addr_mask) - addr + 1);
>>> + page_mask = iotlb.addr_mask;
>>
>> Should this be "page_mask &= iotlb.addr_mask"?
>>
>> If you have multiple IOMMUs on top of each other (yeah, I know...) I
>> think the smallest size should win. This is also consistent with the
>> MIN in the line below.
>
> I agree, but changin to "page_mask &= iotlb.addr_mask" will not be
> enough, we also have to change the init value. Else we will always end
> up with 0xfff.
>
> Maybe we could do as plen was handled before, i.e. setting page_mask
> init value to (hwaddr)(-1), and after the loop set it to
> ~TARGET_PAGE_MASK if it hasn't been changed.
>
> Does that sound reasonable?
True that, in fact it makes sense for the "IOTLB entry" to represent all
of memory if there's no IOMMU at all.
Thanks,
Paolo
next prev parent reply other threads:[~2017-10-06 12:48 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-06 11:46 [Qemu-devel] [PATCH v2 0/2] exec: further refine address_space_get_iotlb_entry() Maxime Coquelin
2017-10-06 11:46 ` [Qemu-devel] [PATCH v2 1/2] exec: add page_mask for flatview_do_translate Maxime Coquelin
2017-10-06 12:31 ` Paolo Bonzini
2017-10-06 12:46 ` Maxime Coquelin
2017-10-06 12:48 ` Paolo Bonzini [this message]
2017-10-06 13:03 ` Maxime Coquelin
2017-10-09 5:17 ` Peter Xu
2017-10-09 8:30 ` Maxime Coquelin
2017-10-09 8:47 ` Peter Xu
2017-10-06 11:46 ` [Qemu-devel] [PATCH v2 2/2] exec: simplify address_space_get_iotlb_entry Maxime Coquelin
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=c4c02172-cf19-bd56-d120-f72e043a54e0@redhat.com \
--to=pbonzini@redhat.com \
--cc=jasowang@redhat.com \
--cc=maxime.coquelin@redhat.com \
--cc=mst@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@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).