From patchwork Tue May 13 15:50:21 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 30091 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-yk0-f198.google.com (mail-yk0-f198.google.com [209.85.160.198]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id E695320560 for ; Tue, 13 May 2014 15:52:43 +0000 (UTC) Received: by mail-yk0-f198.google.com with SMTP id 9sf991624ykp.9 for ; Tue, 13 May 2014 08:52:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:from:to:date:message-id:in-reply-to :references:cc:subject:precedence:list-id:list-unsubscribe:list-post :list-help:list-subscribe:mime-version:sender:errors-to :x-original-sender:x-original-authentication-results:mailing-list :list-archive:content-type:content-transfer-encoding; bh=YAKQfHh1yGVxjnh847WwvjPRKfDUJs0OEGsuYj222eU=; b=efznL8txHZaVwRGrM98JkAicA75FfrcRB00aETcZFByPrP90SHrDcX7c/srvLkB6Wb EPJe9Wn+ZYTtQVFWwnNsv4WObnJQy0d53WbvRtAjrnQGprjLVWU5gBWTDz0EH2CNIG/g LbhPuZJdUVAlZbGq+6OzB4l02lPT6gTARMaTTougLzmdxpfbObE05054vJFph9FREWZs Iiv1cNDsGKz8Wv1baiY28/qFjSMP6qmbzJQEnx4H133SoC9qSxzlIwZA/oAK+4ZN+04u W13r7KrX9WaIC+VYLkRyFCtGOlzwqjx+9KNhyd6IdIxaYi0QpuA6BszI+raGg617hYse 1wAg== X-Gm-Message-State: ALoCoQnMi2hnxVxAnFD4uV9JLPFiBVI1Xdx1yDyyleC695fGnfrQ78W1WAYIcUDScQvtl5OXWU/2 X-Received: by 10.236.89.114 with SMTP id b78mr15301709yhf.13.1399996363752; Tue, 13 May 2014 08:52:43 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.40.74 with SMTP id w68ls2019396qgw.53.gmail; Tue, 13 May 2014 08:52:43 -0700 (PDT) X-Received: by 10.220.95.204 with SMTP id e12mr1424507vcn.37.1399996363630; Tue, 13 May 2014 08:52:43 -0700 (PDT) Received: from mail-vc0-f179.google.com (mail-vc0-f179.google.com [209.85.220.179]) by mx.google.com with ESMTPS id ck5si2719864vdd.1.2014.05.13.08.52.43 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 13 May 2014 08:52:43 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.179 as permitted sender) client-ip=209.85.220.179; Received: by mail-vc0-f179.google.com with SMTP id im17so721378vcb.10 for ; Tue, 13 May 2014 08:52:43 -0700 (PDT) X-Received: by 10.221.26.10 with SMTP id rk10mr29776510vcb.0.1399996363533; Tue, 13 May 2014 08:52:43 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.220.221.72 with SMTP id ib8csp162125vcb; Tue, 13 May 2014 08:52:42 -0700 (PDT) X-Received: by 10.58.120.46 with SMTP id kz14mr13799431veb.25.1399996359991; Tue, 13 May 2014 08:52:39 -0700 (PDT) Received: from lists.xen.org (lists.xen.org. [50.57.142.19]) by mx.google.com with ESMTPS id z15si2714853vcj.144.2014.05.13.08.52.39 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Tue, 13 May 2014 08:52:39 -0700 (PDT) Received-SPF: none (google.com: xen-devel-bounces@lists.xen.org does not designate permitted sender hosts) client-ip=50.57.142.19; Received: from localhost ([127.0.0.1] helo=lists.xen.org) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1WkEye-0008Oq-Jb; Tue, 13 May 2014 15:50:48 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1WkEyb-0008M4-Df for xen-devel@lists.xenproject.org; Tue, 13 May 2014 15:50:45 +0000 Received: from [85.158.137.68:15652] by server-9.bemta-3.messagelabs.com id 16/9C-30063-45F32735; Tue, 13 May 2014 15:50:44 +0000 X-Env-Sender: julien.grall@linaro.org X-Msg-Ref: server-13.tower-31.messagelabs.com!1399996243!3655986!1 X-Originating-IP: [74.125.83.44] X-SpamReason: No, hits=0.0 required=7.0 tests=SUBJECT_RANDOMQ X-StarScan-Received: X-StarScan-Version: 6.11.3; banners=-,-,- X-VirusChecked: Checked Received: (qmail 21968 invoked from network); 13 May 2014 15:50:43 -0000 Received: from mail-ee0-f44.google.com (HELO mail-ee0-f44.google.com) (74.125.83.44) by server-13.tower-31.messagelabs.com with RC4-SHA encrypted SMTP; 13 May 2014 15:50:43 -0000 Received: by mail-ee0-f44.google.com with SMTP id c41so556297eek.17 for ; Tue, 13 May 2014 08:50:43 -0700 (PDT) X-Received: by 10.15.68.132 with SMTP id w4mr4224097eex.90.1399996243323; Tue, 13 May 2014 08:50:43 -0700 (PDT) Received: from belegaer.uk.xensource.com ([185.25.64.249]) by mx.google.com with ESMTPSA id m44sm41054917eeh.14.2014.05.13.08.50.41 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 May 2014 08:50:41 -0700 (PDT) From: Julien Grall To: xen-devel@lists.xenproject.org Date: Tue, 13 May 2014 16:50:21 +0100 Message-Id: <1399996230-18201-6-git-send-email-julien.grall@linaro.org> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1399996230-18201-1-git-send-email-julien.grall@linaro.org> References: <1399996230-18201-1-git-send-email-julien.grall@linaro.org> Cc: ian.campbell@citrix.com, Julien Grall , tim@xen.org, stefano.stabellini@citrix.com, Jan Beulich , Xiantao Zhang Subject: [Xen-devel] [PATCH v5 05/14] xen/passthrough: rework hwdom_pvh_reqs to use it also on ARM X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Post: , List-Help: , List-Subscribe: , MIME-Version: 1.0 Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: julien.grall@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.179 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Archive: Hardware domain on ARM will have the same requirements as hwdom PVH when iommu is enabled. Both PVH and ARM guest has paging mode translate enabled, so Xen can use it to know if it needs to check the requirements. Rename the function and remove "pvh" word in the panic message. Signed-off-by: Julien Grall Acked-by: Jan Beulich Acked-by: Ian Campbell Cc: Xiantao Zhang --- Changes in v4: - Rebase on the latest staging (hwdom series was pushed) - Remove is_phv_domain bits ... and update the next patch (should be #7) to create in new function arch_iommu_check_dom0_reqs. - Update printed message to be more readable Changes in v2: - IOMMU can be disabled on ARM if the platform doesn't have IOMMU. --- xen/drivers/passthrough/iommu.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c index 96a79ce..ccb354d 100644 --- a/xen/drivers/passthrough/iommu.c +++ b/xen/drivers/passthrough/iommu.c @@ -130,13 +130,17 @@ int iommu_domain_init(struct domain *d) return hd->platform_ops->init(d); } -static void __hwdom_init check_hwdom_pvh_reqs(struct domain *d) +static void __hwdom_init check_hwdom_reqs(struct domain *d) { + if ( !paging_mode_translate(d) ) + return; + if ( !iommu_enabled ) panic("Presently, iommu must be enabled for pvh dom0\n"); if ( iommu_passthrough ) - panic("For pvh dom0, dom0-passthrough must not be enabled\n"); + panic("Dom0 uses paging translated mode, dom0-passthrough must not be " + "enabled\n"); iommu_dom0_strict = 1; } @@ -145,8 +149,7 @@ void __hwdom_init iommu_hwdom_init(struct domain *d) { struct hvm_iommu *hd = domain_hvm_iommu(d); - if ( is_pvh_domain(d) ) - check_hwdom_pvh_reqs(d); + check_hwdom_reqs(d); if ( !iommu_enabled ) return;