[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1 of 3] IOMMU: Add command line param to disable sharing of IOMMU and hap tables
>>> On 22.03.12 at 11:44, Tim Deegan <tim@xxxxxxx> wrote: > At 09:17 +0000 on 22 Mar (1332407837), Jan Beulich wrote: >> >>> On 21.03.12 at 20:22, Andres Lagar-Cavilla <andres@xxxxxxxxxxxxxxxx> >> wrote: >> > The default is 1, and the command line parameter sets to 1. Disabling may > be >> > desired if the host will contain VMs that do paging, sharing or mem >> > access, > >> > and >> > won't be doing passthrough. These two features are mutually exclusive for >> > AMD >> > processors. >> > >> > Signed-off-by: Andres Lagar-Cavilla <andres@xxxxxxxxxxxxxxxx> >> > >> > diff -r d7e417afcbe4 -r 642c0e6a01c2 xen/drivers/passthrough/iommu.c >> > --- a/xen/drivers/passthrough/iommu.c >> > +++ b/xen/drivers/passthrough/iommu.c >> > @@ -87,6 +87,8 @@ static void __init parse_iommu_param(cha >> > iommu_dom0_strict = 1; >> > else if ( !strcmp(s, "sharept") ) >> > iommu_hap_pt_share = 1; >> > + else if ( !strcmp(s, "no-sharept") ) >> > + iommu_hap_pt_share = 0; >> >> Taking the description above into consideration - why not simply >> replace the pointless enabling option with the disabling one? > > Let's just fix the whole function to handle 'no-' the way the main > parser does: Good idea, but ... > ----- > > IOMMU: clean up handling of 'foo' and 'no-foo' command-line options > > Signed-off-by: Tim Deegan <tim@xxxxxxx> > > diff -r 8180cb3895af xen/drivers/passthrough/iommu.c > --- a/xen/drivers/passthrough/iommu.c Thu Mar 22 10:26:45 2012 +0000 > +++ b/xen/drivers/passthrough/iommu.c Thu Mar 22 10:38:48 2012 +0000 > @@ -57,36 +57,41 @@ DEFINE_PER_CPU(bool_t, iommu_dont_flush_ > static void __init parse_iommu_param(char *s) > { > char *ss; > + int val; > > do { > + val = !!strncmp(s, "no-", 3); > + if ( !val ) > + s += 3; > + > ss = strchr(s, ','); > if ( ss ) > *ss = '\0'; > > if ( !parse_bool(s) ) > - iommu_enabled = 0; > + iommu_enabled = val; ... this one must remain unchanged, and the handling of the "no-" prefix should come afterwards. Jan > else if ( !strcmp(s, "force") || !strcmp(s, "required") ) > - force_iommu = 1; > + force_iommu = val; > else if ( !strcmp(s, "workaround_bios_bug") ) > iommu_workaround_bios_bug = 1; > else if ( !strcmp(s, "verbose") ) > - iommu_verbose = 1; > - else if ( !strcmp(s, "no-snoop") ) > - iommu_snoop = 0; > - else if ( !strcmp(s, "no-qinval") ) > - iommu_qinval = 0; > - else if ( !strcmp(s, "no-intremap") ) > - iommu_intremap = 0; > + iommu_verbose = val; > + else if ( !strcmp(s, "snoop") ) > + iommu_snoop = val; > + else if ( !strcmp(s, "qinval") ) > + iommu_qinval = val; > + else if ( !strcmp(s, "intremap") ) > + iommu_intremap = val; > else if ( !strcmp(s, "debug") ) > - iommu_debug = 1; > + iommu_debug = val; > else if ( !strcmp(s, "amd-iommu-perdev-intremap") ) > - amd_iommu_perdev_intremap = 1; > + amd_iommu_perdev_intremap = val; > else if ( !strcmp(s, "dom0-passthrough") ) > - iommu_passthrough = 1; > + iommu_passthrough = val; > else if ( !strcmp(s, "dom0-strict") ) > - iommu_dom0_strict = 1; > + iommu_dom0_strict = val; > else if ( !strcmp(s, "sharept") ) > - iommu_hap_pt_share = 1; > + iommu_hap_pt_share = val; > > s = ss + 1; > } while ( ss ); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |