This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] MMIO ioremap() error with PCI passthrough

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] MMIO ioremap() error with PCI passthrough
From: Andy Burns <lists.xensource.com@xxxxxxxxxxxxxx>
Date: Tue, 01 Jul 2008 16:44:01 +0100
Delivery-date: Tue, 01 Jul 2008 08:44:29 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C48FF03E.235B9%keir.fraser@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <C48FF03E.235B9%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv: Gecko/20080421 Lightning/0.8 Thunderbird/ Mnenhy/
On 01/07/2008 14:31, Keir Fraser wrote:

Well, your analysis is correct, and the size argument to __ioremap() is
bogus. It shouldn't have been rounded up to 4096 without also rounding down
the base address.

Just been having a look and a think, the size isn't being rounded up anywhere, the size is actually passed in as 4K from the driver

     dev->lmmio = ioremap(pci_resource_start(pci_dev,0), 0x1000);

Perhaps the rounding up to 8K is happening because the address isn't aligned on a page boundary, so is split over two pages?

So I assume it is the driver at fault for mapping a larger resource area than the card actually supports?

I'll try changing the size argument to 0x400 and rebuilding the saa7134 module.

So, could be a bug specific to the FC8 kernel.

Actually centos5.2 is the domU, FC8 is the dom0, since it's x86_64, I assume it's the Fedora/Redhat forward-port effort, rather than the paravirt_ops effort.

Xen-devel mailing list