From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:59669) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R5ykd-0004un-EG for qemu-devel@nongnu.org; Tue, 20 Sep 2011 07:44:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R5ykc-00072m-6F for qemu-devel@nongnu.org; Tue, 20 Sep 2011 07:44:35 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55693) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R5ykb-00072g-UL for qemu-devel@nongnu.org; Tue, 20 Sep 2011 07:44:34 -0400 Message-ID: <4E787C9A.6050505@redhat.com> Date: Tue, 20 Sep 2011 14:44:26 +0300 From: Avi Kivity MIME-Version: 1.0 References: <20110904181313.GA14020@redhat.com> <4E7007D6.8030102@cn.fujitsu.com> <4E784A33.7040302@cn.fujitsu.com> In-Reply-To: <4E784A33.7040302@cn.fujitsu.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] pci: implement bridge filtering List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Wen Congyang Cc: Kevin Wolf , Isaku Yamahata , qemu-devel@nongnu.org, "Michael S. Tsirkin" On 09/20/2011 11:09 AM, Wen Congyang wrote: > At 09/14/2011 09:48 AM, Wen Congyang Write: > > At 09/05/2011 02:13 AM, Michael S. Tsirkin Write: > >> Support bridge filtering on top of the memory > >> API as suggested by Avi Kivity: > >> > >> Create a memory region for the bridge's address space. This region is > >> not directly added to system_memory or its descendants. Devices under > >> the bridge see this region as its pci_address_space(). The region is > >> as large as the entire address space - it does not take into account > >> any windows. > >> > >> For each of the three windows (pref, non-pref, vga), create an alias > >> with the appropriate start and size. Map the alias into the bridge's > >> parent's pci_address_space(), as subregions. > >> > >> Signed-off-by: Michael S. Tsirkin > >> --- > >> > >> The below seems to work fine for me so I applied this. > >> Still need to test bridge filtering, any help with this > >> appreciated. > >> > > > > > > I test bridge filtering, and the BAR still can be visible on guest even if > > I change the memory region. > > Hi Michael S. Tsirkin: > I test pci bridge filtering on real hardware, and I find that I can mmap > the resource after I change the memory base and memory limit(The BAR should > be not visible on OS after changing the memory region). > > So I try to write and read to the BAR. Here is my test result: > 1. Before changing the pci bridge's memory region, I can read and write to the memory, and > I can get the same value that I write. > > 2. After changing the pci bridge's memory region, I can still read and write to the memory, > but it is very slow, and I can not get the same value that I write(The value is always 0). > > Does this result means that pci bridge filtering works fine? > Yes. Instead of hitting the BAR, you hit the default mmio handler. -- error compiling committee.c: too many arguments to function