|
From: | Avi Kivity |
Subject: | Re: [Qemu-devel] [PATCH] pci: add standard bridge device |
Date: | Fri, 19 Aug 2011 08:26:04 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20110707 Thunderbird/5.0 |
On 08/18/2011 10:12 PM, Wen Congyang wrote:
>> >> The following patch can fix this problem, but I'm not sure whether it >> is right. > > It's correct but insufficient, the filtering code (pci_bridge_filter) > needs to be updated to use the memory API. I read the function pci_bridge_filter(), and the function only read PCI bridge's config space(command, base and limit). If base> limit, it will set addr to PCI_BAR_UNMAPPED. I do not find anything that needs to updated to use the memory API.
Currently it doesn't do any filtering at all. Bridges need to create a new address space, then attach aliases of this region (corresponding to the filtered area and to the legacy vga space) to the parent bus' address space.
I add a scsi controller on pci bus1, and a scsi disk on this controller. I can read and write this disk, and I do not meet any problem.
However, filtering doesn't work. You could put a BAR outside the filtered area and it would be visible to the guest.
-- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.
[Prev in Thread] | Current Thread | [Next in Thread] |