At 09/09/2011 03:34 PM, Michael S. Tsirkin Write: > On Fri, Sep 09, 2011 at 03:24:54PM +0800, Wen Congyang wrote: >> At 09/09/2011 03:12 PM, Michael S. Tsirkin Write: >>> On Fri, Sep 09, 2011 at 02:43:24PM +0800, Wen Congyang wrote: >>>>> However, filtering doesn't work. You could put a BAR outside the >>>>> filtered area and it would be visible to the guest. >>>>> >>>> >>>> I test it on real hardware. If I put a BAR outside the filterer area, and >>>> then run 'lspci -vv', the BAR does not change: >>> >>> ... >>> >>> >>>> The BAR1 is feafbc00, and it is in the bus2's range. >>>> I map the BAR(mmap /sys/bus/pci/devices/0000\:03\:01.0/resource1), and find >>>> I can read and write the memory. >>>> >>>> Thanks >>>> Wen Congyang >>> >>> So, it's as expected. Nothing seems wrong with this picture. But >>> this is not the test that Avi suggested. >> >> Sorry for my misunderstand. >> My question is: How to put a BAR outside the filterer area, > > Write into address/limit registers on the bridge to make them > not cover the BAR behind. > >> and how to know >> whether it is visible? >> >> Thanks >> Wen Congyang > > Read the BAR memory as you did.
Thanks for your explain. Wen Congyang