>>> On 11.08.16 at 05:30, <visen....@huawei.com> wrote:
> 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.

But that doesn't indicate a problem with hvmloader. Instead that
tells you that qemu isn't behaving correctly. First thing for you
to do is probably to try a newer qemu, or otherwise see whether
you can figure why qemu sends back 0xffffffff in this case
(perhaps by adding a little bit of logging to the respective code).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to