[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: Re[2]: [Xen-devel] No VT-d with Xen 3.3/3.4rc3 on Intel-Board DQ45CB
Tim Kaufmann wrote: > Am 20.05.2009 um 21:38 schrieb Sander Eikelenboom: > >> Are you problems with VT-D and the Intel-Board DQ45CB fixed ? > > Almost. > > In fact, the hang occurs with RAM > 2 GB and is caused by a BIOS > error. As one of the Intel guys on this list told me after several > tests: Actually the VT-d support of the motherboard is good. The issue is caused by a small mistake in RMRR reporting in BIOS. > >> Please let me offer more technical details about the hang you suffer >> from: Due to the very very big and bad rmrr->end_address >> 0xffffffffbfffffff, in setup_dom0_rmrr() -> >> iommu_prepare_rmrr_dev(), intel_iommu_map_page() is invoked too too >> many times and you see the hang... > > I already received a patch for Xen 3.4RC4 which I can properly enable > VT-d with. But there'll be a BIOS-Update soon, they promised. Yes, I think a BIOS update should come out soon. For now, we can use the following small patch as a workaround. :-) diff -r f80cf52a4fb6 xen/drivers/passthrough/vtd/iommu.c --- a/xen/drivers/passthrough/vtd/iommu.c Thu Apr 30 14:34:15 2009 +0100 +++ b/xen/drivers/passthrough/vtd/iommu.c Mon May 18 16:12:14 2009 +0800 @@ -1541,6 +1541,8 @@ static int iommu_prepare_rmrr_dev(struct ASSERT(spin_is_locked(&pcidevs_lock)); ASSERT(rmrr->base_address < rmrr->end_address); + if ( (rmrr->end_address >> 32) & 0x80000000 ) + rmrr->end_address &= 0xFFFFFFFF; base = rmrr->base_address & PAGE_MASK_4K; base_pfn = base >> PAGE_SHIFT_4K; end = PAGE_ALIGN_4K(rmrr->end_address); Thanks, -- Dexuan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |