From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MrrB7-00069W-BB for qemu-devel@nongnu.org; Sun, 27 Sep 2009 06:40:29 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MrrB2-00066c-Mp for qemu-devel@nongnu.org; Sun, 27 Sep 2009 06:40:28 -0400 Received: from [199.232.76.173] (port=55736 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MrrB2-00066W-ED for qemu-devel@nongnu.org; Sun, 27 Sep 2009 06:40:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:22706) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MrrB1-0005fc-Vg for qemu-devel@nongnu.org; Sun, 27 Sep 2009 06:40:24 -0400 Message-ID: <4ABF4110.80300@redhat.com> Date: Sun, 27 Sep 2009 12:40:16 +0200 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [PATCHv2] qemu: target library, use it in msix References: <20090923200635.GA21246@redhat.com> <20090927082020.GA23513@redhat.com> In-Reply-To: <20090927082020.GA23513@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: Blue Swirl , qemu-devel@nongnu.org On 09/27/2009 10:20 AM, Michael S. Tsirkin wrote: > On Thu, Sep 24, 2009 at 08:50:11PM +0300, Blue Swirl wrote: > >> On Wed, Sep 23, 2009 at 11:06 PM, Michael S. Tsirkin wrote: >> >>> This creates target.c, which builds per-target, and makes it possible >>> for devices to become target-independent. Use it in msix, reverting >>> part of 5e520a7d500ec2569d22d80f9ef4272a34cb3c80, as we no longer have >>> to pass target page around. >>> >> >>> +unsigned target_page_align(unsigned value) >>> +{ >>> + return TARGET_PAGE_ALIGN(value); >>> +} >>> >> This must be: >> target_phys_addr_t target_page_align(target_phys_addr_t value) >> > Thinking about this some more, this function just says "align a value to > page size". The value might not be a bus address at all, and indeed with > msix use, it is not. Makes sense? > In any case restricting it to unsigned invites truncation. We can have target_phys_addr_t target_phys_page_align(); target_ulong_t target_virt_page_align(); or just uint64_t target_page_align(); (which is wasteful on 32/32 guests and 32 hosts). -- Do not meddle in the internals of kernels, for they are subtle and quick to panic.