[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] PCI passthrough to QEMU traditional stubdom not working when option ROM present
On Mon, Oct 24, 2016 at 8:47 AM, Jan Beulich <JBeulich@xxxxxxxx> wrote: >>>> On 24.10.16 at 14:30, <eshelton@xxxxxxxxx> wrote: >> As best as I can tell, the current code already writes out the proper >> value for sizing ("pci_write_long(d, reg, ~0)" in the above code >> snippet). > > No - for sizing a ROM BAR, only the address portion is supposed to > be written with all 1s as per the PCI spec. In particular it should be > quite clear that writing the enable bit with 1 is a bad thing when the > address portion is also written with all 1s. > > I'd like to note though that as of commit d2bd05d88d ("xen-pciback: > return proper values during BAR sizing") the handling there is more > relaxed - previously writes of 0xFFFFFFFE were the only ones > considered to be sizing ones. > > Jan Rev 2.2 of the PCI spec, at 6.2.5.2, states that "configuration software can determine how much address space the device requires by writing a value of all 1' to the address portion of the register." Does the "address portion" refer to the upper 21 bits (meaning we should write 0xFFFFF800) or the upper 31 bits (meaning we should write 0xFFFFFFFE)? 4.4.14 pciback code appears to expect the latter, and with the newer more relaxed pciback code it doesn't matter. For purposes of fixing this bug in Xen, which do you consider to be the "correct" sizing write value for QEMU to be writing out when it sizes the expansion ROM? Eric _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |