My testing shows that Linux guests will try to probe pci bar with MMIO being
enabled. When I assign a broadcom NIC with 32MB MMIO a Linux guest, guest
will hang after remapping a guest address "0xfe000000" to physical mmio.
However, windows and BSD guests do not have this issue. They alway probe mmio
size after disabling mmio.
On Monday 20 July 2009 16:26:00 Jiang, Yunhong wrote:
> I assume guest should disable the MMIO in PCI_COMMAND before writing all
> "1"s to bar register. Otherwise, what will happen on native if guest try to
> access 0xFFFFFFF0? And if we do update the P2M, will it cause trouble to
> Xen HV?
> Yunhong Jiang
> xen-devel-bounces@xxxxxxxxxxxxxxxxxxx wrote:
> > Hi,
> > When guest code tries to get the block size of mmio, it will write
> > all "1"s into pci bar register and then qemu will return all "0"s to
> > the don't care
> > bits in the emulated bar register to indicate the block size
> > to guest code.
> > In this case, we should not create p2m mapping in
> > pt_bar_reg_write() and
> > pt_exp_rom_bar_reg_write(). Attached patch fixes this issue,
> > additional comment can be found in the patch.
> > Thanks,
> > Wei
> > Signed-off-by: Wei Wang <wei.wang2@xxxxxxx>
> > --
> > AMD GmbH, Germany
> > Operating System Research Center
> > Legal Information:
> > Advanced Micro Devices GmbH
> > Karl-Hammerschmidt-Str. 34
> > 85609 Dornach b. München
> > Geschäftsführer: Jochen Polster, Thomas M. McCoy, Giuliano Meroni
> > Sitz: Dornach, Gemeinde Aschheim, Landkreis München
> > Registergericht München, HRB Nr. 43632
Xen-devel mailing list