From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH 5/7] amd-iommu: introduce new get/set_iommu_pde_info() functions... Date: Thu, 20 Sep 2018 15:11:47 +0100 Message-ID: <20180920141149.1643-6-paul.durrant@citrix.com> References: <20180920141149.1643-1-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1g2zjC-0004iX-K9 for xen-devel@lists.xenproject.org; Thu, 20 Sep 2018 14:14:46 +0000 In-Reply-To: <20180920141149.1643-1-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Paul Durrant , Brian Woods , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org Li4uYW5kIHVzZSBzZXRfaW9tbXVfcGRlX2luZm8oKSBpbiBzZXRfaW9tbXVfcGRlX3ByZXNlbnQo KS4KCnNldF9pb21tdV9wZGVfaW5mbygpIG9ubHkgc2V0cyB0aGUgYWRkcmVzcyBhbmQgcmVhZC93 cml0ZSBmbGFncyBpbiB0aGUgUERFLApsZWF2aW5nIHRoZSAoUFRFLW9ubHkpIEZDIGJpdCwgbGV2 ZWwgdmFsdWUgYW5kIHByZXNlbmNlIGJpdCB0byBiZQpzdWJzZXF1ZW50bHkgc2V0IGJ5IHNldF9p b21tdV9wZGVfcHJlc2VudCgpLiBBIG1lbW9yeSBiYXJyaWVyIGlzIGFkZGVkIHRvCmVuc3VyZSB0 aGF0IHRoZSBwcmVzZW5jZSBiaXQgaXMgbGFzdCB0byBiZSBzZXQuCgpBIHN1YnNlcXVlbnQgcGF0 Y2ggd2lsbCBtYWtlIGZ1cnRoZXIgdXNlIG9mIGdldF9pb21tdV9wZGVfaW5mbygpLgoKU2lnbmVk LW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KLS0tCkNjOiBT dXJhdmVlIFN1dGhpa3VscGFuaXQgPHN1cmF2ZWUuc3V0aGlrdWxwYW5pdEBhbWQuY29tPgpDYzog QnJpYW4gV29vZHMgPGJyaWFuLndvb2RzQGFtZC5jb20+Ci0tLQogeGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvYW1kL2lvbW11X21hcC5jIHwgODggKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X21hcC5jIGIveGVu L2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X21hcC5jCmluZGV4IGExODZjOGQyOGIuLmZl Y2RlOWQ2NDUgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9t YXAuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMKQEAgLTQ1 LDE1ICs0NSwxMCBAQCB2b2lkIGNsZWFyX2lvbW11X3B0ZV9wcmVzZW50KHVuc2lnbmVkIGxvbmcg bDFfbWZuLCB1bnNpZ25lZCBsb25nIGRmbikKICAgICB1bm1hcF9kb21haW5fcGFnZSh0YWJsZSk7 CiB9CiAKLXN0YXRpYyBib29sIHNldF9pb21tdV9wZGVfcHJlc2VudCh1aW50MzJfdCAqcGRlLCB1 bnNpZ25lZCBsb25nIG5leHRfbWZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCBuZXh0X2xldmVsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJvb2wgaXcsIGJvb2wgaXIpCitzdGF0aWMgdm9pZCBnZXRfaW9tbXVfcGRlX2luZm8odWlu dDMyX3QgKnBkZSwgdWludDY0X3QgKm1hZGRyLCBib29sICppdywKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBib29sICppcikKIHsKLSAgICB1aW50NjRfdCBhZGRyX2xvLCBhZGRyX2hp LCBtYWRkcl9vbGQsIG1hZGRyX25leHQ7Ci0gICAgdWludDMyX3QgZW50cnk7Ci0gICAgYm9vbCBu ZWVkX2ZsdXNoID0gZmFsc2U7Ci0KLSAgICBtYWRkcl9uZXh0ID0gKHVpbnQ2NF90KW5leHRfbWZu IDw8IFBBR0VfU0hJRlQ7CisgICAgdWludDY0X3QgYWRkcl9sbywgYWRkcl9oaTsKIAogICAgIGFk ZHJfaGkgPSBnZXRfZmllbGRfZnJvbV9yZWdfdTMyKHBkZVsxXSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJT01NVV9QVEVfQUREUl9ISUdIX01BU0ssCkBAIC02MSw0NSAr NTYsNzQgQEAgc3RhdGljIGJvb2wgc2V0X2lvbW11X3BkZV9wcmVzZW50KHVpbnQzMl90ICpwZGUs IHVuc2lnbmVkIGxvbmcgbmV4dF9tZm4sCiAgICAgYWRkcl9sbyA9IGdldF9maWVsZF9mcm9tX3Jl Z191MzIocGRlWzBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1V X1BURV9BRERSX0xPV19NQVNLLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElPTU1VX1BURV9BRERSX0xPV19TSElGVCk7CisgICAgKm1hZGRyID0gKGFkZHJfaGkgPDwgMzIp IHwgKGFkZHJfbG8gPDwgUEFHRV9TSElGVCk7CiAKLSAgICBtYWRkcl9vbGQgPSAoYWRkcl9oaSA8 PCAzMikgfCAoYWRkcl9sbyA8PCBQQUdFX1NISUZUKTsKKyAgICBpZiAoIGl3ICkKKyAgICAgICAg Kml3ID0gISFnZXRfZmllbGRfZnJvbV9yZWdfdTMyKHBkZVsxXSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElPTU1VX1BERV9JT19XUklURV9QRVJNSVNTSU9OX01BU0ss CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9QREVfSU9fV1JJ VEVfUEVSTUlTU0lPTl9TSElGVCk7CisKKyAgICBpZiAoIGlyICkKKyAgICAgICAgKmlyID0gISFn ZXRfZmllbGRfZnJvbV9yZWdfdTMyKHBkZVsxXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElPTU1VX1BERV9JT19SRUFEX1BFUk1JU1NJT05fTUFTSywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX1BERV9JT19SRUFEX1BFUk1JU1NJ T05fU0hJRlQpOworfQorCitzdGF0aWMgYm9vbCBzZXRfaW9tbXVfcGRlX2luZm8odWludDMyX3Qg KnBkZSwgdWludDY0X3QgbWFkZHIsIGJvb2wgaXcsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYm9vbCBpcikKK3sKKyAgICB1aW50NjRfdCBhZGRyX2xvLCBhZGRyX2hpLCBtYWRkcl9v bGQ7CiAKLSAgICBpZiAoIG1hZGRyX29sZCAhPSBtYWRkcl9uZXh0ICkKLSAgICAgICAgbmVlZF9m bHVzaCA9IDE7CisgICAgZ2V0X2lvbW11X3BkZV9pbmZvKHBkZSwgJm1hZGRyX29sZCwgTlVMTCwg TlVMTCk7CiAKLSAgICBhZGRyX2xvID0gbWFkZHJfbmV4dCAmIERNQV8zMkJJVF9NQVNLOwotICAg IGFkZHJfaGkgPSBtYWRkcl9uZXh0ID4+IDMyOworICAgIGFkZHJfbG8gPSAobWFkZHIgJiBETUFf MzJCSVRfTUFTSykgPj4gUEFHRV9TSElGVDsKKyAgICBhZGRyX2hpID0gbWFkZHIgPj4gMzI7CiAK LSAgICAvKiBlbmFibGUgcmVhZC93cml0ZSBwZXJtaXNzaW9ucyx3aGljaCB3aWxsIGJlIGVuZm9y Y2VkIGF0IHRoZSBQVEUgKi8KICAgICBzZXRfZmllbGRfaW5fcmVnX3UzMigodWludDMyX3QpYWRk cl9oaSwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9QREVfQUREUl9ISUdIX01B U0ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVfUERFX0FERFJfSElHSF9TSElGVCwg JmVudHJ5KTsKLSAgICBzZXRfZmllbGRfaW5fcmVnX3UzMihpdywgZW50cnksCisgICAgICAgICAg ICAgICAgICAgICAgICAgSU9NTVVfUERFX0FERFJfSElHSF9TSElGVCwgJnBkZVsxXSk7CisgICAg c2V0X2ZpZWxkX2luX3JlZ191MzIoaXcsIHBkZVsxXSwKICAgICAgICAgICAgICAgICAgICAgICAg ICBJT01NVV9QREVfSU9fV1JJVEVfUEVSTUlTU0lPTl9NQVNLLAotICAgICAgICAgICAgICAgICAg ICAgICAgIElPTU1VX1BERV9JT19XUklURV9QRVJNSVNTSU9OX1NISUZULCAmZW50cnkpOwotICAg IHNldF9maWVsZF9pbl9yZWdfdTMyKGlyLCBlbnRyeSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICBJT01NVV9QREVfSU9fV1JJVEVfUEVSTUlTU0lPTl9TSElGVCwgJnBkZVsxXSk7CisgICAgc2V0 X2ZpZWxkX2luX3JlZ191MzIoaXIsIHBkZVsxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICBJ T01NVV9QREVfSU9fUkVBRF9QRVJNSVNTSU9OX01BU0ssCi0gICAgICAgICAgICAgICAgICAgICAg ICAgSU9NTVVfUERFX0lPX1JFQURfUEVSTUlTU0lPTl9TSElGVCwgJmVudHJ5KTsKKyAgICAgICAg ICAgICAgICAgICAgICAgICBJT01NVV9QREVfSU9fUkVBRF9QRVJNSVNTSU9OX1NISUZULCAmcGRl WzFdKTsKKyAgICBzZXRfZmllbGRfaW5fcmVnX3UzMigodWludDMyX3QpYWRkcl9sbywgMCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9QREVfQUREUl9MT1dfTUFTSywKKyAgICAgICAg ICAgICAgICAgICAgICAgICBJT01NVV9QREVfQUREUl9MT1dfU0hJRlQsICZwZGVbMF0pOworCisg ICAgcmV0dXJuIG1hZGRyICE9IG1hZGRyX29sZDsKK30KKworc3RhdGljIGJvb2wgc2V0X2lvbW11 X3BkZV9wcmVzZW50KHVpbnQzMl90ICpwZGUsIHVuc2lnbmVkIGxvbmcgbmV4dF9tZm4sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG5leHRfbGV2ZWwsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGl3LCBib29sX3QgaXIpCit7 CisgICAgYm9vbCBuZWVkX2ZsdXNoID0gc2V0X2lvbW11X3BkZV9pbmZvKHBkZSwgbmV4dF9tZm4g PDwgUEFHRV9TSElGVCwgaXcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlyKTsKIAotICAgIC8qIEZDIGJpdCBzaG91bGQgYmUgZW5hYmxlZCBpbiBQVEUsIHRoaXMg aGVscHMgdG8gc29sdmUgcG90ZW50aWFsCi0gICAgICogaXNzdWVzIHdpdGggQVRTIGRldmljZXMK KyAgICAvKgorICAgICAqIEZDIGJpdCBzaG91bGQgYmUgZW5hYmxlZCBpbiBQVEUsIHRoaXMgaGVs cHMgdG8gc29sdmUgcG90ZW50aWFsCisgICAgICogaXNzdWVzIHdpdGggQVRTIGRldmljZXMuCiAg ICAgICovCiAgICAgaWYgKCBuZXh0X2xldmVsID09IElPTU1VX1BBR0lOR19NT0RFX0xFVkVMXzAg KQotICAgICAgICBzZXRfZmllbGRfaW5fcmVnX3UzMihJT01NVV9DT05UUk9MX0VOQUJMRUQsIGVu dHJ5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9QVEVfRkNfTUFTSywgSU9N TVVfUFRFX0ZDX1NISUZULCAmZW50cnkpOwotICAgIHBkZVsxXSA9IGVudHJ5OworICAgICAgICBz ZXRfZmllbGRfaW5fcmVnX3UzMihJT01NVV9DT05UUk9MX0VOQUJMRUQsIHBkZVsxXSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVfUFRFX0ZDX01BU0ssIElPTU1VX1BURV9GQ19T SElGVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBkZVsxXSk7CiAKICAgICAvKiBt YXJrIG5leHQgbGV2ZWwgYXMgJ3ByZXNlbnQnICovCi0gICAgc2V0X2ZpZWxkX2luX3JlZ191MzIo KHVpbnQzMl90KWFkZHJfbG8gPj4gUEFHRV9TSElGVCwgMCwKLSAgICAgICAgICAgICAgICAgICAg ICAgICBJT01NVV9QREVfQUREUl9MT1dfTUFTSywKLSAgICAgICAgICAgICAgICAgICAgICAgICBJ T01NVV9QREVfQUREUl9MT1dfU0hJRlQsICZlbnRyeSk7Ci0gICAgc2V0X2ZpZWxkX2luX3JlZ191 MzIobmV4dF9sZXZlbCwgZW50cnksCisgICAgc2V0X2ZpZWxkX2luX3JlZ191MzIobmV4dF9sZXZl bCwgcGRlWzBdLAogICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX1BERV9ORVhUX0xFVkVM X01BU0ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVfUERFX05FWFRfTEVWRUxfU0hJ RlQsICZlbnRyeSk7Ci0gICAgc2V0X2ZpZWxkX2luX3JlZ191MzIoSU9NTVVfQ09OVFJPTF9FTkFC TEVELCBlbnRyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9QREVfTkVYVF9MRVZF TF9TSElGVCwgJnBkZVswXSk7CisKKyAgICAvKgorICAgICAqIE1ha2Ugc3VyZSBhbGwgb3RoZXIg Yml0cyBhcmUgd3JpdHRlbiBiZWZvcmUgdGhlIGVudHJ5IGlzIG1hZGUKKyAgICAgKiBwcmVzZW50 LgorICAgICAqLworICAgIHNtcF9tYigpOworICAgIHNldF9maWVsZF9pbl9yZWdfdTMyKElPTU1V X0NPTlRST0xfRU5BQkxFRCwgcGRlWzBdLAogICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1V X1BERV9QUkVTRU5UX01BU0ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVfUERFX1BS RVNFTlRfU0hJRlQsICZlbnRyeSk7Ci0gICAgcGRlWzBdID0gZW50cnk7CisgICAgICAgICAgICAg ICAgICAgICAgICAgSU9NTVVfUERFX1BSRVNFTlRfU0hJRlQsICZwZGVbMF0pOwogCiAgICAgcmV0 dXJuIG5lZWRfZmx1c2g7CiB9Ci0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v bGlzdGluZm8veGVuLWRldmVs