On 23 July 2015 at 21:46, Benjamin Herrenschmidt
<b...@kernel.crashing.org> wrote:
> On Thu, 2015-07-23 at 20:24 +0200, Laurent Vivier wrote:
>> From: Michael Roth <mdr...@linux.vnet.ibm.com>
>>
>> Some kernels program a 0 address for io regions. PCI 3.0 spec
>> section 6.2.5.1 doesn't seem to disallow this.
>>
>> Signed-off-by: Michael Roth <mdr...@linux.vnet.ibm.com>
>> [lvivier: add pci_allow_0_addr in MachineClass to conditionally
>> allow addr 0 for pseries, as this can break other architectures]
>> Signed-off-by: Laurent Vivier <lviv...@redhat.com>
>> ---
>
> Why would it break other architectures ? The PCI bus will forward
> address 0 just fine and some devices will decode it just fine too,
> regardless of the architecture they are put on. I don't see why
> having BARs capable of decoding it would break anything...

Discussion from last time around:
http://lists.gnu.org/archive/html/qemu-devel/2015-01/msg01358.html

suggests that it's a workaround for our PC model being buggy
and putting 0-address BARs over the top of some other system
device rather than underneath them...

(Also, none of our PCI device models actually try to do
the "BAR at zero means I won't respond" behaviour, which
presumably they might do in real life.)

-- PMM

Reply via email to