[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [v6][PATCH 2/2] xen:vtd: missing RMRR mapping while share EPT
>>> On 19.09.14 at 08:50, <tiejun.chen@xxxxxxxxx> wrote: > On 2014/9/19 14:26, Jan Beulich wrote: >>>>> On 19.09.14 at 03:20, <tiejun.chen@xxxxxxxxx> wrote: >>> (XEN) [VT-D]dmar.c:807: found ACPI_DMAR_RMRR: >>> (XEN) [VT-D]dmar.c:383: endpoint: 0000:00:14.0 >>> (XEN) [VT-D]dmar.c:676: RMRR region: base_addr ab805000 end_address >>> ab818fff >>> (XEN) [VT-D]dmar.c:807: found ACPI_DMAR_RMRR: >>> (XEN) [VT-D]dmar.c:383: endpoint: 0000:00:02.0 >>> (XEN) [VT-D]dmar.c:676: RMRR region: base_addr ad000000 end_address >>> af7fffff >> >> So how does passing through either of these work for a guest with >> 4Gb or more of memory assigned with just the original 2 patches >> (and with shared page tables)? There ought to be a collision detected >> when trying to do the identity mapping. > > Do you mean this point, mfn_valid(mfn)? If yes, I remember we made > agreement previously about how to cover three cases including this scenario: > > " > #1: !mfn_valid(mfn) > > We can create those mapping safely. > > #2: mfn_x(mfn) == gfn && p2mt == p2m_mmio_direct && a == p2m_access_rw > > We already have these matched mappings. > > #3: Others > > Return with that waring message: "Cannot identity map d%d:%lx, already > mapped to %lx but mismatch.\n" > " > And this is just as we did in patch #1: > > + > + if ( !mfn_valid(mfn) ) > + ret = p2m_set_entry(p2m, gfn, _mfn(gfn), PAGE_ORDER_4K, > p2m_mmio_direct, > + p2m_access_rw); > + else if ( mfn_x(mfn) == gfn && > + p2mt == p2m_mmio_direct && > + a == p2m_access_rw ) > + ret = 0; > + else > + printk(XENLOG_G_WARNING > + "Cannot identity map d%d:%lx, already mapped to %lx.\n", > + d->domain_id, gfn, mfn_x(mfn)); Right, but the important point is that when the warning gets printed -EBUSY gets returned, i.e. in the end the device assignment is to fail. Are you seeing the warning when creating a large enough guest? If not - can you explain why you don't see it (as I can't)? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |