From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH 10/12] xen: Use newly added dmops for mapping VGA memory Date: Thu, 8 Mar 2018 19:03:05 +0000 Message-ID: <1520535787-6223-11-git-send-email-ian.jackson@eu.citrix.com> References: <1520535787-6223-1-git-send-email-ian.jackson@eu.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.84_2) (envelope-from ) id 1eu0pN-0005o6-FV for xen-devel@lists.xenproject.org; Thu, 08 Mar 2018 19:03:45 +0000 In-Reply-To: <1520535787-6223-1-git-send-email-ian.jackson@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: qemu-devel@nongnu.org Cc: Juergen Gross , Stefano Stabellini , Ian Jackson , Ross Lagerwall , Anthony PERARD , xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org RnJvbTogUm9zcyBMYWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+CgpYZW4gdW5z dGFibGUgKHRvIGJlIGluIDQuMTEpIGhhcyB0d28gbmV3IGRtb3BzLCByZWxvY2F0ZV9tZW1vcnkg YW5kCnBpbl9tZW1vcnlfY2FjaGVhdHRyLiBVc2UgdGhlc2UgdG8gc2V0IHVwIHRoZSBWR0EgbWVt b3J5LCByZXBsYWNpbmcgdGhlCnByZXZpb3VzIGNhbGxzIHRvIGxpYnhjLiBUaGlzIGFsbG93cyB0 aGUgVkdBIGNvbnNvbGUgdG8gd29yayBwcm9wZXJseQp3aGVuIFFFTVUgaXMgcnVubmluZyByZXN0 cmljdGVkICgteGVuLWRvbWlkLXJlc3RyaWN0KS4KCldyYXBwZXIgZnVuY3Rpb25zIGFyZSBwcm92 aWRlZCB0byBhbGxvdyBRRU1VIHRvIHdvcmsgd2l0aCBvbGRlciB2ZXJzaW9ucwpvZiBYZW4uCgpU d2VhayB0aGUgZXJyb3IgaGFuZGxpbmcgd2hpbGUgbWFraW5nIHRoaXMgY2hhbmdlOgoqIFJlcG9y dCBwaW5fbWVtb3J5X2NhY2hlYXR0ciBlcnJvcnMuCiogUmVwb3J0IGVycm9ycyBldmVuIHdoZW4g REVCVUdfSFZNIGlzIG5vdCBzZXQuIFRoaXMgaXMgdXNlZnVsIGZvcgp0cnlpbmcgdG8gdW5kZXJz dGFuZCB3aHkgVkdBIGlzIG5vdCB3b3JraW5nLCBzaW5jZSBvdGhlcndpc2UgaXQganVzdApmYWls cyBzaWxlbnRseS4KKiBGaXggdGhlIHJldHVybiB2YWx1ZXMgd2hlbiBhbiBlcnJvciBvY2N1cnMu IFRoZSBmdW5jdGlvbnMgbm93CmNvbnNpc3RlbnRseSByZXR1cm4gLTEgYW5kIHNldCBlcnJuby4K CkNDOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1i eTogUm9zcyBMYWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5 OiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTog SWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+Ci0tLQp2Ni4xOiBGaXggcHJp bnRmIGZvcm1hdHMgdG8gbWF0Y2ggdHlwZXMgaW4gZXJyb3JfcmVwb3J0IG1lc3NhZ2VzCiAgICAg IEZpeCBzcHVyaW91cyBcbiBpbiBlcnJvcl9yZXBvcnQgbWVzc2FnZXMKICAgICAgRml4IHsgfSBz dHlsZSBpc3N1ZQp2NjogTmV3IHBhdGNoIGluIHRoaXMgdmVyc2lvbiBvZiB0aGUgc2VyaWVzCi0t LQogY29uZmlndXJlICAgICAgICAgICAgICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKysKIGh3 L2kzODYveGVuL3hlbi1odm0uYyAgICAgICB8IDUwICsrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZS9ody94ZW4veGVuX2NvbW1vbi5oIHwgMzIgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNzggaW5zZXJ0aW9u cygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJl CmluZGV4IDg0MWMxNDYuLjlhODM4MzYgMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25m aWd1cmUKQEAgLTIyMTMsNiArMjIxMywyNSBAQCBFT0YKICAgICAjIFhlbiB1bnN0YWJsZQogICAg IGVsaWYKICAgICAgICAgY2F0ID4gJFRNUEMgPDxFT0YgJiYKKyN1bmRlZiBYQ19XQU5UX0NPTVBB VF9ERVZJQ0VNT0RFTF9BUEkKKyNkZWZpbmUgX19YRU5fVE9PTFNfXworI2luY2x1ZGUgPHhlbmRl dmljZW1vZGVsLmg+CitpbnQgbWFpbih2b2lkKSB7CisgIHhlbmRldmljZW1vZGVsX2hhbmRsZSAq eGQ7CisKKyAgeGQgPSB4ZW5kZXZpY2Vtb2RlbF9vcGVuKDAsIDApOworICB4ZW5kZXZpY2Vtb2Rl bF9waW5fbWVtb3J5X2NhY2hlYXR0cih4ZCwgMCwgMCwgMCwgMCk7CisKKyAgcmV0dXJuIDA7Cit9 CitFT0YKKyAgICAgICAgY29tcGlsZV9wcm9nICIiICIkeGVuX2xpYnMgLWx4ZW5kZXZpY2Vtb2Rl bCAkeGVuX3N0YWJsZV9saWJzIC1seGVudG9vbGNvcmUiCisgICAgICB0aGVuCisgICAgICB4ZW5f c3RhYmxlX2xpYnM9Ii1seGVuZGV2aWNlbW9kZWwgJHhlbl9zdGFibGVfbGlicyAtbHhlbnRvb2xj b3JlIgorICAgICAgeGVuX2N0cmxfdmVyc2lvbj00MTEwMAorICAgICAgeGVuPXllcworICAgIGVs aWYKKyAgICAgICAgY2F0ID4gJFRNUEMgPDxFT0YgJiYKICN1bmRlZiBYQ19XQU5UX0NPTVBBVF9N QVBfRk9SRUlHTl9BUEkKICNpbmNsdWRlIDx4ZW5mb3JlaWdubWVtb3J5Lmg+CiAjaW5jbHVkZSA8 eGVudG9vbGNvcmUuaD4KZGlmZiAtLWdpdCBhL2h3L2kzODYveGVuL3hlbi1odm0uYyBiL2h3L2kz ODYveGVuL3hlbi1odm0uYwppbmRleCBmYjcyN2JjLi5jYWE1NjNiIDEwMDY0NAotLS0gYS9ody9p Mzg2L3hlbi94ZW4taHZtLmMKKysrIGIvaHcvaTM4Ni94ZW4veGVuLWh2bS5jCkBAIC0zNDcsNyAr MzQ3LDcgQEAgc3RhdGljIGludCB4ZW5fYWRkX3RvX3BoeXNtYXAoWGVuSU9TdGF0ZSAqc3RhdGUs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb24gKm1yLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIG9mZnNldF93aXRoaW5fcmVnaW9uKQogewot ICAgIHVuc2lnbmVkIGxvbmcgaSA9IDA7CisgICAgdW5zaWduZWQgbG9uZyBucl9wYWdlczsKICAg ICBpbnQgcmMgPSAwOwogICAgIFhlblBoeXNtYXAgKnBoeXNtYXAgPSBOVUxMOwogICAgIGh3YWRk ciBwZm4sIHN0YXJ0X2dwZm47CkBAIC0zOTYsMjIgKzM5NiwyNiBAQCBnb19waHlzbWFwOgogCiAg ICAgcGZuID0gcGh5c19vZmZzZXQgPj4gVEFSR0VUX1BBR0VfQklUUzsKICAgICBzdGFydF9ncGZu ID0gc3RhcnRfYWRkciA+PiBUQVJHRVRfUEFHRV9CSVRTOwotICAgIGZvciAoaSA9IDA7IGkgPCBz aXplID4+IFRBUkdFVF9QQUdFX0JJVFM7IGkrKykgewotICAgICAgICB1bnNpZ25lZCBsb25nIGlk eCA9IHBmbiArIGk7Ci0gICAgICAgIHhlbl9wZm5fdCBncGZuID0gc3RhcnRfZ3BmbiArIGk7Ci0K LSAgICAgICAgcmMgPSB4ZW5feGNfZG9tYWluX2FkZF90b19waHlzbWFwKHhlbl94YywgeGVuX2Rv bWlkLCBYRU5NQVBTUEFDRV9nbWZuLCBpZHgsIGdwZm4pOwotICAgICAgICBpZiAocmMpIHsKLSAg ICAgICAgICAgIERQUklOVEYoImFkZF90b19waHlzbWFwIE1GTiAlIlBSSV94ZW5fcGZuIiB0byBQ Rk4gJSIKLSAgICAgICAgICAgICAgICAgICAgUFJJX3hlbl9wZm4iIGZhaWxlZDogJWQgKGVycm5v OiAlZClcbiIsIGlkeCwgZ3BmbiwgcmMsIGVycm5vKTsKLSAgICAgICAgICAgIHJldHVybiAtcmM7 Ci0gICAgICAgIH0KKyAgICBucl9wYWdlcyA9IHNpemUgPj4gVEFSR0VUX1BBR0VfQklUUzsKKyAg ICByYyA9IHhlbmRldmljZW1vZGVsX3JlbG9jYXRlX21lbW9yeSh4ZW5fZG1vZCwgeGVuX2RvbWlk LCBucl9wYWdlcywgcGZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0YXJ0X2dwZm4pOworICAgIGlmIChyYykgeworICAgICAgICBpbnQgc2F2ZWRfZXJybm8gPSBl cnJubzsKKworICAgICAgICBlcnJvcl9yZXBvcnQoInJlbG9jYXRlX21lbW9yeSAlbHUgcGFnZXMg ZnJvbSBHRk4gJSJIV0FERFJfUFJJeAorICAgICAgICAgICAgICAgICAgICAgIiB0byBHRk4gJSJI V0FERFJfUFJJeCIgZmFpbGVkOiAlcyIsCisgICAgICAgICAgICAgICAgICAgICBucl9wYWdlcywg cGZuLCBzdGFydF9ncGZuLCBzdHJlcnJvcihzYXZlZF9lcnJubykpOworICAgICAgICBlcnJubyA9 IHNhdmVkX2Vycm5vOworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCi0gICAgeGNfZG9tYWlu X3Bpbl9tZW1vcnlfY2FjaGVhdHRyKHhlbl94YywgeGVuX2RvbWlkLAorICAgIHJjID0geGVuZGV2 aWNlbW9kZWxfcGluX21lbW9yeV9jYWNoZWF0dHIoeGVuX2Rtb2QsIHhlbl9kb21pZCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRfYWRkciA+PiBUQVJHRVRfUEFHRV9C SVRTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RhcnRfYWRkciArIHNp emUgLSAxKSA+PiBUQVJHRVRfUEFHRV9CSVRTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBYRU5fRE9NQ1RMX01FTV9DQUNIRUFUVFJfV0IpOworICAgIGlmIChyYykgeworICAg ICAgICBlcnJvcl9yZXBvcnQoInBpbl9tZW1vcnlfY2FjaGVhdHRyIGZhaWxlZDogJXMiLCBzdHJl cnJvcihlcnJubykpOworICAgIH0KICAgICByZXR1cm4geGVuX3NhdmVfcGh5c21hcChzdGF0ZSwg cGh5c21hcCk7CiB9CiAKQEAgLTQxOSw3ICs0MjMsNiBAQCBzdGF0aWMgaW50IHhlbl9yZW1vdmVf ZnJvbV9waHlzbWFwKFhlbklPU3RhdGUgKnN0YXRlLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBod2FkZHIgc3RhcnRfYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcmFtX2FkZHJfdCBzaXplKQogewotICAgIHVuc2lnbmVkIGxvbmcgaSA9IDA7CiAg ICAgaW50IHJjID0gMDsKICAgICBYZW5QaHlzbWFwICpwaHlzbWFwID0gTlVMTDsKICAgICBod2Fk ZHIgcGh5c19vZmZzZXQgPSAwOwpAQCAtNDM4LDE2ICs0NDEsMTcgQEAgc3RhdGljIGludCB4ZW5f cmVtb3ZlX2Zyb21fcGh5c21hcChYZW5JT1N0YXRlICpzdGF0ZSwKICAgICBzaXplID4+PSBUQVJH RVRfUEFHRV9CSVRTOwogICAgIHN0YXJ0X2FkZHIgPj49IFRBUkdFVF9QQUdFX0JJVFM7CiAgICAg cGh5c19vZmZzZXQgPj49IFRBUkdFVF9QQUdFX0JJVFM7Ci0gICAgZm9yIChpID0gMDsgaSA8IHNp emU7IGkrKykgewotICAgICAgICB4ZW5fcGZuX3QgaWR4ID0gc3RhcnRfYWRkciArIGk7Ci0gICAg ICAgIHhlbl9wZm5fdCBncGZuID0gcGh5c19vZmZzZXQgKyBpOwotCi0gICAgICAgIHJjID0geGVu X3hjX2RvbWFpbl9hZGRfdG9fcGh5c21hcCh4ZW5feGMsIHhlbl9kb21pZCwgWEVOTUFQU1BBQ0Vf Z21mbiwgaWR4LCBncGZuKTsKLSAgICAgICAgaWYgKHJjKSB7Ci0gICAgICAgICAgICBmcHJpbnRm KHN0ZGVyciwgImFkZF90b19waHlzbWFwIE1GTiAlIlBSSV94ZW5fcGZuIiB0byBQRk4gJSIKLSAg ICAgICAgICAgICAgICAgICAgUFJJX3hlbl9wZm4iIGZhaWxlZDogJWQgKGVycm5vOiAlZClcbiIs IGlkeCwgZ3BmbiwgcmMsIGVycm5vKTsKLSAgICAgICAgICAgIHJldHVybiAtcmM7Ci0gICAgICAg IH0KKyAgICByYyA9IHhlbmRldmljZW1vZGVsX3JlbG9jYXRlX21lbW9yeSh4ZW5fZG1vZCwgeGVu X2RvbWlkLCBzaXplLCBzdGFydF9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBoeXNfb2Zmc2V0KTsKKyAgICBpZiAocmMpIHsKKyAgICAgICAgaW50IHNhdmVk X2Vycm5vID0gZXJybm87CisKKyAgICAgICAgZXJyb3JfcmVwb3J0KCJyZWxvY2F0ZV9tZW1vcnkg IlJBTV9BRERSX0ZNVCIgcGFnZXMiCisgICAgICAgICAgICAgICAgICAgICAiIGZyb20gR0ZOICUi SFdBRERSX1BSSXgKKyAgICAgICAgICAgICAgICAgICAgICIgdG8gR0ZOICUiSFdBRERSX1BSSXgi IGZhaWxlZDogJXMiLAorICAgICAgICAgICAgICAgICAgICAgc2l6ZSwgc3RhcnRfYWRkciwgcGh5 c19vZmZzZXQsIHN0cmVycm9yKHNhdmVkX2Vycm5vKSk7CisgICAgICAgIGVycm5vID0gc2F2ZWRf ZXJybm87CisgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKICAgICBRTElTVF9SRU1PVkUocGh5 c21hcCwgbGlzdCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2h3L3hlbi94ZW5fY29tbW9uLmggYi9p bmNsdWRlL2h3L3hlbi94ZW5fY29tbW9uLmgKaW5kZXggNGJkMzBhMy4uMmVlZDZmYyAxMDA2NDQK LS0tIGEvaW5jbHVkZS9ody94ZW4veGVuX2NvbW1vbi5oCisrKyBiL2luY2x1ZGUvaHcveGVuL3hl bl9jb21tb24uaApAQCAtODksNiArODksMzggQEAgdHlwZWRlZiB4Y19pbnRlcmZhY2UgeGVuZGV2 aWNlbW9kZWxfaGFuZGxlOwogCiAjZW5kaWYKIAorI2lmIENPTkZJR19YRU5fQ1RSTF9JTlRFUkZB Q0VfVkVSU0lPTiA8IDQxMTAwCisKK3N0YXRpYyBpbmxpbmUgaW50IHhlbmRldmljZW1vZGVsX3Jl bG9jYXRlX21lbW9yeSgKKyAgICB4ZW5kZXZpY2Vtb2RlbF9oYW5kbGUgKmRtb2QsIGRvbWlkX3Qg ZG9taWQsIHVpbnQzMl90IHNpemUsIHVpbnQ2NF90IHNyY19nZm4sCisgICAgdWludDY0X3QgZHN0 X2dmbikKK3sKKyAgICB1aW50MzJfdCBpOworICAgIGludCByYzsKKworICAgIGZvciAoaSA9IDA7 IGkgPCBzaXplOyBpKyspIHsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBpZHggPSBzcmNfZ2ZuICsg aTsKKyAgICAgICAgeGVuX3Bmbl90IGdwZm4gPSBkc3RfZ2ZuICsgaTsKKworICAgICAgICByYyA9 IHhjX2RvbWFpbl9hZGRfdG9fcGh5c21hcCh4ZW5feGMsIGRvbWlkLCBYRU5NQVBTUEFDRV9nbWZu LCBpZHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdwZm4pOworICAg ICAgICBpZiAocmMpIHsKKyAgICAgICAgICAgIHJldHVybiByYzsKKyAgICAgICAgfQorICAgIH0K KworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIGludCB4ZW5kZXZpY2Vtb2RlbF9w aW5fbWVtb3J5X2NhY2hlYXR0cigKKyAgICB4ZW5kZXZpY2Vtb2RlbF9oYW5kbGUgKmRtb2QsIGRv bWlkX3QgZG9taWQsIHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBlbmQsCisgICAgdWludDMyX3Qg dHlwZSkKK3sKKyAgICByZXR1cm4geGNfZG9tYWluX3Bpbl9tZW1vcnlfY2FjaGVhdHRyKHhlbl94 YywgZG9taWQsIHN0YXJ0LCBlbmQsIHR5cGUpOworfQorCisjZW5kaWYgLyogQ09ORklHX1hFTl9D VFJMX0lOVEVSRkFDRV9WRVJTSU9OIDwgNDExMDAgKi8KKwogI2lmIENPTkZJR19YRU5fQ1RSTF9J TlRFUkZBQ0VfVkVSU0lPTiA8IDQxMDAwCiAKICNkZWZpbmUgWEVOX0NPTVBBVF9QSFlTTUFQCi0t IAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0 dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=