[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RfC PATCH] virtio-pci: place msix regions in modern vi
From: |
Gerd Hoffmann |
Subject: |
Re: [Qemu-devel] [RfC PATCH] virtio-pci: place msix regions in modern virtio bar |
Date: |
Fri, 23 Jan 2015 14:53:27 +0100 |
Hi,
> I wanted to make the modern BAR prefetcheable, so it can
> be a full 64-bit one,
It's not the case right now though, the two bars have identical
attributes, and there is plenty of unused space in the modern virtio
bar ...
> this is impossible with the MSI-X
> BAR.
What exactly is impossible? msi-x being in a 64bit bar? msi-x being in
a prefetchable bar? Also why the bar needs to be prefetchable to be
64bit bit?
xhci looks this way right now:
00:0f.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host
Controller (rev 03) (prog-if 30 [XHCI])
Subsystem: Red Hat, Inc QEMU Virtual Machine
Physical Slot: 15
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 10
Region 0: Memory at febd0000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [90] MSI-X: Enable+ Count=16 Masked-
Vector table: BAR=0 offset=00003000
PBA: BAR=0 offset=00003800
Capabilities: [70] MSI: Enable- Count=1/16 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Kernel driver in use: xhci_hcd
Which works just fine even with msi-x in a 64-bit (non-prefetchable)
bar, but maybe just by pure luck? Also seabios wouldn't map the bar
above 4G.
cheers,
Gerd