[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] The memory type of non-RAM address is WB by default?

In changeset 17471:cd5dc735bdf3(x86, hvm: Lots of MTRR/PAT emulation cleanup), 
the default memory type is set to WB and the type of each special memory range 
is set properly. Specially, [3.75G, 4G) is assumed as PCI space and marked as 

I meet with an issue:
When I "xm pci-attach" a NIC into RHEL5.1 Linux guest(memory=256M), the virtual 
MMIO BAR assigned by guest starts from 0x20000000 and I don't find guest kernel 
tries to set the MTRR registers at all; as a result, the type of the pfn is WB, 
but in hypervisor, the host mfn is UC, so when guest accesses the vBAR, there 
are many lines of such warnings printed:

(XEN) mtrr.c:400:d10 Conflict occurs for a given guest l1e flags:163 at 
20000000 (the effective mm type:6), because the host mtrr type is:0

Here I think the device should work normally since the actual host mfn  is UC, 
but we might as well fix such inconsistency.
Can't we set the default type to UC?

BTW: when I statically assign a NIC to guest via config file, since the vBAR 
assigned by hvmloader starts from 0xF0000000, I don't see the warnings.

-- Dexuan

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.