On 07/05/18 01:21, Tarl Neustaedter wrote:
For what it's worth:
On 2018-May-6 20:12 , Joe van Tunen wrote:
b(lit) 0xff and my-space + (unnamed-fcode) [0xa08] b(lit) 0x6 and b(lit) 0x4 =
That sequence is probably testing a BAR for 64-bit capability. Bits 1-2 are the type of memory referenced by a BAR (0=IO, 1=32-bit mem, 2=64-bit mem).
https://en.wikipedia.org/wiki/PCI_configuration_space#Bus_enumeration
Does QEMU do something funny with 64-bit BARs? An NVIDIA card is almost certain to have 64-bit addressing in at least one BAR, and if QEMU doesn't support it, bad things may be happening.
I had to fix this for my virtio patches: OpenBIOS does support 64-bit BARs but only maps devices into 32-bit addresses (i.e. the top 32-bits are always 0).
ATB,
Mark.