From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ankur Arora Subject: [RFC PATCH 05/16] x86/xen: add feature support in xenhost_t Date: Thu, 9 May 2019 10:25:29 -0700 Message-ID: <20190509172540.12398-6-ankur.a.arora__14975.7838271157$1557422807$gmane$org@oracle.com> References: <20190509172540.12398-1-ankur.a.arora@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hOmnf-0000bJ-OC for xen-devel@lists.xenproject.org; Thu, 09 May 2019 17:25:43 +0000 In-Reply-To: <20190509172540.12398-1-ankur.a.arora@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org Cc: jgross@suse.com, sstabellini@kernel.org, konrad.wilk@oracle.com, ankur.a.arora@oracle.com, pbonzini@redhat.com, boris.ostrovsky@oracle.com, joao.m.martins@oracle.com List-Id: xen-devel@lists.xenproject.org V2l0aCBuZXN0ZWQgeGVuaG9zdHMsIGJvdGggdGhlIHhlbmhvc3RzIGNvdWxkIGhhdmUgZGlmZmVy ZW50IHN1cHBvcnRlZAp4ZW5fZmVhdHVyZXMuIEFkZCBzdXBwb3J0IGZvciBwcm9iaW5nIGJvdGgu CgpJbiBhZGRpdGlvbiwgdmFsaWRhdGUgdGhhdCBmZWF0dXJlcyBhcmUgY29tcGF0aWJsZSBhY3Jv c3MgeGVuaG9zdHMuCgpGb3IgcnVudGltZSBmZWF0dXJlIGNoZWNraW5nLCB0aGUgY29kZSB1c2Vz IHhlbl9mZWF0dXJlKCkgd2l0aCB0aGUKZGVmYXVsdCB4ZW5ob3N0LiBUaGlzIHNob3VsZCBiZSBn b29kIGVub3VnaCBiZWNhdXNlIHdlIGRvIGZlYXR1cmUKdmFsaWRhdGlvbiBlYXJseSB3aGljaCBn dWFyYW50ZWVzIHRoYXQgdGhlIGZlYXR1cmVzIG9mIGludGVyZXN0IGFyZQpjb21wYXRpYmxlLiBG ZWF0dXJlcyBub3Qgb2YgaW50ZXJlc3QsIGFyZSByZWxhdGVkIHRvIE1NVSwgY2xvY2ssIHBpcnEs IGV0YyB3aGVyZQp0aGUgaW50ZXJmYWNlIHRvIEwwLVhlbiBzaG91bGQgbm90IG1hdHRlci4KClNp Z25lZC1vZmYtYnk6IEFua3VyIEFyb3JhIDxhbmt1ci5hLmFyb3JhQG9yYWNsZS5jb20+Ci0tLQog YXJjaC94ODYveGVuL2VubGlnaHRlbl9odm0uYyB8IDE1ICsrKysrKysrKysrLS0tLQogYXJjaC94 ODYveGVuL2VubGlnaHRlbl9wdi5jICB8IDE0ICsrKysrKysrKystLS0tCiBkcml2ZXJzL3hlbi9m ZWF0dXJlcy5jICAgICAgIHwgMzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiBp bmNsdWRlL3hlbi9mZWF0dXJlcy5oICAgICAgIHwgMTcgKysrKysrKysrKysrKystLS0KIGluY2x1 ZGUveGVuL3hlbmhvc3QuaCAgICAgICAgfCAxMCArKysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQs IDcyIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gveDg2 L3hlbi9lbmxpZ2h0ZW5faHZtLmMgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVuX2h2bS5jCmluZGV4 IGY4NDk0MWQ2OTQ0ZS4uYTExOGI2MWExYThhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vZW5s aWdodGVuX2h2bS5jCisrKyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW5faHZtLmMKQEAgLTExOSwx NyArMTE5LDI0IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBpbml0X2h2bV9wdl9pbmZvKHZvaWQpCiAK IAl4ZW5fZG9tYWluX3R5cGUgPSBYRU5fSFZNX0RPTUFJTjsKIAotCS8qIFBWSCBzZXQgdXAgaHlw ZXJjYWxsIHBhZ2UgaW4geGVuX3ByZXBhcmVfcHZoKCkuICovCiAJaWYgKHhlbl9wdmhfZG9tYWlu KCkpCiAJCXB2X2luZm8ubmFtZSA9ICJYZW4gUFZIIjsKLQllbHNlIHsKKwllbHNlCiAJCXB2X2lu Zm8ubmFtZSA9ICJYZW4gSFZNIjsKIAotCQlmb3JfZWFjaF94ZW5ob3N0KHhoKQorCWZvcl9lYWNo X3hlbmhvc3QoeGgpIHsKKwkJLyogUFZIIHNldCB1cCBoeXBlcmNhbGwgcGFnZSBpbiB4ZW5fcHJl cGFyZV9wdmgoKS4gKi8KKwkJaWYgKCF4ZW5fcHZoX2RvbWFpbigpKQogCQkJeGVuaG9zdF9zZXR1 cF9oeXBlcmNhbGxfcGFnZSgqeGgpOworCQl4ZW5fc2V0dXBfZmVhdHVyZXMoKnhoKTsKIAl9CiAK LQl4ZW5fc2V0dXBfZmVhdHVyZXMoKTsKKwkvKgorCSAqIENoZWNrIGlmIGZlYXR1cmVzIGFyZSBj b21wYXRpYmxlIGFjcm9zcyBMMS1YZW4gYW5kIEwwLVhlbjsKKwkgKiBJZiBub3QsIGdldCByaWQg b2YgeGVuaG9zdF9yMi4KKwkgKi8KKwlpZiAoeGVuX3ZhbGlkYXRlX2ZlYXR1cmVzKCkgPT0gZmFs c2UpCisJCV9feGVuaG9zdF91bnJlZ2lzdGVyKHhlbmhvc3RfcjIpOwogCiAJY3B1aWQoYmFzZSAr IDQsICZlYXgsICZlYngsICZlY3gsICZlZHgpOwogCWlmIChlYXggJiBYRU5fSFZNX0NQVUlEX1ZD UFVfSURfUFJFU0VOVCkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW5fcHYuYyBi L2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW5fcHYuYwppbmRleCBhMmMwN2NjNzE0OTguLjQ4NDk2OGZm MTZhNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL2VubGlnaHRlbl9wdi5jCisrKyBiL2FyY2gv eDg2L3hlbi9lbmxpZ2h0ZW5fcHYuYwpAQCAtMTIzNiwxMyArMTIzNiwxOSBAQCBhc21saW5rYWdl IF9fdmlzaWJsZSB2b2lkIF9faW5pdCB4ZW5fc3RhcnRfa2VybmVsKHZvaWQpCiAJaWYgKHhlbl9k cml2ZXJfZG9tYWluKCkgJiYgeGVuX25lc3RlZCgpKQogCQl4ZW5ob3N0X3JlZ2lzdGVyKHhlbmhv c3RfcjIsICZ4aF9wdl9uZXN0ZWRfb3BzKTsKIAotCWZvcl9lYWNoX3hlbmhvc3QoeGgpCi0JCXhl bmhvc3Rfc2V0dXBfaHlwZXJjYWxsX3BhZ2UoKnhoKTsKLQogCXhlbl9kb21haW5fdHlwZSA9IFhF Tl9QVl9ET01BSU47CiAJeGVuX3N0YXJ0X2ZsYWdzID0geGVuX3N0YXJ0X2luZm8tPmZsYWdzOwog Ci0JeGVuX3NldHVwX2ZlYXR1cmVzKCk7CisJZm9yX2VhY2hfeGVuaG9zdCh4aCkgeworCQl4ZW5o b3N0X3NldHVwX2h5cGVyY2FsbF9wYWdlKCp4aCk7CisJCXhlbl9zZXR1cF9mZWF0dXJlcygqeGgp OworCX0KKwkvKgorCSAqIENoZWNrIGlmIGZlYXR1cmVzIGFyZSBjb21wYXRpYmxlIGFjcm9zcyBM MS1YZW4gYW5kIEwwLVhlbjsKKwkgKiBJZiBub3QsIGdldCByaWQgb2YgeGVuaG9zdF9yMi4KKwkg Ki8KKwlpZiAoeGVuX3ZhbGlkYXRlX2ZlYXR1cmVzKCkgPT0gZmFsc2UpCisJCV9feGVuaG9zdF91 bnJlZ2lzdGVyKHhlbmhvc3RfcjIpOwogCiAJLyogSW5zdGFsbCBYZW4gcGFyYXZpcnQgb3BzICov CiAJcHZfaW5mbyA9IHhlbl9pbmZvOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vZmVhdHVyZXMu YyBiL2RyaXZlcnMveGVuL2ZlYXR1cmVzLmMKaW5kZXggZDdkMzRmZGZjOTkzLi5iNGZiYTgwOGVi YWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL2ZlYXR1cmVzLmMKKysrIGIvZHJpdmVycy94ZW4v ZmVhdHVyZXMuYwpAQCAtMTUsMTkgKzE1LDQwIEBACiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS92 ZXJzaW9uLmg+CiAjaW5jbHVkZSA8eGVuL2ZlYXR1cmVzLmg+CiAKLXU4IHhlbl9mZWF0dXJlc1tY RU5GRUFUX05SX1NVQk1BUFMgKiAzMl0gX19yZWFkX21vc3RseTsKLUVYUE9SVF9TWU1CT0xfR1BM KHhlbl9mZWF0dXJlcyk7Ci0KLXZvaWQgeGVuX3NldHVwX2ZlYXR1cmVzKHZvaWQpCit2b2lkIHhl bl9zZXR1cF9mZWF0dXJlcyh4ZW5ob3N0X3QgKnhoKQogewogCXN0cnVjdCB4ZW5fZmVhdHVyZV9p bmZvIGZpOwogCWludCBpLCBqOwogCiAJZm9yIChpID0gMDsgaSA8IFhFTkZFQVRfTlJfU1VCTUFQ UzsgaSsrKSB7CiAJCWZpLnN1Ym1hcF9pZHggPSBpOwotCQlpZiAoSFlQRVJWSVNPUl94ZW5fdmVy c2lvbihYRU5WRVJfZ2V0X2ZlYXR1cmVzLCAmZmkpIDwgMCkKKwkJaWYgKGh5cGVydmlzb3JfeGVu X3ZlcnNpb24oeGgsIFhFTlZFUl9nZXRfZmVhdHVyZXMsICZmaSkgPCAwKQogCQkJYnJlYWs7CiAJ CWZvciAoaiA9IDA7IGogPCAzMjsgaisrKQotCQkJeGVuX2ZlYXR1cmVzW2kgKiAzMiArIGpdID0g ISEoZmkuc3VibWFwICYgMTw8aik7CisJCQl4aC0+ZmVhdHVyZXNbaSAqIDMyICsgal0gPSAhIShm aS5zdWJtYXAgJiAxPDxqKTsKIAl9CiB9CisKK2Jvb2wgeGVuX3ZhbGlkYXRlX2ZlYXR1cmVzKHZv aWQpCit7CisJaW50IGZhaWwgPSAwOworCisJaWYgKHhoX2RlZmF1bHQgJiYgeGhfcmVtb3RlKSB7 CisJCS8qCisJCSAqIENoZWNrIHhoX2RlZmF1bHQtPmZlYXR1cmVzIGFuZCB4aF9yZW1vdGUtPmZl YXR1cmVzIGZvcgorCQkgKiBjb21wYXRpYmlsaXR5LiBSZWxldmFudCBmZWF0dXJlcyBzaG91bGQg YmUgY29tcGF0aWJsZQorCQkgKiBvciB3ZSBhcmUgYXNraW5nIGZvciB0cm91YmxlLgorCQkgKi8K KwkJZmFpbCArPSBfX3hlbl9mZWF0dXJlKHhoX2RlZmF1bHQsIFhFTkZFQVRfYXV0b190cmFuc2xh dGVkX3BoeXNtYXApICE9CisJCQlfX3hlbl9mZWF0dXJlKHhoX3JlbW90ZSwgWEVORkVBVF9hdXRv X3RyYW5zbGF0ZWRfcGh5c21hcCk7CisKKwkJLyogV2Ugd291bGQgbGlrZSBjYWxsYmFja3Mgdmlh IGh2bV9jYWxsYmFja192ZWN0b3IuICovCisJCWZhaWwgKz0gX194ZW5fZmVhdHVyZSh4aF9kZWZh dWx0LCBYRU5GRUFUX2h2bV9jYWxsYmFja192ZWN0b3IpID09IDA7CisJCWZhaWwgKz0gX194ZW5f ZmVhdHVyZSh4aF9yZW1vdGUsIFhFTkZFQVRfaHZtX2NhbGxiYWNrX3ZlY3RvcikgPT0gMDsKKwor CQlpZiAoZmFpbCkKKwkJCXJldHVybiBmYWxzZTsKKwl9CisKKwlyZXR1cm4gZmFpbCA/IGZhbHNl IDogdHJ1ZTsKK30KZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ZlYXR1cmVzLmggYi9pbmNsdWRl L3hlbi9mZWF0dXJlcy5oCmluZGV4IGU0Y2I0NjQzODZhOS4uNjNlNjczNWVkNmEzIDEwMDY0NAot LS0gYS9pbmNsdWRlL3hlbi9mZWF0dXJlcy5oCisrKyBiL2luY2x1ZGUveGVuL2ZlYXR1cmVzLmgK QEAgLTExLDE0ICsxMSwyNSBAQAogI2RlZmluZSBfX1hFTl9GRUFUVVJFU19IX18KIAogI2luY2x1 ZGUgPHhlbi9pbnRlcmZhY2UvZmVhdHVyZXMuaD4KKyNpbmNsdWRlIDx4ZW4veGVuaG9zdC5oPgog Ci12b2lkIHhlbl9zZXR1cF9mZWF0dXJlcyh2b2lkKTsKK3ZvaWQgeGVuX3NldHVwX2ZlYXR1cmVz KHhlbmhvc3RfdCAqeGgpOwogCi1leHRlcm4gdTggeGVuX2ZlYXR1cmVzW1hFTkZFQVRfTlJfU1VC TUFQUyAqIDMyXTsKK2Jvb2wgeGVuX3ZhbGlkYXRlX2ZlYXR1cmVzKHZvaWQpOwogCitzdGF0aWMg aW5saW5lIGludCBfX3hlbl9mZWF0dXJlKHhlbmhvc3RfdCAqeGgsIGludCBmbGFnKQoreworCXJl dHVybiB4aC0+ZmVhdHVyZXNbZmxhZ107Cit9CisKKy8qCisgKiBXZSd2ZSB2YWxpZGF0ZWQgdGhl IGZlYXR1cmVzIHRoYXQgbmVlZCB0byBiZSBjb21tb24gZm9yIGJvdGggeGVuaG9zdF9yMSBhbmQK KyAqIHhlbmhvc3RfcjIgKFhFTkZFQVRfaHZtX2NhbGxiYWNrX3ZlY3RvciwgWEVORkVBVF9hdXRv X3RyYW5zbGF0ZWRfcGh5c21hcC4pCisgKiBNb3N0IG9mIHRoZSBvdGhlciBmZWF0dXJlcyBzaG91 bGQgYmUgb25seSBuZWVkZWQgZm9yIHRoZSBkZWZhdWx0IHhlbmhvc3QuCisgKi8KIHN0YXRpYyBp bmxpbmUgaW50IHhlbl9mZWF0dXJlKGludCBmbGFnKQogewotCXJldHVybiB4ZW5fZmVhdHVyZXNb ZmxhZ107CisJcmV0dXJuIF9feGVuX2ZlYXR1cmUoeGhfZGVmYXVsdCwgZmxhZyk7CiB9CiAKICNl bmRpZiAvKiBfX0FTTV9YRU5fRkVBVFVSRVNfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3hl bi94ZW5ob3N0LmggYi9pbmNsdWRlL3hlbi94ZW5ob3N0LmgKaW5kZXggZDliYzFmYjZjY2U0Li5k ZDFlMmI2NGY1MGQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL3hlbmhvc3QuaAorKysgYi9pbmNs dWRlL3hlbi94ZW5ob3N0LmgKQEAgLTQsNiArNCw3IEBACiAjaW5jbHVkZSA8eGVuL2ludGVyZmFj ZS9mZWF0dXJlcy5oPgogI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2UveGVuLmg+CiAjaW5jbHVkZSA8 YXNtL3hlbi9oeXBlcnZpc29yLmg+CisKIC8qCiAgKiBYZW5ob3N0IGFic3RyYWN0cyBvdXQgdGhl IFhlbiBpbnRlcmZhY2UuIEl0IGNvLWV4aXN0cyB3aXRoIHRoZSBQVi9IVk0vUFZICiAgKiBhYnN0 cmFjdGlvbnMgKHg4Nl9pbml0LCBoeXBlcnZpc29yX3g4NiwgcHZfb3BzIGV0YykgYW5kIGlzIG1l YW50IHRvCkBAIC03Miw2ICs3MywxNSBAQCB0eXBlZGVmIHN0cnVjdCB7CiAJc3RydWN0IHhlbmhv c3Rfb3BzICpvcHM7CiAKIAlzdHJ1Y3QgaHlwZXJjYWxsX2VudHJ5ICpoeXBlcmNhbGxfcGFnZTsK KworCS8qCisJICogTm90IGNsZWFyIGlmIHdlIG5lZWQgdG8gZHJhdyBmZWF0dXJlcyBmcm9tIHR3 byBkaWZmZXJlbnQKKwkgKiBoeXBlcnZpc29ycy4gVGhlcmUgaXMgb25lIGZlYXR1cmUgdGhhdCBz ZWVtcyBtaWdodCBiZSBuZWNlc3Nhcnk6CisJICogWEVORkVBVF9odm1fY2FsbGJhY2tfdmVjdG9y LgorCSAqIEVuc3VyaW5nIHN1cHBvcnQgaW4gYm90aCBMMS1YZW4gYW5kIEwwLVhlbiBtZWFucyB0 aGF0IEwwLVhlbiBjYW4KKwkgKiBib3VuY2UgY2FsbGJhY2tzIHZpYSBMMS1YZW4uCisJICovCisJ dTggZmVhdHVyZXNbWEVORkVBVF9OUl9TVUJNQVBTICogMzJdOwogfSB4ZW5ob3N0X3Q7CiAKIHR5 cGVkZWYgc3RydWN0IHhlbmhvc3Rfb3BzIHsKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv bWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=