Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp914129yba; Wed, 3 Apr 2019 23:57:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqy8o8M4t0YM8nv3HACmqsuePW0IJ3BnPwogfY5f5dpO+PndJ8zLj97iRC9oX0fKtAneMKxy X-Received: by 2002:a63:751d:: with SMTP id q29mr4220720pgc.215.1554361034568; Wed, 03 Apr 2019 23:57:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554361034; cv=none; d=google.com; s=arc-20160816; b=fwaW8e9+KwLSi/dURHVBTZogdmLjrDPpNPjrf9uv7t2CK5yekht57qjspzEGO8OdKQ zXUKxcBV3/Dl/PemuUIben8vFiaX/trHMXxwEOKCiWqRhUf1uTZsWqneVG7tGkT2aKMy 32IrZxth6ZN0DoyTwRMAIn0JBAUIErMDy2823qADWjQFFGVhS6jN/tTDgb0jnu4Dl7MO X8sRyq2+4jaziqDsGoJX/oIv77L6yVTPSCp7J1ji/yGCCnmz7hAV8cSOw7QPIfVJEE5U /s28WQ8VzsaAcafigE7gCsz8c/T7ksgzzxhS4qWHEpJnK1YD3DczawX8LkVNfv0XsU6V IHfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject:cc; bh=veqZstN2CLmva+KOm5bsloLU9okNQ/JmovzwFh7pGBY=; b=TgqIGjTtrxGGNsAtaDsmtePOJ3hA1nsIqhgrIelMpTkY3DeJt2E6S124aHb/8/oXuz gNRZrrRijEcLC9HPmV9aESRcElwJX2Zdy7S5F8slByI2JNPSEBjQjzoLdKcsISfwJOeJ qrYR5a3byOku5y0Rot4jH1UkJYnjS6L0p0WM2mofQ1B3cRUtg2IK8i200raDMxRp3ozx o+GnSJqSRN4/IZN3LwXy2nB4F52TaPxmowzkVo81FNEzUR4dnOyuRDG+xDUmZMM5EJAm 55Avd093XnxVba21v1/k4u2ZW6S9OwVXaVg9vp+wa6O5CubpTVGMxBRPiMSIgSrxuHwv N49w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h65si16295248pfd.232.2019.04.03.23.56.59; Wed, 03 Apr 2019 23:57:14 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727277AbfDDGyz (ORCPT + 99 others); Thu, 4 Apr 2019 02:54:55 -0400 Received: from mga03.intel.com ([134.134.136.65]:42021 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726031AbfDDGyy (ORCPT ); Thu, 4 Apr 2019 02:54:54 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Apr 2019 23:54:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,306,1549958400"; d="scan'208";a="128519166" Received: from allen-box.sh.intel.com (HELO [10.239.159.136]) ([10.239.159.136]) by orsmga007.jf.intel.com with ESMTP; 03 Apr 2019 23:54:52 -0700 Cc: baolu.lu@linux.intel.com, iommu@lists.linux-foundation.org, Tom Murphy , Dmitry Safonov , Jacob Pan , linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 3/7] iommu/vt-d: Expose ISA direct mapping region via iommu_get_resv_regions To: James Sewart References: <0F0C82BE-86E5-4BAC-938C-6F7629E18D27@arista.com> <83B82113-8AE5-4B0C-A079-F389520525BD@arista.com> <445F31EA-20F3-481C-B1DF-8B163791FF8C@arista.com> <6C211BF1-B5A0-4821-AB42-092B573DE667@arista.com> <8B1FC0C7-9BAC-498D-B1F0-0138EACF75C2@arista.com> From: Lu Baolu Message-ID: Date: Thu, 4 Apr 2019 14:49:05 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 MIME-Version: 1.0 In-Reply-To: <8B1FC0C7-9BAC-498D-B1F0-0138EACF75C2@arista.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi James, I did a sanity test from my end. The test machine fails to boot. I haven't seen any valuable kernel log. It results in a purple screen. Best regards, Lu Baolu On 3/29/19 11:26 PM, James Sewart wrote: > Hey Lu, > > I’ve attached a preliminary v3, if you could take a look and run some tests > that would be great. > > Since v2 i’ve added your default domain type patches, the new device_group > handler, and incorporated Jacob’s feedback. > >> On 28 Mar 2019, at 18:37, James Sewart wrote: >> >> Hey Lu, >> >>> On 26 Mar 2019, at 01:24, Lu Baolu wrote: >>> >>> Hi James, >>> >>> On 3/25/19 8:57 PM, James Sewart wrote: >>>>>> Theres an issue that if we choose to alloc a new resv_region with type >>>>>> IOMMU_RESV_DIRECT, we will need to refactor intel_iommu_put_resv_regions >>>>>> to free this entry type which means refactoring the rmrr regions in >>>>>> get_resv_regions. Should this work be in this patchset? >>>>> Do you mean the rmrr regions are not allocated in get_resv_regions, but >>>>> are freed in put_resv_regions? I think we should fix this in this patch >>>>> set since this might impact the device passthrough if we don't do it. >>>> They’re not allocated and not freed currently, only type IOMMU_RESV_MSI is >>>> freed in put_resv_regions. If we allocate a new resv_region with type >>>> IOMMU_RESV_DIRECT for the isa region, then it won’t be freed. If we modify >>>> put_resv_regions to free type IOMMU_RESV_DIRECT, then we will try to free >>>> the static RMRR regions. >>>> Either the ISA region is static and not freed as with my implementation, >>>> or the RMRR regions are converted to be allocated on each call to >>>> get_resv_regions and freed in put_resv_regions. >>> >>> By the way, there's another way in my mind. Let's add a new region type >>> for LPC devices, e.x. IOMMU_RESV_LPC, and then handle it in the same way >>> as those MSI regions. Just FYI. >> >> This solution would require adding some extra code to >> iommu_group_create_direct_mappings as currently only type >> IOMMU_RESV_DIRECT is identity mapped, other types are only reserved. >> >> >>> >>> Best regards, >>> Lu Baolu >> >> Cheers, >> James. > > Cheers, > James. >