xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Tim Deegan <tim@xen.org>
To: Jan Beulich <JBeulich@suse.com>
Cc: olaf@aepfle.de, keir@xen.org, andres@gridcentric.ca,
	xen-devel@lists.xen.org, wei.wang2@amd.com,
	Andres Lagar-Cavilla <andres@lagarcavilla.org>,
	adin@gridcentric.ca, hongkaixing@huawei.com
Subject: Re: [PATCH 1 of 3] IOMMU: Add command line param to disable sharing of IOMMU and hap tables
Date: Thu, 22 Mar 2012 10:44:35 +0000	[thread overview]
Message-ID: <20120322104435.GC37468@ocelot.phlegethon.org> (raw)
In-Reply-To: <4F6AFC2D020000780007A1CC@nat28.tlf.novell.com>

At 09:17 +0000 on 22 Mar (1332407837), Jan Beulich wrote:
>  >>> On 21.03.12 at 20:22, Andres Lagar-Cavilla <andres@lagarcavilla.org> 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@lagarcavilla.org>
> > 
> > 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:

-----

IOMMU: clean up handling of 'foo' and 'no-foo' command-line options

Signed-off-by: Tim Deegan <tim@xen.org>

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;
         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 );

  reply	other threads:[~2012-03-22 10:44 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-21 19:22 [PATCH 0 of 3] Fixes for paging/sharing with AMD processors Andres Lagar-Cavilla
2012-03-21 19:22 ` [PATCH 1 of 3] IOMMU: Add command line param to disable sharing of IOMMU and hap tables Andres Lagar-Cavilla
2012-03-22  9:17   ` Jan Beulich
2012-03-22 10:44     ` Tim Deegan [this message]
2012-03-22 10:57       ` Jan Beulich
2012-03-22 11:03         ` Tim Deegan
2012-03-27 15:19           ` Andres Lagar-Cavilla
2012-03-29 10:27             ` Tim Deegan
2012-03-29 10:57               ` Keir Fraser
2012-03-29 11:09                 ` Tim Deegan
2012-03-29 15:05               ` Jan Beulich
2012-03-21 19:22 ` [PATCH 2 of 3] Clip mfn to allowable width when building a PTE Andres Lagar-Cavilla
2012-03-22  9:18   ` Jan Beulich
2012-03-22 10:50     ` Tim Deegan
2012-03-22 11:02       ` Jan Beulich
2012-03-22 14:54         ` Andres Lagar-Cavilla
2012-03-22 15:31           ` Jan Beulich
2012-03-27 15:21             ` Andres Lagar-Cavilla
2012-03-21 19:23 ` [PATCH 3 of 3] x86/mm: Teach paging to page table-based p2m Andres Lagar-Cavilla
2012-03-22 10:55   ` Tim Deegan
2012-03-22 14:47     ` Andres Lagar-Cavilla
  -- strict thread matches above, loose matches on Subject: below --
2012-03-01  3:15 [PATCH 0 of 3] RFC Paging support for AMD NPT V2 Andres Lagar-Cavilla
2012-03-01  3:15 ` [PATCH 1 of 3] IOMMU: Add command line param to disable sharing of IOMMU and hap tables Andres Lagar-Cavilla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120322104435.GC37468@ocelot.phlegethon.org \
    --to=tim@xen.org \
    --cc=JBeulich@suse.com \
    --cc=adin@gridcentric.ca \
    --cc=andres@gridcentric.ca \
    --cc=andres@lagarcavilla.org \
    --cc=hongkaixing@huawei.com \
    --cc=keir@xen.org \
    --cc=olaf@aepfle.de \
    --cc=wei.wang2@amd.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).