From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH 09/11] xen: Use newly added dmops for mapping VGA memory Date: Thu, 8 Mar 2018 17:39:15 +0000 Message-ID: <1520530757-4477-10-git-send-email-ian.jackson@eu.citrix.com> References: <1520530757-4477-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 all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1etzW3-0005YB-5U for xen-devel@lists.xenproject.org; Thu, 08 Mar 2018 17:39:43 +0000 In-Reply-To: <1520530757-4477-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 OiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KLS0tCnY2OiBOZXcgcGF0 Y2ggaW4gdGhpcyB2ZXJzaW9uIG9mIHRoZSBzZXJpZXMKLS0tCiBjb25maWd1cmUgICAgICAgICAg ICAgICAgICAgfCAxOSArKysrKysrKysrKysrKysrKysKIGh3L2kzODYveGVuL3hlbi1odm0uYyAg ICAgICB8IDQ5ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQog aW5jbHVkZS9ody94ZW4veGVuX2NvbW1vbi5oIHwgMzEgKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogMyBmaWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggODQxYzE0Ni4uOWE4Mzgz NiAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAtMjIxMyw2ICsyMjEz LDI1IEBAIEVPRgogICAgICMgWGVuIHVuc3RhYmxlCiAgICAgZWxpZgogICAgICAgICBjYXQgPiAk VE1QQyA8PEVPRiAmJgorI3VuZGVmIFhDX1dBTlRfQ09NUEFUX0RFVklDRU1PREVMX0FQSQorI2Rl ZmluZSBfX1hFTl9UT09MU19fCisjaW5jbHVkZSA8eGVuZGV2aWNlbW9kZWwuaD4KK2ludCBtYWlu KHZvaWQpIHsKKyAgeGVuZGV2aWNlbW9kZWxfaGFuZGxlICp4ZDsKKworICB4ZCA9IHhlbmRldmlj ZW1vZGVsX29wZW4oMCwgMCk7CisgIHhlbmRldmljZW1vZGVsX3Bpbl9tZW1vcnlfY2FjaGVhdHRy KHhkLCAwLCAwLCAwLCAwKTsKKworICByZXR1cm4gMDsKK30KK0VPRgorICAgICAgICBjb21waWxl X3Byb2cgIiIgIiR4ZW5fbGlicyAtbHhlbmRldmljZW1vZGVsICR4ZW5fc3RhYmxlX2xpYnMgLWx4 ZW50b29sY29yZSIKKyAgICAgIHRoZW4KKyAgICAgIHhlbl9zdGFibGVfbGlicz0iLWx4ZW5kZXZp Y2Vtb2RlbCAkeGVuX3N0YWJsZV9saWJzIC1seGVudG9vbGNvcmUiCisgICAgICB4ZW5fY3RybF92 ZXJzaW9uPTQxMTAwCisgICAgICB4ZW49eWVzCisgICAgZWxpZgorICAgICAgICBjYXQgPiAkVE1Q QyA8PEVPRiAmJgogI3VuZGVmIFhDX1dBTlRfQ09NUEFUX01BUF9GT1JFSUdOX0FQSQogI2luY2x1 ZGUgPHhlbmZvcmVpZ25tZW1vcnkuaD4KICNpbmNsdWRlIDx4ZW50b29sY29yZS5oPgpkaWZmIC0t Z2l0IGEvaHcvaTM4Ni94ZW4veGVuLWh2bS5jIGIvaHcvaTM4Ni94ZW4veGVuLWh2bS5jCmluZGV4 IGI5NTc0OGQuLjIyYmQ1MzcgMTAwNjQ0Ci0tLSBhL2h3L2kzODYveGVuL3hlbi1odm0uYworKysg Yi9ody9pMzg2L3hlbi94ZW4taHZtLmMKQEAgLTM0Nyw3ICszNDcsNyBAQCBzdGF0aWMgaW50IHhl bl9hZGRfdG9fcGh5c21hcChYZW5JT1N0YXRlICpzdGF0ZSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE1lbW9yeVJlZ2lvbiAqbXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBod2FkZHIgb2Zmc2V0X3dpdGhpbl9yZWdpb24pCiB7Ci0gICAgdW5zaWduZWQgbG9uZyBpID0g MDsKKyAgICB1bnNpZ25lZCBsb25nIG5yX3BhZ2VzOwogICAgIGludCByYyA9IDA7CiAgICAgWGVu UGh5c21hcCAqcGh5c21hcCA9IE5VTEw7CiAgICAgaHdhZGRyIHBmbiwgc3RhcnRfZ3BmbjsKQEAg LTM5NiwyMiArMzk2LDI2IEBAIGdvX3BoeXNtYXA6CiAKICAgICBwZm4gPSBwaHlzX29mZnNldCA+ PiBUQVJHRVRfUEFHRV9CSVRTOwogICAgIHN0YXJ0X2dwZm4gPSBzdGFydF9hZGRyID4+IFRBUkdF VF9QQUdFX0JJVFM7Ci0gICAgZm9yIChpID0gMDsgaSA8IHNpemUgPj4gVEFSR0VUX1BBR0VfQklU UzsgaSsrKSB7Ci0gICAgICAgIHVuc2lnbmVkIGxvbmcgaWR4ID0gcGZuICsgaTsKLSAgICAgICAg eGVuX3Bmbl90IGdwZm4gPSBzdGFydF9ncGZuICsgaTsKLQotICAgICAgICByYyA9IHhlbl94Y19k b21haW5fYWRkX3RvX3BoeXNtYXAoeGVuX3hjLCB4ZW5fZG9taWQsIFhFTk1BUFNQQUNFX2dtZm4s IGlkeCwgZ3Bmbik7Ci0gICAgICAgIGlmIChyYykgewotICAgICAgICAgICAgRFBSSU5URigiYWRk X3RvX3BoeXNtYXAgTUZOICUiUFJJX3hlbl9wZm4iIHRvIFBGTiAlIgotICAgICAgICAgICAgICAg ICAgICBQUklfeGVuX3BmbiIgZmFpbGVkOiAlZCAoZXJybm86ICVkKVxuIiwgaWR4LCBncGZuLCBy YywgZXJybm8pOwotICAgICAgICAgICAgcmV0dXJuIC1yYzsKLSAgICAgICAgfQorICAgIG5yX3Bh Z2VzID0gc2l6ZSA+PiBUQVJHRVRfUEFHRV9CSVRTOworICAgIHJjID0geGVuZGV2aWNlbW9kZWxf cmVsb2NhdGVfbWVtb3J5KHhlbl9kbW9kLCB4ZW5fZG9taWQsIG5yX3BhZ2VzLCBwZm4sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRfZ3Bmbik7CisgICAgaWYg KHJjKSB7CisgICAgICAgIGludCBzYXZlZF9lcnJubyA9IGVycm5vOworCisgICAgICAgIGVycm9y X3JlcG9ydCgicmVsb2NhdGVfbWVtb3J5ICVsdSBwYWdlcyBmcm9tIEdGTiAlIlBSSV94ZW5fcGZu CisgICAgICAgICAgICAgICAgICAgICAiIHRvIEdGTiAlIlBSSV94ZW5fcGZuIiBmYWlsZWQ6ICVz XG4iLAorICAgICAgICAgICAgICAgICAgICAgbnJfcGFnZXMsIHBmbiwgc3RhcnRfZ3Bmbiwgc3Ry ZXJyb3Ioc2F2ZWRfZXJybm8pKTsKKyAgICAgICAgZXJybm8gPSBzYXZlZF9lcnJubzsKKyAgICAg ICAgcmV0dXJuIC0xOwogICAgIH0KIAotICAgIHhjX2RvbWFpbl9waW5fbWVtb3J5X2NhY2hlYXR0 cih4ZW5feGMsIHhlbl9kb21pZCwKKyAgICByYyA9IHhlbmRldmljZW1vZGVsX3Bpbl9tZW1vcnlf Y2FjaGVhdHRyKHhlbl9kbW9kLCB4ZW5fZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0YXJ0X2FkZHIgPj4gVEFSR0VUX1BBR0VfQklUUywKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHN0YXJ0X2FkZHIgKyBzaXplIC0gMSkgPj4gVEFSR0VUX1BB R0VfQklUUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOX0RPTUNUTF9N RU1fQ0FDSEVBVFRSX1dCKTsKKyAgICBpZiAocmMpIHsKKyAgICAgICAgZXJyb3JfcmVwb3J0KCJw aW5fbWVtb3J5X2NhY2hlYXR0ciBmYWlsZWQ6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOworICAg IH0KICAgICByZXR1cm4geGVuX3NhdmVfcGh5c21hcChzdGF0ZSwgcGh5c21hcCk7CiB9CiAKQEAg LTQxOSw3ICs0MjMsNiBAQCBzdGF0aWMgaW50IHhlbl9yZW1vdmVfZnJvbV9waHlzbWFwKFhlbklP U3RhdGUgKnN0YXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIg c3RhcnRfYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFtX2FkZHJf dCBzaXplKQogewotICAgIHVuc2lnbmVkIGxvbmcgaSA9IDA7CiAgICAgaW50IHJjID0gMDsKICAg ICBYZW5QaHlzbWFwICpwaHlzbWFwID0gTlVMTDsKICAgICBod2FkZHIgcGh5c19vZmZzZXQgPSAw OwpAQCAtNDM4LDE2ICs0NDEsMTYgQEAgc3RhdGljIGludCB4ZW5fcmVtb3ZlX2Zyb21fcGh5c21h cChYZW5JT1N0YXRlICpzdGF0ZSwKICAgICBzaXplID4+PSBUQVJHRVRfUEFHRV9CSVRTOwogICAg IHN0YXJ0X2FkZHIgPj49IFRBUkdFVF9QQUdFX0JJVFM7CiAgICAgcGh5c19vZmZzZXQgPj49IFRB UkdFVF9QQUdFX0JJVFM7Ci0gICAgZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykgewotICAgICAg ICB4ZW5fcGZuX3QgaWR4ID0gc3RhcnRfYWRkciArIGk7Ci0gICAgICAgIHhlbl9wZm5fdCBncGZu ID0gcGh5c19vZmZzZXQgKyBpOwotCi0gICAgICAgIHJjID0geGVuX3hjX2RvbWFpbl9hZGRfdG9f cGh5c21hcCh4ZW5feGMsIHhlbl9kb21pZCwgWEVOTUFQU1BBQ0VfZ21mbiwgaWR4LCBncGZuKTsK LSAgICAgICAgaWYgKHJjKSB7Ci0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImFkZF90b19w aHlzbWFwIE1GTiAlIlBSSV94ZW5fcGZuIiB0byBQRk4gJSIKLSAgICAgICAgICAgICAgICAgICAg UFJJX3hlbl9wZm4iIGZhaWxlZDogJWQgKGVycm5vOiAlZClcbiIsIGlkeCwgZ3BmbiwgcmMsIGVy cm5vKTsKLSAgICAgICAgICAgIHJldHVybiAtcmM7Ci0gICAgICAgIH0KKyAgICByYyA9IHhlbmRl dmljZW1vZGVsX3JlbG9jYXRlX21lbW9yeSh4ZW5fZG1vZCwgeGVuX2RvbWlkLCBzaXplLCBzdGFy dF9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBoeXNfb2Zm c2V0KTsKKyAgICBpZiAocmMpIHsKKyAgICAgICAgaW50IHNhdmVkX2Vycm5vID0gZXJybm87CisK KyAgICAgICAgZXJyb3JfcmVwb3J0KCJyZWxvY2F0ZV9tZW1vcnkgJWx1IHBhZ2VzIGZyb20gR0ZO ICUiUFJJX3hlbl9wZm4KKyAgICAgICAgICAgICAgICAgICAgICIgdG8gR0ZOICUiUFJJX3hlbl9w Zm4iIGZhaWxlZDogJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICBzaXplLCBzdGFydF9hZGRy LCBwaHlzX29mZnNldCwgc3RyZXJyb3Ioc2F2ZWRfZXJybm8pKTsKKyAgICAgICAgZXJybm8gPSBz YXZlZF9lcnJubzsKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIAogICAgIFFMSVNUX1JFTU9W RShwaHlzbWFwLCBsaXN0KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcveGVuL3hlbl9jb21tb24u aCBiL2luY2x1ZGUvaHcveGVuL3hlbl9jb21tb24uaAppbmRleCA0YmQzMGEzLi5hMjM2ZWIxIDEw MDY0NAotLS0gYS9pbmNsdWRlL2h3L3hlbi94ZW5fY29tbW9uLmgKKysrIGIvaW5jbHVkZS9ody94 ZW4veGVuX2NvbW1vbi5oCkBAIC04OSw2ICs4OSwzNyBAQCB0eXBlZGVmIHhjX2ludGVyZmFjZSB4 ZW5kZXZpY2Vtb2RlbF9oYW5kbGU7CiAKICNlbmRpZgogCisjaWYgQ09ORklHX1hFTl9DVFJMX0lO VEVSRkFDRV9WRVJTSU9OIDwgNDExMDAKKworc3RhdGljIGlubGluZSBpbnQgeGVuZGV2aWNlbW9k ZWxfcmVsb2NhdGVfbWVtb3J5KAorICAgIHhlbmRldmljZW1vZGVsX2hhbmRsZSAqZG1vZCwgZG9t aWRfdCBkb21pZCwgdWludDMyX3Qgc2l6ZSwgdWludDY0X3Qgc3JjX2dmbiwKKyAgICB1aW50NjRf dCBkc3RfZ2ZuKQoreworICAgIHVpbnQzMl90IGk7CisgICAgaW50IHJjOworCisgICAgZm9yIChp ID0gMDsgaSA8IHNpemU7IGkrKykgeworICAgICAgICB1bnNpZ25lZCBsb25nIGlkeCA9IHNyY19n Zm4gKyBpOworICAgICAgICB4ZW5fcGZuX3QgZ3BmbiA9IGRzdF9nZm4gKyBpOworCisgICAgICAg IHJjID0geGNfZG9tYWluX2FkZF90b19waHlzbWFwKHhlbl94YywgZG9taWQsIFhFTk1BUFNQQUNF X2dtZm4sIGlkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Bmbik7 CisgICAgICAgIGlmIChyYykKKyAgICAgICAgICAgIHJldHVybiByYzsKKyAgICB9CisKKyAgICBy ZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgeGVuZGV2aWNlbW9kZWxfcGluX21lbW9y eV9jYWNoZWF0dHIoCisgICAgeGVuZGV2aWNlbW9kZWxfaGFuZGxlICpkbW9kLCBkb21pZF90IGRv bWlkLCB1aW50NjRfdCBzdGFydCwgdWludDY0X3QgZW5kLAorICAgIHVpbnQzMl90IHR5cGUpCit7 CisgICAgcmV0dXJuIHhjX2RvbWFpbl9waW5fbWVtb3J5X2NhY2hlYXR0cih4ZW5feGMsIGRvbWlk LCBzdGFydCwgZW5kLCB0eXBlKTsKK30KKworI2VuZGlmIC8qIENPTkZJR19YRU5fQ1RSTF9JTlRF UkZBQ0VfVkVSU0lPTiA8IDQxMTAwICovCisKICNpZiBDT05GSUdfWEVOX0NUUkxfSU5URVJGQUNF X1ZFUlNJT04gPCA0MTAwMAogCiAjZGVmaW5lIFhFTl9DT01QQVRfUEhZU01BUAotLSAKMi4xLjQK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs