[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Unable to boot Xen 4.8 with iommu=0
> From: Jan Beulich [mailto:JBeulich@xxxxxxxx] > Sent: Friday, February 17, 2017 4:21 PM > > I think the commit description is pretty clear. Especially this part > > "This could have the nice side effect of allowing to use "iommu=off" > even when x2APIC was pre-enabled by the BIOS (in which case interrupt > remapping is a requirement, but DMA translation [obviously] isn't), but > that doesn't currently work (and hence x2apic_bsp_setup() forces the > IOMMU on rather than just interrupt remapping)." > > is quite relevant in the context here. Just like Linux, we really ought > to have a way to run with interrupt remapping, but without DMA > remapping. So I think this old commit was a half-hearted step into > that direction, not recognizing that it would break some other case. > > So I think the only reasonable way forward to address Tamas's > issue is to fully disentangle DMA and interrupt remapping setup, > which I'm sure is going to take some time. As a minimal adjustment, > though, I wonder whether that old commit's adjustment to apic.c > shouldn't rather have set force_intremap. Tamas - could you check > whether > > --- a/xen/arch/x86/apic.c > +++ b/xen/arch/x86/apic.c > @@ -975,7 +975,7 @@ void __init x2apic_bsp_setup(void) > goto restore_out; > } > > - force_iommu = 1; > + force_intremap = 1; > > genapic = apic_x2apic_probe(); > printk("Switched to APIC driver %s.\n", genapic->name); > > makes things any better? > > Jan Looks there were some conflicting commits moving the policy back-and-forth. For example, your another commit in 2013 changed back to the old way that iommu_intremap depends on iommu_enable: if ( iommu_enable ) { rc = iommu_hardware_setup(); iommu_enabled = (rc == 0); } ---- (added by fae03721) if ( !iommu_enabled ) iommu_intremap = 0; ---- if ( (force_iommu && !iommu_enabled) || (force_intremap && !iommu_intremap) ) panic("Couldn't enable %s and iommu=required/force", !iommu_enabled ? "IOMMU" : "Interrupt Remapping"); But I cannot understand why Tamas doesn't hit above panic again... Thanks Kevin _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |