From mboxrd@z Thu Jan 1 00:00:00 1970
Received: from eggs.gnu.org ([2001:4830:134:3::10]:57777)
by lists.gnu.org with esmtp (Exim 4.71)
(envelope-from
) id 1a5tQV-0003RC-1q
for qemu-devel@nongnu.org; Mon, 07 Dec 2015 05:53:52 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from ) id 1a5tQR-0001GX-RO
for qemu-devel@nongnu.org; Mon, 07 Dec 2015 05:53:50 -0500
Received: from mailout3.w1.samsung.com ([210.118.77.13]:17119)
by eggs.gnu.org with esmtp (Exim 4.71)
(envelope-from ) id 1a5tQR-0001Fm-La
for qemu-devel@nongnu.org; Mon, 07 Dec 2015 05:53:47 -0500
Received: from eucpsbgm1.samsung.com (unknown [203.254.199.244])
by mailout3.w1.samsung.com
(Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5
2014)) with ESMTP id <0NYZ00LN9I9ISR80@mailout3.w1.samsung.com> for
qemu-devel@nongnu.org; Mon, 07 Dec 2015 10:53:42 +0000 (GMT)
From: Pavel Fedin
References: <00fe01d1210c$1be12880$53a37980$@samsung.com>
<1447884282.4697.111.camel@redhat.com>
<013101d122b5$240ef500$6c2cdf00$@samsung.com>
<1447976037.4697.205.camel@redhat.com>
<013801d126cc$3efcbdf0$bcf639d0$@samsung.com>
<1449085233.15753.101.camel@redhat.com>
<008a01d12da9$67f816d0$37e84470$@samsung.com>
<1449159960.15753.160.camel@redhat.com>
<1449163144.15753.203.camel@redhat.com>
<1449165536.15753.214.camel@redhat.com>
In-reply-to: <1449165536.15753.214.camel@redhat.com>
Date: Mon, 07 Dec 2015 13:53:41 +0300
Message-id: <015101d130dd$8993b740$9cbb25c0$@samsung.com>
MIME-version: 1.0
Content-type: text/plain; charset=UTF-8
Content-transfer-encoding: quoted-printable
Content-language: ru
Subject: Re: [Qemu-devel] [PATCH] vfio: Align iova also to IOMMU page size
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
To: 'Alex Williamson' , 'Peter Maydell'
Cc: 'QEMU Developers'
Hello!
> TAGET_PAGE_ALIGN tells us that it *could* be a valid DMA target =
though.
> The VM model is capable of using that as a page size, which means we
> assume it is and want to generate a fault.
We seem to have looped back. So...
It is possible to fix this according to this assumption. In this case =
we would need to make TARGET_PAGE_BITS a variable. If we are emulating =
ancient armv5te, it will be set to 10. For modern targets, ARMv6 and =
newer, it will be 12.
Peter, would you ACK this approach? BTW, we even have a kind of hack in =
target-arm/cpu.h:
--- cut ---
#if defined(CONFIG_USER_ONLY)
#define TARGET_PAGE_BITS 12
#else
/* The ARM MMU allows 1k pages. */
/* ??? Linux doesn't actually use these, and they're deprecated in =
recent
architecture revisions. Maybe a configure option to disable them. =
*/
#define TARGET_PAGE_BITS 10
#endif
--- cut ---
Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia