From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boqun Feng Subject: [PATCH v2 05/17] xen: p2m: new 'p2m_epc' type for EPC mapping Date: Mon, 4 Dec 2017 08:15:16 +0800 Message-ID: <20171204001528.1342-6-boqun.feng@intel.com> References: <20171204001528.1342-1-boqun.feng@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171204001528.1342-1-boqun.feng@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Kevin Tian , Stefano Stabellini , Wei Liu , Jun Nakajima , George Dunlap , Andrew Cooper , Ian Jackson , =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= , Tim Deegan , kai.huang@linux.intel.com, Julien Grall , Jan Beulich , David Scott , Boqun Feng List-Id: xen-devel@lists.xenproject.org RnJvbTogS2FpIEh1YW5nIDxrYWkuaHVhbmdAbGludXguaW50ZWwuY29tPgoKQSBuZXcgJ3AybV9l cGMnIHR5cGUgaXMgYWRkZWQgZm9yIEVQQyBtYXBwaW5nIHR5cGUuIFR3byB3cmFwcGVyIGZ1bmN0 aW9ucwpzZXRfZXBjX3AybV9lbnRyeSBhbmQgY2xlYXJfZXBjX3AybV9lbnRyeSBhcmUgYWxzbyBh ZGRlZCBmb3IgZnVydGhlciB1c2UuCgpTaWduZWQtb2ZmLWJ5OiBLYWkgSHVhbmcgPGthaS5odWFu Z0BsaW51eC5pbnRlbC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L21tL3AybS1lcHQuYyB8ICAzICsr KwogeGVuL2FyY2gveDg2L21tL3AybS5jICAgICB8IDQxICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oIHwgMTIgKysrKysr KysrKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS1lcHQuYyBiL3hlbi9hcmNoL3g4Ni9t bS9wMm0tZXB0LmMKaW5kZXggYjQ5OTZjZTY1OGFjLi4zNGMyZTJmOGFjMWMgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS1lcHQu YwpAQCAtMTgyLDYgKzE4Miw5IEBAIHN0YXRpYyB2b2lkIGVwdF9wMm1fdHlwZV90b19mbGFncyhz dHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCBlcHRfZW50cnlfdCAqZW50cnksCiAgICAgICAgICAgICBl bnRyeS0+YSA9ICEhY3B1X2hhc192bXhfZXB0X2FkOwogICAgICAgICAgICAgZW50cnktPmQgPSAw OwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgcDJtX2VwYzoKKyAgICAgICAgICAg IGVudHJ5LT5yID0gZW50cnktPncgPSBlbnRyeS0+eCA9IDE7CisgICAgICAgICAgICBicmVhazsK ICAgICB9CiAKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS5jIGIveGVuL2FyY2gv eDg2L21tL3AybS5jCmluZGV4IGM3MmEzY2RlYmI4MS4uOGVlYWZlNGIyNTBjIDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBAIC0x MTkyLDYgKzExOTIsMTIgQEAgaW50IHNldF9pZGVudGl0eV9wMm1fZW50cnkoc3RydWN0IGRvbWFp biAqZCwgdW5zaWduZWQgbG9uZyBnZm5fbCwKICAgICByZXR1cm4gcmV0OwogfQogCitpbnQgc2V0 X2VwY19wMm1fZW50cnkoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sIG1mbl90 IG1mbikKK3sKKyAgICByZXR1cm4gc2V0X3R5cGVkX3AybV9lbnRyeShkLCBnZm4sIG1mbiwgUEFH RV9PUkRFUl80SywgcDJtX2VwYywKKyAgICAgICAgICAgIHAybV9nZXRfaG9zdHAybShkKS0+ZGVm YXVsdF9hY2Nlc3MpOworfQorCiAvKgogICogUmV0dXJuczoKICAqICAgIDAgICAgICAgIGZvciBz dWNjZXNzCkBAIC0xMjc4LDYgKzEyODQsNDEgQEAgaW50IGNsZWFyX2lkZW50aXR5X3AybV9lbnRy eShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbl9sKQogICAgIHJldHVybiByZXQ7 CiB9CiAKK2ludCBjbGVhcl9lcGNfcDJtX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVk IGxvbmcgZ2ZuLCBtZm5fdCBtZm4pCit7CisgICAgc3RydWN0IHAybV9kb21haW4gKnAybSA9IHAy bV9nZXRfaG9zdHAybShkKTsKKyAgICBtZm5fdCBvbWZuOworICAgIHAybV90eXBlX3Qgb3Q7Cisg ICAgcDJtX2FjY2Vzc190IG9hOworICAgIGludCByZXQgPSAwOworCisgICAgZ2ZuX2xvY2socDJt LCBnZm4sIDApOworCisgICAgb21mbiA9IHAybS0+Z2V0X2VudHJ5KHAybSwgX2dmbihnZm4pLCAm b3QsICZvYSwgMCwgTlVMTCwgTlVMTCk7CisgICAgaWYgKCBtZm5fZXEob21mbiwgSU5WQUxJRF9N Rk4pIHx8ICFwMm1faXNfZXBjKG90KSApCisgICAgeworICAgICAgICBwcmludGsoWEVOTE9HX0df V0FSTklORworICAgICAgICAgICAgICAgICJkJWQ6IGludmFsaWQgRVBDIG1hcCB0byBjbGVhcjog Z2ZuIDB4JWx4LCB0eXBlICVkLlxuIiwKKyAgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIGdm biwgb3QpOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisgICAgaWYgKCAhbWZuX2VxKG1mbiwg b21mbikgKQorICAgIHsKKyAgICAgICAgcHJpbnRrKFhFTkxPR19HX1dBUk5JTkcKKyAgICAgICAg ICAgICAgICAiZCVkOiBtaXN0YWtlbiBFUEMgbWZuIHRvIGNsZWFyOiBnZm4gMHglbHgsICIKKyAg ICAgICAgICAgICAgICAib21mbiAweCVseCwgbWZuIDB4JWx4LlxuIiwKKyAgICAgICAgICAgICAg ICBkLT5kb21haW5faWQsIGdmbiwgbWZuX3gob21mbiksIG1mbl94KG1mbikpOworICAgIH0KKwor ICAgIHJldCA9IHAybV9zZXRfZW50cnkocDJtLCBfZ2ZuKGdmbiksIElOVkFMSURfTUZOLCBQQUdF X09SREVSXzRLLCBwMm1faW52YWxpZCwKKyAgICAgICAgICAgIHAybS0+ZGVmYXVsdF9hY2Nlc3Mp OworCitvdXQ6CisgICAgZ2ZuX3VubG9jayhwMm0sIGdmbiwgMCk7CisKKyAgICByZXR1cm4gcmV0 OworfQorCiAvKiBSZXR1cm5zOiAwIGZvciBzdWNjZXNzLCAtZXJybm8gZm9yIGZhaWx1cmUgKi8K IGludCBzZXRfc2hhcmVkX3AybV9lbnRyeShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25n IGdmbl9sLCBtZm5fdCBtZm4pCiB7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3Ay bS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAppbmRleCAxN2IxZDBjOGQzMjYuLjQwYTQw ZGQ1NDM4MCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAorKysgYi94ZW4v aW5jbHVkZS9hc20teDg2L3AybS5oCkBAIC03Miw2ICs3Miw3IEBAIHR5cGVkZWYgZW51bSB7CiAg ICAgcDJtX3JhbV9icm9rZW4gPSAxMywgICAgICAgICAgLyogQnJva2VuIHBhZ2UsIGFjY2VzcyBj YXVzZSBkb21haW4gY3Jhc2ggKi8KICAgICBwMm1fbWFwX2ZvcmVpZ24gID0gMTQsICAgICAgICAv KiByYW0gcGFnZXMgZnJvbSBmb3JlaWduIGRvbWFpbiAqLwogICAgIHAybV9pb3JlcV9zZXJ2ZXIg PSAxNSwKKyAgICBwMm1fZXBjID0gMTYsICAgICAgICAgICAgICAgICAvKiBFUEMgKi8KIH0gcDJt X3R5cGVfdDsKIAogLyogTW9kaWZpZXJzIHRvIHRoZSBxdWVyeSAqLwpAQCAtMTQyLDEwICsxNDMs MTMgQEAgdHlwZWRlZiB1bnNpZ25lZCBpbnQgcDJtX3F1ZXJ5X3Q7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBwMm1fdG9fbWFzayhwMm1fcmFtX2xvZ2RpcnR5KSApCiAjZGVmaW5lIFAy TV9TSEFSRURfVFlQRVMgICAocDJtX3RvX21hc2socDJtX3JhbV9zaGFyZWQpKQogCisjZGVmaW5l IFAyTV9FUENfVFlQRVMgICAocDJtX3RvX21hc2socDJtX2VwYykpCisKIC8qIFZhbGlkIHR5cGVz IG5vdCBuZWNlc3NhcmlseSBhc3NvY2lhdGVkIHdpdGggYSAodmFsaWQpIE1GTi4gKi8KICNkZWZp bmUgUDJNX0lOVkFMSURfTUZOX1RZUEVTIChQMk1fUE9EX1RZUEVTICAgICAgICAgICAgICAgICAg XAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcDJtX3RvX21hc2socDJtX21taW9f ZGlyZWN0KSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBQMk1fUEFHSU5HX1RZ UEVTKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUDJNX1BBR0lOR19UWVBFUyAg ICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBQMk1fRVBDX1RZ UEVTKQogCiAvKiBCcm9rZW4gdHlwZTogdGhlIGZyYW1lIGJhY2tpbmcgdGhpcyBwZm4gaGFzIGZh aWxlZCBpbiBoYXJkd2FyZQogICogYW5kIG11c3Qgbm90IGJlIHRvdWNoZWQuICovCkBAIC0xNTMs NiArMTU3LDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBpbnQgcDJtX3F1ZXJ5X3Q7CiAKIC8qIFVzZWZ1 bCBwcmVkaWNhdGVzICovCiAjZGVmaW5lIHAybV9pc19yYW0oX3QpIChwMm1fdG9fbWFzayhfdCkg JiBQMk1fUkFNX1RZUEVTKQorI2RlZmluZSBwMm1faXNfZXBjKF90KSAocDJtX3RvX21hc2soX3Qp ICYgUDJNX0VQQ19UWVBFUykKICNkZWZpbmUgcDJtX2lzX2hvbGUoX3QpIChwMm1fdG9fbWFzayhf dCkgJiBQMk1fSE9MRV9UWVBFUykKICNkZWZpbmUgcDJtX2lzX21taW8oX3QpIChwMm1fdG9fbWFz ayhfdCkgJiBQMk1fTU1JT19UWVBFUykKICNkZWZpbmUgcDJtX2lzX3JlYWRvbmx5KF90KSAocDJt X3RvX21hc2soX3QpICYgUDJNX1JPX1RZUEVTKQpAQCAtMTYzLDcgKzE2OCw3IEBAIHR5cGVkZWYg dW5zaWduZWQgaW50IHAybV9xdWVyeV90OwogLyogR3JhbnQgdHlwZXMgYXJlICpub3QqIGNvbnNp ZGVyZWQgdmFsaWQsIGJlY2F1c2UgdGhleSBjYW4gYmUKICAgIHVubWFwcGVkIGF0IGFueSB0aW1l IGFuZCwgdW5sZXNzIHlvdSBoYXBwZW4gdG8gYmUgdGhlIHNoYWRvdyBvciBwMm0KICAgIGltcGxl bWVudGF0aW9ucywgdGhlcmUncyBubyB3YXkgb2Ygc3luY2hyb25pc2luZyBhZ2FpbnN0IHRoYXQu ICovCi0jZGVmaW5lIHAybV9pc192YWxpZChfdCkgKHAybV90b19tYXNrKF90KSAmIChQMk1fUkFN X1RZUEVTIHwgUDJNX01NSU9fVFlQRVMpKQorI2RlZmluZSBwMm1faXNfdmFsaWQoX3QpIChwMm1f dG9fbWFzayhfdCkgJiAoUDJNX1JBTV9UWVBFUyB8IFAyTV9NTUlPX1RZUEVTIHwgUDJNX0VQQ19U WVBFUykpCiAjZGVmaW5lIHAybV9oYXNfZW10KF90KSAgKHAybV90b19tYXNrKF90KSAmIChQMk1f UkFNX1RZUEVTIHwgcDJtX3RvX21hc2socDJtX21taW9fZGlyZWN0KSkpCiAjZGVmaW5lIHAybV9p c19wYWdlYWJsZShfdCkgKHAybV90b19tYXNrKF90KSAmIFAyTV9QQUdFQUJMRV9UWVBFUykKICNk ZWZpbmUgcDJtX2lzX3BhZ2luZyhfdCkgICAocDJtX3RvX21hc2soX3QpICYgUDJNX1BBR0lOR19U WVBFUykKQEAgLTYzNSw2ICs2NDAsOSBAQCBpbnQgY2xlYXJfaWRlbnRpdHlfcDJtX2VudHJ5KHN0 cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuKTsKIGludCBwMm1fYWRkX2ZvcmVpZ24o c3RydWN0IGRvbWFpbiAqdGRvbSwgdW5zaWduZWQgbG9uZyBmZ2ZuLAogICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBsb25nIGdwZm4sIGRvbWlkX3QgZm9yZWlnbl9kb21pZCk7CiAKK2ludCBz ZXRfZXBjX3AybV9lbnRyeShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwgbWZu X3QgbWZuKTsKK2ludCBjbGVhcl9lcGNfcDJtX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2ln bmVkIGxvbmcgZ2ZuLCBtZm5fdCBtZm4pOworCiAvKiAKICAqIFBvcHVsYXRlLW9uLWRlbWFuZAog ICovCi0tIAoyLjE1LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0 Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRl dmVs