From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Zhang Subject: [PATCH v10 4/6] x86/ioreq server: Handle read-modify-write cases for p2m_ioreq_server pages. Date: Sun, 2 Apr 2017 20:24:25 +0800 Message-ID: <1491135867-623-5-git-send-email-yu.c.zhang@linux.intel.com> References: <1491135867-623-1-git-send-email-yu.c.zhang@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1491135867-623-1-git-send-email-yu.c.zhang@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Andrew Cooper , Paul Durrant , zhiyuan.lv@intel.com, Jan Beulich List-Id: xen-devel@lists.xenproject.org SW4gZXB0X2hhbmRsZV92aW9sYXRpb24oKSwgd3JpdGUgdmlvbGF0aW9ucyBhcmUgYWxzbyB0cmVh dGVkIGFzCnJlYWQgdmlvbGF0aW9ucy4gQW5kIHdoZW4gYSBWTSBpcyBhY2Nlc3NpbmcgYSB3cml0 ZS1wcm90ZWN0ZWQKYWRkcmVzcyB3aXRoIHJlYWQtbW9kaWZ5LXdyaXRlIGluc3RydWN0aW9ucywg dGhlIHJlYWQgZW11bGF0aW9uCnByb2Nlc3MgaXMgdHJpZ2dlcmVkIGZpcnN0LgoKRm9yIHAybV9p b3JlcV9zZXJ2ZXIgcGFnZXMsIGN1cnJlbnQgaW9yZXEgc2VydmVyIG9ubHkgZm9yd2FyZHMKdGhl IHdyaXRlIG9wZXJhdGlvbnMgdG8gdGhlIGRldmljZSBtb2RlbC4gVGhlcmVmb3JlIHdoZW4gc3Vj aCBwYWdlCmlzIGJlaW5nIGFjY2Vzc2VkIGJ5IGEgcmVhZC1tb2RpZnktd3JpdGUgaW5zdHJ1Y3Rp b24sIHRoZSByZWFkCm9wZXJhdGlvbnMgc2hvdWxkIGJlIGVtdWxhdGVkIGhlcmUgaW4gaHlwZXJ2 aXNvci4gVGhpcyBwYXRjaCBwcm92aWRlcwpzdWNoIGEgaGFuZGxlciB0byBjb3B5IHRoZSBkYXRh IHRvIHRoZSBidWZmZXIuCgpOb3RlOiBNTUlPcyB3aXRoIHAybV9tbWlvX2RtIHR5cGUgZG8gbm90 IG5lZWQgc3VjaCBzcGVjaWFsIHRyZWF0bWVudApiZWNhdXNlIGJvdGggcmVhZHMgYW5kIHdyaXRl cyB3aWxsIGdvIHRvIHRoZSBkZXZpY2UgbW9kZS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFu dCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IFl1IFpoYW5nIDx5dS5j LnpoYW5nQGxpbnV4LmludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGlj aEBzdXNlLmNvbT4KLS0tCkNjOiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29t PgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5kcmV3IENvb3BlciA8 YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KCmNoYW5nZXMgaW4gdjQ6IAogIC0gQWRkZWQgIlJl dmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+IiB3aXRoIG9uZSBjb21t ZW50CiAgICBjaGFuZ2UgaW4gaHZtZW11bF9kb19pbygpLgoKY2hhbmdlcyBpbiB2MzogCiAgLSBB Y2NvcmRpbmcgdG8gY29tbWVudHMgZnJvbSBKYW46IGNsYXJpZnkgY29tbWVudHMgaW4gaHZtZW11 bF9kb19pbygpLgoKY2hhbmdlcyBpbiB2MjogCiAgLSBBY2NvcmRpbmcgdG8gY29tbWVudHMgZnJv bSBKYW46IHJlbmFtZSBtZW1fb3BzIHRvIGlvcmVxX3NlcnZlcl9vcHMuCiAgLSBBY2NvcmRpbmcg dG8gY29tbWVudHMgZnJvbSBKYW46IHVzZSBodm1fY29weV9mcm9tX2d1ZXN0X3BoeXMoKSBpbgog ICAgaW9yZXFfc2VydmVyX3JlYWQoKSwgaW5zdGVhZCBvZiBkbyBpdCBieSBteXNlbGYuCi0tLQog eGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMgfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jIGIveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMK aW5kZXggZGM2ZjFmMi4uNGRlMzkzNiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9lbXVs YXRlLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKQEAgLTk1LDYgKzk1LDI2IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgaHZtX2lvX2hhbmRsZXIgbnVsbF9oYW5kbGVyID0gewogICAg IC5vcHMgPSAmbnVsbF9vcHMKIH07CiAKK3N0YXRpYyBpbnQgaW9yZXFfc2VydmVyX3JlYWQoY29u c3Qgc3RydWN0IGh2bV9pb19oYW5kbGVyICppb19oYW5kbGVyLAorICAgICAgICAgICAgICAgICAg ICB1aW50NjRfdCBhZGRyLAorICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzaXplLAorICAg ICAgICAgICAgICAgICAgICB1aW50NjRfdCAqZGF0YSkKK3sKKyAgICBpZiAoIGh2bV9jb3B5X2Zy b21fZ3Vlc3RfcGh5cyhkYXRhLCBhZGRyLCBzaXplKSAhPSBIVk1DT1BZX29rYXkgKQorICAgICAg ICByZXR1cm4gWDg2RU1VTF9VTkhBTkRMRUFCTEU7CisKKyAgICByZXR1cm4gWDg2RU1VTF9PS0FZ OworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGh2bV9pb19vcHMgaW9yZXFfc2VydmVyX29wcyA9 IHsKKyAgICAucmVhZCA9IGlvcmVxX3NlcnZlcl9yZWFkLAorICAgIC53cml0ZSA9IG51bGxfd3Jp dGUKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaHZtX2lvX2hhbmRsZXIgaW9yZXFfc2VydmVy X2hhbmRsZXIgPSB7CisgICAgLm9wcyA9ICZpb3JlcV9zZXJ2ZXJfb3BzCit9OworCiBzdGF0aWMg aW50IGh2bWVtdWxfZG9faW8oCiAgICAgYm9vbF90IGlzX21taW8sIHBhZGRyX3QgYWRkciwgdW5z aWduZWQgbG9uZyAqcmVwcywgdW5zaWduZWQgaW50IHNpemUsCiAgICAgdWludDhfdCBkaXIsIGJv b2xfdCBkZiwgYm9vbF90IGRhdGFfaXNfYWRkciwgdWludHB0cl90IGRhdGEpCkBAIC0xOTUsNiAr MjE1LDkgQEAgc3RhdGljIGludCBodm1lbXVsX2RvX2lvKAogICAgICAgICAgKiAgIGEgcmFjZSB3 aXRoIGFuIHVubWFwIG9wZXJhdGlvbiBvbiB0aGUgaW9yZXEgc2VydmVyLCBzbyByZS10cnkgdGhl CiAgICAgICAgICAqICAgaW5zdHJ1Y3Rpb24uCiAgICAgICAgICAqCisgICAgICAgICAqICAgLSBJ ZiB0aGUgYWNjZXNzcyBpcyBhIHJlYWQsIHRoaXMgY291bGQgYmUgcGFydCBvZiBhCisgICAgICAg ICAqICAgcmVhZC1tb2RpZnktd3JpdGUgaW5zdHJ1Y3Rpb24sIGVtdWxhdGUgdGhlIHJlYWQgZmly c3QuCisgICAgICAgICAqCiAgICAgICAgICAqIE5vdGU6IEV2ZW4gd2hlbiBhbiBpb3JlcSBzZXJ2 ZXIgaXMgZm91bmQsIGl0cyB2YWx1ZSBjb3VsZCBiZWNvbWUKICAgICAgICAgICogc3RhbGUgbGF0 ZXIsIGJlY2F1c2UgaXQgaXMgcG9zc2libGUgdGhhdAogICAgICAgICAgKgpAQCAtMjI4LDYgKzI1 MSwxNyBAQCBzdGF0aWMgaW50IGh2bWVtdWxfZG9faW8oCiAgICAgICAgICAgICAgICAgICAgIHZp by0+aW9fcmVxLnN0YXRlID0gU1RBVEVfSU9SRVFfTk9ORTsKICAgICAgICAgICAgICAgICAgICAg YnJlYWs7CiAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgLyoKKyAgICAgICAg ICAgICAgICAgKiBUaGlzIGlzIHBhcnQgb2YgYSByZWFkLW1vZGlmeS13cml0ZSBpbnN0cnVjdGlv bi4KKyAgICAgICAgICAgICAgICAgKiBFbXVsYXRlIHRoZSByZWFkIHBhcnQgc28gd2UgaGF2ZSB0 aGUgdmFsdWUgYXZhaWxhYmxlLgorICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAg IGlmICggZGlyID09IElPUkVRX1JFQUQgKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgICAgICAgcmMgPSBodm1fcHJvY2Vzc19pb19pbnRlcmNlcHQoJmlvcmVxX3NlcnZlcl9oYW5k bGVyLCAmcCk7CisgICAgICAgICAgICAgICAgICAgIHZpby0+aW9fcmVxLnN0YXRlID0gU1RBVEVf SU9SRVFfTk9ORTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==