|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] xen does not support the 8G large bar
On August 10, 2016 11:30:37 PM EDT, "Gaofeng (GaoFeng, Euler)"
<visen.gao@xxxxxxxxxx> wrote:
>Hi George,
>
>I found that you have submitted a patch about "libxl,hvmloader: Don't
>relocate memory for MMIO hole". So, I have a "8G large bar PCI
>device(NVIDIA Tesla M60)" passthrough question to ask you.
>
>
>
>Host passthrough PCI Device info:
>lspci -vs 06:00.0
>06:00.0 3D controller: NVIDIA Corporation Device 13f2 (rev a1)
> Subsystem: NVIDIA Corporation Device 115e
> Flags: fast devsel, IRQ 40
> Memory at 93000000 (32-bit, non-prefetchable) [disabled] [size=16M]
> Memory at 23c00000000 (64-bit, prefetchable) [disabled] [size=8G]
> Memory at 23e00000000 (64-bit, prefetchable) [disabled] [size=32M]
> Capabilities: [60] Power Management version 3
> Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
> Capabilities: [78] Express Endpoint, MSI 00
> Capabilities: [100] Virtual Channel
> Capabilities: [250] Latency Tolerance Reporting
> Capabilities: [258] #1e
> Capabilities: [128] Power Budgeting <?>
> Capabilities: [420] Advanced Error Reporting
>Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024
><?>
> Capabilities: [900] #19
> Kernel driver in use: pciback
> Kernel modules: nvidiafb
>
>Guest passthrough PCI Device info:
>lspci -vs 00:05.0
>00:05.0 3D controller: NVIDIA Corporation Device 13f2 (rev a1)
> Subsystem: NVIDIA Corporation Device 115e
> Physical Slot: 5
> Flags: fast devsel, IRQ 36
> Memory at f5000000 (32-bit, non-prefetchable) [size=16M]
> Memory at 200000000 (64-bit, prefetchable) [size=4G]
> Memory at f2000000 (64-bit, prefetchable) [size=32M]
> Capabilities: [60] Power Management version 3
> Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
> Capabilities: [78] Express Endpoint, MSI 00
> Kernel modules: nouveau, nvidiafb
>
>
>passthrough to the guest, the large bar size only has 4G. so, the
>passthrough pci device does not work, windows 7/2008 R2 64bit vm has
>the same problem.
>
>.
>
>According to the analysis hvmloader code, find a problem:
>
>
>
>if (is_64bar) {
>
> bar_data_upper = pci_readl(devfn, bar_reg + 4);
>
> pci_writel(devfn, bar_reg + 4, ~0);
>
> bar_sz_upper = pci_readl(devfn, bar_reg + 4);
>
> pci_writel(devfn, bar_reg + 4, bar_data_upper);
>
> bar_sz = (bar_sz_upper << 32) | bar_sz;
>
> }
>
> bar_sz &= ~(bar_sz - 1);
>
>
>
>read from the pci device, bar_sz_upper is 0xffffffff, if the bar size
>is 8G, the bar_sz_upper should be 0xfffffffe.
>
>Have you ever encountered a similar problem?
>
>
Yes but only if you are using qemu-trad.
You need to have
https://github.com/xenserver/qemu-trad.pg/blob/master/master/0001-Add-64-bit-support-to-QEMU.patch
>
>Env info:
>
>device_model_version: qemu-xen
>
>xen version: xen-4.6.1
>
>Guest: RedHat-6.4-64
>
>Passthrough PCI Device: NVIDIA Tesla M60(compute mode)
>
>CPU: Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz
>
>
>
>Thanks
>
>Feng
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Xen-devel mailing list
>Xen-devel@xxxxxxxxxxxxx
>https://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |