From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.7 required=3.0 tests=BAYES_00, CHARSET_FARAWAY_HEADER,HEADER_FROM_DIFFERENT_DOMAINS,HTML_FONT_FACE_BAD, HTML_MESSAGE,INCLUDES_PATCH,MAILING_LIST_MULTI,MIME_HTML_MOSTLY,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 085B0C433E2 for ; Wed, 2 Sep 2020 03:24:45 +0000 (UTC) Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AF3E42065E for ; Wed, 2 Sep 2020 03:24:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AF3E42065E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=zhaoxin.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=iommu-bounces@lists.linux-foundation.org Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 61ABD20386; Wed, 2 Sep 2020 03:24:44 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id h-cAYSOdnTlJ; Wed, 2 Sep 2020 03:24:40 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by silver.osuosl.org (Postfix) with ESMTP id 214B020397; Wed, 2 Sep 2020 03:24:40 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 0B67CC07FF; Wed, 2 Sep 2020 03:24:40 +0000 (UTC) Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 484B8C0051 for ; Wed, 2 Sep 2020 03:24:38 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 3E017867F1 for ; Wed, 2 Sep 2020 03:24:38 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BB15FrYjg2MV for ; Wed, 2 Sep 2020 03:24:35 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from ZXSHCAS1.zhaoxin.com (unknown [203.148.12.81]) by whitealder.osuosl.org (Postfix) with ESMTPS id C407583204 for ; Wed, 2 Sep 2020 03:24:34 +0000 (UTC) Received: from zxbjmbx1.zhaoxin.com (10.29.252.163) by ZXSHCAS1.zhaoxin.com (10.28.252.161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Wed, 2 Sep 2020 11:24:27 +0800 Received: from zxbjmbx1.zhaoxin.com (10.29.252.163) by zxbjmbx1.zhaoxin.com (10.29.252.163) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Wed, 2 Sep 2020 11:24:26 +0800 Received: from zxbjmbx1.zhaoxin.com ([fe80::290a:f538:51e7:1416]) by zxbjmbx1.zhaoxin.com ([fe80::290a:f538:51e7:1416%16]) with mapi id 15.01.1979.003; Wed, 2 Sep 2020 11:24:26 +0800 From: FelixCui-oc To: Lu Baolu , Joerg Roedel , "iommu@lists.linux-foundation.org" , "linux-kernel@vger.kernel.org" , "David Woodhouse" , Dan Carpenter , "kbuild@lists.01.org" Subject: =?gb2312?B?tPC4tDogtPC4tDogW1BBVENIIHYzIDIvMl0gaW9tbXUvdnQtZDpBZGQgc3Vw?= =?gb2312?Q?port_for_probing_ACPI_device_in_RMRR?= Thread-Topic: =?gb2312?B?tPC4tDogW1BBVENIIHYzIDIvMl0gaW9tbXUvdnQtZDpBZGQgc3VwcG9ydCBm?= =?gb2312?Q?or_probing_ACPI_device_in_RMRR?= Thread-Index: AQHWfFkssCqC/uq8zUSrxxRHHTL9PKlSzvUAgAC26n+AAJ31AIAAkzS7 Date: Wed, 2 Sep 2020 03:24:26 +0000 Message-ID: References: <20200827100217.21324-1-FelixCui-oc@zhaoxin.com> <20200827100217.21324-3-FelixCui-oc@zhaoxin.com> , <7e5f2c33-c6c3-f344-9014-1f6a306c55aa@linux.intel.com> In-Reply-To: <7e5f2c33-c6c3-f344-9014-1f6a306c55aa@linux.intel.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.29.8.19] MIME-Version: 1.0 Cc: Tony W Wang-oc , CobeChen-oc , Ashok Raj X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============9102775165268841522==" Errors-To: iommu-bounces@lists.linux-foundation.org Sender: "iommu" --===============9102775165268841522== Content-Language: zh-CN Content-Type: multipart/alternative; boundary="_000_cfdd29a882d140e5aec2e8c3b77f4968zhaoxincom_" --_000_cfdd29a882d140e5aec2e8c3b77f4968zhaoxincom_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 aGkgYmFvbHUsDQoNCj4gU28geW91IGhhdmUgYSBoaWRkZW4gZGV2aWNlIChpbnZpc2libGUgdG8g aG9zdCBrZXJuZWwpLiBCdXQgeW91IG5lZWQgdG8NCg0KPnNldHVwIHNvbWUgaWRlbnRpdHkgbWFw cGluZ3MgZm9yIHRoaXMgZGV2aWNlLCBzbyB0aGF0IHRoZSBmaXJtd2FyZQ0KPmNvdWxkIGtlZXAg d29ya2luZywgcmlnaHQ/DQoNCj5UaGUgcGxhdGZvcm0gZGVzaWducyB0aGlzIGJ5IHB1dHRpbmcg dGhhdCByYW5nZSBpbiB0aGUgUk1SUiB0YWJsZSBhbmQNCj5leHBlY3RpbmcgdGhlIE9TIGtlcm5l bCB0byBzZXR1cCBpZGVudGl0eSBtYXBwaW5ncyBkdXJpbmcgYm9vdC4NCg0KPkRvIEkgdW5kZXJz dGFuZCBpdCByaWdodD8NCg0KDQpZZXMuIFdoYXQgeW91IHVuZGVyc3RhbmQgaXMgY29ycmVjdC4N Cg0KDQpCZXN0IHJlZ2FyZHMNCg0KRmVsaXhjdWktb2MNCg0KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18NCreivP7IyzogTHUgQmFvbHUgPGJhb2x1Lmx1QGxpbnV4LmludGVsLmNvbT4N Creiy83KsbzkOiAyMDIwxOo51MIyyNUgMTA6MzI6MzYNCsrVvP7IyzogRmVsaXhDdWktb2M7IEpv ZXJnIFJvZWRlbDsgaW9tbXVAbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmc7IGxpbnV4LWtlcm5l bEB2Z2VyLmtlcm5lbC5vcmc7IERhdmlkIFdvb2Rob3VzZTsgRGFuIENhcnBlbnRlcjsga2J1aWxk QGxpc3RzLjAxLm9yZw0Ks63LzTogYmFvbHUubHVAbGludXguaW50ZWwuY29tOyBDb2JlQ2hlbi1v YzsgUmF5bW9uZFBhbmctb2M7IFRvbnkgVyBXYW5nLW9jOyBBc2hvayBSYWoNCtb3zOI6IFJlOiC0 8Li0OiBbUEFUQ0ggdjMgMi8yXSBpb21tdS92dC1kOkFkZCBzdXBwb3J0IGZvciBwcm9iaW5nIEFD UEkgZGV2aWNlIGluIFJNUlINCg0KT24gOS8xLzIwIDU6MTMgUE0sIEZlbGl4Q3VpLW9jIHdyb3Rl Og0KPiBoaSAgYmFvbHUgLA0KPg0KPiAgICAgICAgICAgICAgICAgICAgIFRoZXNlIEFDUEkgZGV2 aWNlcyBjYW4gYmUgcmV0cmlldmVkIGZyb20gdGhlIGtlcm5lbA0KPiBhbmQgdGhlcmUgaXMgbm8g Ym91bmQgZGV2aWNlIGRyaXZlciAuDQoNClNvIHlvdSBoYXZlIGEgaGlkZGVuIGRldmljZSAoaW52 aXNpYmxlIHRvIGhvc3Qga2VybmVsKS4gQnV0IHlvdSBuZWVkIHRvDQpzZXR1cCBzb21lIGlkZW50 aXR5IG1hcHBpbmdzIGZvciB0aGlzIGRldmljZSwgc28gdGhhdCB0aGUgZmlybXdhcmUNCmNvdWxk IGtlZXAgd29ya2luZywgcmlnaHQ/DQoNClRoZSBwbGF0Zm9ybSBkZXNpZ25zIHRoaXMgYnkgcHV0 dGluZyB0aGF0IHJhbmdlIGluIHRoZSBSTVJSIHRhYmxlIGFuZA0KZXhwZWN0aW5nIHRoZSBPUyBr ZXJuZWwgdG8gc2V0dXAgaWRlbnRpdHkgbWFwcGluZ3MgZHVyaW5nIGJvb3QuDQoNCkRvIEkgdW5k ZXJzdGFuZCBpdCByaWdodD8NCg0KQmVzdCByZWdhcmRzLA0KYmFvbHUNCg0KPg0KPg0KPiBCZXN0 IHJlZ2FyZHMNCj4NCj4gRmVsaXhjdWktb2MNCj4NCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICq3orz+ yMs6KiBMdSBCYW9sdSA8YmFvbHUubHVAbGludXguaW50ZWwuY29tPg0KPiAqt6LLzcqxvOQ6KiAy MDIwxOo51MIxyNUgMTQ6MTI6MzQNCj4gKsrVvP7IyzoqIEZlbGl4Q3VpLW9jOyBKb2VyZyBSb2Vk ZWw7IGlvbW11QGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnOw0KPiBsaW51eC1rZXJuZWxAdmdl ci5rZXJuZWwub3JnOyBEYXZpZCBXb29kaG91c2U7IERhbiBDYXJwZW50ZXI7DQo+IGtidWlsZEBs aXN0cy4wMS5vcmcNCj4gKrOty806KiBiYW9sdS5sdUBsaW51eC5pbnRlbC5jb207IENvYmVDaGVu LW9jOyBSYXltb25kUGFuZy1vYzsgVG9ueSBXDQo+IFdhbmctb2MNCj4gKtb3zOI6KiBSZTogW1BB VENIIHYzIDIvMl0gaW9tbXUvdnQtZDpBZGQgc3VwcG9ydCBmb3IgcHJvYmluZyBBQ1BJDQo+IGRl dmljZSBpbiBSTVJSDQo+IEhpIEZlbGl4LA0KPg0KPiBPbiA4LzI3LzIwIDY6MDIgUE0sIEZlbGl4 Q3Vpb2Mgd3JvdGU6DQo+PiBBZnRlciBhY3BpIGRldmljZSBpbiBSTVJSIGlzIGRldGVjdGVkLGl0 IGlzIG5lY2Vzc2FyeQ0KPj4gdG8gZXN0YWJsaXNoIGEgbWFwcGluZyBmb3IgdGhlc2UgZGV2aWNl cy4NCj4+IEluIGFjcGlfZGV2aWNlX2NyZWF0ZV9kaXJlY3RfbWFwcGluZ3MoKSxjcmVhdGUgYSBt YXBwaW5nDQo+PiBmb3IgdGhlIGFjcGkgZGV2aWNlIGluIFJNUlIuDQo+PiBBZGQgYSBoZWxwZXIg dG8gYWNoaWV2ZSB0aGUgYWNwaSBuYW1lc3BhY2UgZGV2aWNlIGNhbg0KPj4gYWNjZXNzIHRoZSBS TVJSIHJlZ2lvbi4NCj4NCj4gQXJlIHRob3NlIEFDUEkgZGV2aWNlcyB2aXNpYmxlIHRvIGtlcm5l bD8gSWYgc28sIGFueSBkZXZpY2UgZHJpdmVyIGJvdW5kDQo+IGZvciBpdD8NCj4NCj4gQmVzdCBy ZWdhcmRzLA0KPiBiYW9sdQ0KPg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEZlbGl4Q3Vpb2MgPEZl bGl4Q3VpLW9jQHpoYW94aW4uY29tPg0KPj4gLS0tDQo+PiAgIGRyaXZlcnMvaW9tbXUvaW50ZWwv aW9tbXUuYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+PiAgIGRyaXZlcnMv aW9tbXUvaW9tbXUuYyAgICAgICB8ICA2ICsrKysrKw0KPj4gICBpbmNsdWRlL2xpbnV4L2lvbW11 LmggICAgICAgfCAgMyArKysNCj4+ICAgMyBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCsp DQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW9tbXUvaW50ZWwvaW9tbXUuYyBiL2RyaXZl cnMvaW9tbXUvaW50ZWwvaW9tbXUuYw0KPj4gaW5kZXggMjA4YTkxNjA1Mjg4Li41MWQ3YTViMThm NDEgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL2lvbW11L2ludGVsL2lvbW11LmMNCj4+ICsrKyBi L2RyaXZlcnMvaW9tbXUvaW50ZWwvaW9tbXUuYw0KPj4gQEAgLTQ3OTksNiArNDc5OSwyMSBAQCBz dGF0aWMgaW50IF9faW5pdCBwbGF0Zm9ybV9vcHRpbl9mb3JjZV9pb21tdSh2b2lkKQ0KPj4gICAg ICAgIHJldHVybiAxOw0KPj4gICB9DQo+Pg0KPj4gK3N0YXRpYyBpbnQgYWNwaV9kZXZpY2VfY3Jl YXRlX2RpcmVjdF9tYXBwaW5ncyhzdHJ1Y3QgZGV2aWNlICpwbl9kZXYsIHN0cnVjdCBkZXZpY2Ug KmFjcGlfZGV2aWNlKQ0KPj4gK3sNCj4+ICsgICAgIHN0cnVjdCBpb21tdV9ncm91cCAqZ3JvdXA7 DQo+PiArDQo+PiArICAgICBhY3BpX2RldmljZS0+YnVzLT5pb21tdV9vcHMgPSAmaW50ZWxfaW9t bXVfb3BzOw0KPj4gKyAgICAgZ3JvdXAgPSBpb21tdV9ncm91cF9nZXQocG5fZGV2KTsNCj4+ICsg ICAgIGlmICghZ3JvdXApIHsNCj4+ICsgICAgICAgICAgICAgcHJfd2FybigiQUNQSSBuYW1lIHNw YWNlIGRldmljZXMgY3JlYXRlIGRpcmVjdCBtYXBwaW5ncyB3cm9uZyFcbiIpOw0KPj4gKyAgICAg ICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4+ICsgICAgIH0NCj4+ICsgICAgIF9fYWNwaV9kZXZp Y2VfY3JlYXRlX2RpcmVjdF9tYXBwaW5ncyhncm91cCwgYWNwaV9kZXZpY2UpOw0KPj4gKw0KPj4g KyAgICAgcmV0dXJuIDA7DQo+PiArfQ0KPj4gKw0KPj4gICBzdGF0aWMgaW50IF9faW5pdCBwcm9i ZV9hY3BpX25hbWVzcGFjZV9kZXZpY2VzKHZvaWQpDQo+PiAgIHsNCj4+ICAgICAgICBzdHJ1Y3Qg ZG1hcl9kcmhkX3VuaXQgKmRyaGQ7DQo+PiBAQCAtNDgxMyw2ICs0ODI4LDcgQEAgc3RhdGljIGlu dCBfX2luaXQgcHJvYmVfYWNwaV9uYW1lc3BhY2VfZGV2aWNlcyh2b2lkKQ0KPj4gICAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgYWNwaV9kZXZpY2VfcGh5c2ljYWxfbm9kZSAqcG47DQo+PiAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpb21tdV9ncm91cCAqZ3JvdXA7DQo+PiAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhY3BpX2RldmljZSAqYWRldjsNCj4+ICsgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgZGV2aWNlICpwbl9kZXYgPSBOVUxMOw0KPj4NCj4+ICAgICAg ICAgICAgICAgICAgICAgICAgaWYgKGRldi0+YnVzICE9ICZhY3BpX2J1c190eXBlKQ0KPj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPj4gQEAgLTQ4MjMsNiArNDgz OSw3IEBAIHN0YXRpYyBpbnQgX19pbml0IHByb2JlX2FjcGlfbmFtZXNwYWNlX2RldmljZXModm9p ZCkNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYWRldi0+ cGh5c2ljYWxfbm9kZV9saXN0LCBub2RlKSB7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ3JvdXAgPSBpb21tdV9ncm91cF9nZXQocG4tPmRldik7DQo+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaWYgKGdyb3VwKSB7DQo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHBuX2RldiA9IHBuLT5kZXY7DQo+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpb21tdV9ncm91cF9wdXQoZ3JvdXApOw0KPj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQo+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KPj4gQEAgLTQ4MzEsNyArNDg0OCwxOSBAQCBzdGF0aWMgaW50 IF9faW5pdCBwcm9iZV9hY3BpX25hbWVzcGFjZV9kZXZpY2VzKHZvaWQpDQo+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmV0ID0gaW9tbXVfcHJvYmVfZGV2aWNlKHBuLT5kZXYpOw0K Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQpDQo+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBuX2RldiA9IHBuLT5kZXY7DQo+PiArICAgICAgICAgICAgICAgICAgICAg fQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgIGlmICghcG5fZGV2KSB7DQo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkZXYtPmJ1cy0+aW9tbXVfb3BzID0gJmludGVsX2lvbW11X29w czsNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IGlvbW11X3Byb2JlX2Rl dmljZShkZXYpOw0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldCkgew0K Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcl9lcnIoImFjcGlfZGV2 aWNlIHByb2JlIGZhaWwhIHJldDolZFxuIiwgcmV0KTsNCj4+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZ290byB1bmxvY2s7DQo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHVubG9jazsN Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgIHJl dCA9IGFjcGlfZGV2aWNlX2NyZWF0ZV9kaXJlY3RfbWFwcGluZ3MocG5fZGV2LCBkZXYpOw0KPj4g K3VubG9jazoNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgbXV0ZXhfdW5sb2NrKCZhZGV2LT5w aHlzaWNhbF9ub2RlX2xvY2spOw0KPj4NCj4+ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJl dCkNCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lvbW11L2lvbW11LmMgYi9kcml2ZXJzL2lvbW11 L2lvbW11LmMNCj4+IGluZGV4IDYwOWJkMjViZjE1NC4uNGY3MTRhMmQ1ZWY3IDEwMDY0NA0KPj4g LS0tIGEvZHJpdmVycy9pb21tdS9pb21tdS5jDQo+PiArKysgYi9kcml2ZXJzL2lvbW11L2lvbW11 LmMNCj4+IEBAIC03NzksNiArNzc5LDEyIEBAIHN0YXRpYyBib29sIGlvbW11X2lzX2F0dGFjaF9k ZWZlcnJlZChzdHJ1Y3QgaW9tbXVfZG9tYWluICpkb21haW4sDQo+PiAgICAgICAgcmV0dXJuIGZh bHNlOw0KPj4gICB9DQo+Pg0KPj4gK3ZvaWQgIF9fYWNwaV9kZXZpY2VfY3JlYXRlX2RpcmVjdF9t YXBwaW5ncyhzdHJ1Y3QgaW9tbXVfZ3JvdXAgKmdyb3VwLCBzdHJ1Y3QgZGV2aWNlICphY3BpX2Rl dmljZSkNCj4+ICt7DQo+PiArICAgICBpb21tdV9jcmVhdGVfZGV2aWNlX2RpcmVjdF9tYXBwaW5n cyhncm91cCwgYWNwaV9kZXZpY2UpOw0KPj4gK30NCj4+ICtFWFBPUlRfU1lNQk9MX0dQTChfX2Fj cGlfZGV2aWNlX2NyZWF0ZV9kaXJlY3RfbWFwcGluZ3MpOw0KPj4gKw0KPj4gICAvKioNCj4+ICAg ICogaW9tbXVfZ3JvdXBfYWRkX2RldmljZSAtIGFkZCBhIGRldmljZSB0byBhbiBpb21tdSBncm91 cA0KPj4gICAgKiBAZ3JvdXA6IHRoZSBncm91cCBpbnRvIHdoaWNoIHRvIGFkZCB0aGUgZGV2aWNl IChyZWZlcmVuY2Ugc2hvdWxkIGJlIGhlbGQpDQo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51 eC9pb21tdS5oIGIvaW5jbHVkZS9saW51eC9pb21tdS5oDQo+PiBpbmRleCBmZWUyMDllZmI3NTYu LjliZTEzNDc3NTg4NiAxMDA2NDQNCj4+IC0tLSBhL2luY2x1ZGUvbGludXgvaW9tbXUuaA0KPj4g KysrIGIvaW5jbHVkZS9saW51eC9pb21tdS5oDQo+PiBAQCAtNTE0LDYgKzUxNCw5IEBAIGV4dGVy biB2b2lkIGlvbW11X2RvbWFpbl93aW5kb3dfZGlzYWJsZShzdHJ1Y3QgaW9tbXVfZG9tYWluICpk b21haW4sIHUzMiB3bmRfbnIpDQo+PiAgIGV4dGVybiBpbnQgcmVwb3J0X2lvbW11X2ZhdWx0KHN0 cnVjdCBpb21tdV9kb21haW4gKmRvbWFpbiwgc3RydWN0IGRldmljZSAqZGV2LA0KPj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGlvdmEsIGludCBmbGFncyk7DQo+ Pg0KPj4gK2V4dGVybiB2b2lkIF9fYWNwaV9kZXZpY2VfY3JlYXRlX2RpcmVjdF9tYXBwaW5ncyhz dHJ1Y3QgaW9tbXVfZ3JvdXAgKmdyb3VwLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkZXZpY2UgKmFjcGlfZGV2aWNlKTsNCj4+ICsNCj4+ ICAgc3RhdGljIGlubGluZSB2b2lkIGlvbW11X2ZsdXNoX3RsYl9hbGwoc3RydWN0IGlvbW11X2Rv bWFpbiAqZG9tYWluKQ0KPj4gICB7DQo+PiAgICAgICAgaWYgKGRvbWFpbi0+b3BzLT5mbHVzaF9p b3RsYl9hbGwpDQo+Pg0K --_000_cfdd29a882d140e5aec2e8c3b77f4968zhaoxincom_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable

hi baolu,

So you have a hidden device (invisible to host k= ernel). But you need to

>setup some iden= tity mappings for this device, so that the firmware
>could keep working= , right?

>The platform desig= ns this by putting that range in the RMRR table and
>expecting the OS k= ernel to setup identity mappings during boot.

>Do I understand it= right?


Yes. What you under= stand is correct.


Best regards=

= Felixcui-oc


=B7=A2=BC=FE=C8=CB: Lu Ba= olu <baolu.lu@linux.intel.com>
=B7=A2=CB=CD=CA=B1=BC=E4: 2020=C4=EA9=D4=C22=C8=D5 10:32:36
=CA=D5=BC=FE=C8=CB: FelixCui-oc; Joerg Roedel; iommu@lists.linux-fou= ndation.org; linux-kernel@vger.kernel.org; David Woodhouse; Dan Carpenter; = kbuild@lists.01.org
=B3=AD=CB=CD: baolu.lu@linux.intel.com; CobeChen-oc; RaymondPang-oc;= Tony W Wang-oc; Ashok Raj
=D6=F7=CC=E2: Re: =B4=F0=B8=B4: [PATCH v3 2/2] iommu/vt-d:Add suppor= t for probing ACPI device in RMRR
 
On 9/1/20 5:13 PM, FelixCui-oc wrote:
> hi  baolu ,
>
>                    &= nbsp;These ACPI devices can be retrieved from the kernel
> and there is no bound device driver .

So you have a hidden device (invisible to host kernel). But you need to
setup some identity mappings for this device, so that the firmware
could keep working, right?

The platform designs this by putting that range in the RMRR table and
expecting the OS kernel to setup identity mappings during boot.

Do I understand it right?

Best regards,
baolu

>
>
> Best regards
>
> Felixcui-oc
>
> ----------------------------------------------------------------------= --
> *=B7=A2=BC=FE=C8=CB:* Lu Baolu <baolu.lu@linux.intel.com>
> *=B7=A2=CB=CD=CA=B1=BC=E4:* 2020=C4=EA9=D4=C21=C8=D5 14:12:34
> *=CA=D5=BC=FE=C8=CB:* FelixCui-oc; Joerg Roedel; iommu@lists.linux-fou= ndation.org;
> linux-kernel@vger.kernel.org; David Woodhouse; Dan Carpenter;
> kbuild@lists.01.org
> *=B3=AD=CB=CD:* baolu.lu@linux.intel.com; CobeChen-oc; RaymondPang-oc;= Tony W
> Wang-oc
> *=D6=F7=CC=E2:* Re: [PATCH v3 2/2] iommu/vt-d:Add support for probing = ACPI
> device in RMRR
> Hi Felix,
>
> On 8/27/20 6:02 PM, FelixCuioc wrote:
>> After acpi device in RMRR is detected,it is necessary
>> to establish a mapping for these devices.
>> In acpi_device_create_direct_mappings(),create a mapping
>> for the acpi device in RMRR.
>> Add a helper to achieve the acpi namespace device can
>> access the RMRR region.
>
> Are those ACPI devices visible to kernel? If so, any device driver bou= nd
> for it?
>
> Best regards,
> baolu
>
>>
>> Signed-off-by: FelixCuioc <FelixCui-oc@zhaoxin.com>
>> ---
>>   drivers/iommu/intel/iommu.c | 29 ++++&= #43;++++++++++++++&= #43;+++++++++
>>   drivers/iommu/iommu.c     &nb= sp; |  6 ++++++
>>   include/linux/iommu.h     &nb= sp; |  3 +++
>>   3 files changed, 38 insertions(+)
>>
>> diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iom= mu.c
>> index 208a91605288..51d7a5b18f41 100644
>> --- a/drivers/iommu/intel/iommu.c
>> +++ b/drivers/iommu/intel/iommu.c
>> @@ -4799,6 +4799,21 @@ static int __init platform_optin_force_= iommu(void)
>>        return 1;
>>   }
>>  
>> +static int acpi_device_create_direct_mappings(struct device *= pn_dev, struct device *acpi_device)
>> +{
>> +     struct iommu_group *group;
>> +
>> +     acpi_device->bus->iommu_ops = =3D &intel_iommu_ops;
>> +     group =3D iommu_group_get(pn_dev); >> +     if (!group) {
>> +          &= nbsp;  pr_warn("ACPI name space devices create direct mappings wr= ong!\n");
>> +          &= nbsp;  return -EINVAL;
>> +     }
>> +     __acpi_device_create_direct_mappings= (group, acpi_device);
>> +
>> +     return 0;
>> +}
>> +
>>   static int __init probe_acpi_namespace_devices(void) >>   {
>>        struct dmar_drhd_unit *d= rhd;
>> @@ -4813,6 +4828,7 @@ static int __init probe_acpi_namespace_d= evices(void)
>>           &= nbsp;            str= uct acpi_device_physical_node *pn;
>>           &= nbsp;            str= uct iommu_group *group;
>>           &= nbsp;            str= uct acpi_device *adev;
>> +          &= nbsp;          struct device *= pn_dev =3D NULL;
>>  
>>           &= nbsp;            if = (dev->bus !=3D &acpi_bus_type)
>>           &= nbsp;           &nbs= p;        continue;
>> @@ -4823,6 +4839,7 @@ static int __init probe_acpi_namespace_d= evices(void)
>>           &= nbsp;           &nbs= p;            &= nbsp;       &adev->physical_node_list,= node) {
>>           &= nbsp;           &nbs= p;        group =3D iommu_group_get(pn-&= gt;dev);
>>           &= nbsp;           &nbs= p;        if (group) {
>> +          &= nbsp;           &nbs= p;            &= nbsp; pn_dev =3D pn->dev;
>>           &= nbsp;           &nbs= p;            &= nbsp;   iommu_group_put(group);
>>           &= nbsp;           &nbs= p;            &= nbsp;   continue;
>>           &= nbsp;           &nbs= p;        }
>> @@ -4831,7 +4848,19 @@ static int __init probe_acpi_namespace_= devices(void)
>>           &= nbsp;           &nbs= p;        ret =3D iommu_probe_device(pn-= >dev);
>>           &= nbsp;           &nbs= p;        if (ret)
>>           &= nbsp;           &nbs= p;            &= nbsp;   break;
>> +          &= nbsp;           &nbs= p;      pn_dev =3D pn->dev;
>> +          &= nbsp;          }
>> +          &= nbsp;          if (!pn_dev) {<= br> >> +          &= nbsp;           &nbs= p;      dev->bus->iommu_ops =3D &intel_i= ommu_ops;
>> +          &= nbsp;           &nbs= p;      ret =3D iommu_probe_device(dev);
>> +          &= nbsp;           &nbs= p;      if (ret) {
>> +          &= nbsp;           &nbs= p;            &= nbsp; pr_err("acpi_device probe fail! ret:%d\n", ret);
>> +          &= nbsp;           &nbs= p;            &= nbsp; goto unlock;
>> +          &= nbsp;           &nbs= p;      }
>> +          &= nbsp;           &nbs= p;      goto unlock;
>>           &= nbsp;            } >> +          &= nbsp;          ret =3D acpi_de= vice_create_direct_mappings(pn_dev, dev);
>> +unlock:
>>           &= nbsp;            mut= ex_unlock(&adev->physical_node_lock);
>>  
>>           &= nbsp;            if = (ret)
>> diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
>> index 609bd25bf154..4f714a2d5ef7 100644
>> --- a/drivers/iommu/iommu.c
>> +++ b/drivers/iommu/iommu.c
>> @@ -779,6 +779,12 @@ static bool iommu_is_attach_deferred(stru= ct iommu_domain *domain,
>>        return false;
>>   }
>>  
>> +void  __acpi_device_create_direct_mappings(struct iommu_= group *group, struct device *acpi_device)
>> +{
>> +     iommu_create_device_direct_mappings(= group, acpi_device);
>> +}
>> +EXPORT_SYMBOL_GPL(__acpi_device_create_direct_mappings);
>> +
>>   /**
>>    * iommu_group_add_device - add a device to an io= mmu group
>>    * @group: the group into which to add the device= (reference should be held)
>> diff --git a/include/linux/iommu.h b/include/linux/iommu.h
>> index fee209efb756..9be134775886 100644
>> --- a/include/linux/iommu.h
>> +++ b/include/linux/iommu.h
>> @@ -514,6 +514,9 @@ extern void iommu_domain_window_disable(st= ruct iommu_domain *domain, u32 wnd_nr)
>>   extern int report_iommu_fault(struct iommu_domain *dom= ain, struct device *dev,
>>           &= nbsp;           &nbs= p;      unsigned long iova, int flags);
>>  
>> +extern void __acpi_device_create_direct_mappings(struct iommu= _group *group,
>> +          &= nbsp;           &nbs= p;            &= nbsp;         struct device *acpi_d= evice);
>> +
>>   static inline void iommu_flush_tlb_all(struct iommu_do= main *domain)
>>   {
>>        if (domain->ops->f= lush_iotlb_all)
>>
--_000_cfdd29a882d140e5aec2e8c3b77f4968zhaoxincom_-- --===============9102775165268841522== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu --===============9102775165268841522==--