From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Zhang Subject: [PATCH v9 3/5] x86/ioreq server: Handle read-modify-write cases for p2m_ioreq_server pages. Date: Tue, 21 Mar 2017 10:52:51 +0800 Message-ID: <1490064773-26751-4-git-send-email-yu.c.zhang@linux.intel.com> References: <1490064773-26751-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: <1490064773-26751-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 LnpoYW5nQGxpbnV4LmludGVsLmNvbT4KLS0tCkNjOiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFu dEBjaXRyaXguY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5k cmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KCmNoYW5nZXMgaW4gdjM6IAog IC0gQWNjb3JkaW5nIHRvIGNvbW1lbnRzIGZyb20gSmFuOiBjbGFyaWZ5IGNvbW1lbnRzIGluIGh2 bWVtdWxfZG9faW8oKS4KCmNoYW5nZXMgaW4gdjI6IAogIC0gQWNjb3JkaW5nIHRvIGNvbW1lbnRz IGZyb20gSmFuOiByZW5hbWUgbWVtX29wcyB0byBpb3JlcV9zZXJ2ZXJfb3BzLgogIC0gQWNjb3Jk aW5nIHRvIGNvbW1lbnRzIGZyb20gSmFuOiB1c2UgaHZtX2NvcHlfZnJvbV9ndWVzdF9waHlzKCkg aW4KICAgIGlvcmVxX3NlcnZlcl9yZWFkKCksIGluc3RlYWQgb2YgZG8gaXQgYnkgbXlzZWxmLgot LS0KIHhlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jIHwgMzQgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYyBiL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0 ZS5jCmluZGV4IDM3MTM5ZTYuLjUyYzcyNmUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0v ZW11bGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jCkBAIC05NCw2ICs5NCwy NiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGh2bV9pb19oYW5kbGVyIG51bGxfaGFuZGxlciA9IHsK ICAgICAub3BzID0gJm51bGxfb3BzCiB9OwogCitzdGF0aWMgaW50IGlvcmVxX3NlcnZlcl9yZWFk KGNvbnN0IHN0cnVjdCBodm1faW9faGFuZGxlciAqaW9faGFuZGxlciwKKyAgICAgICAgICAgICAg ICAgICAgdWludDY0X3QgYWRkciwKKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2l6ZSwK KyAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgKmRhdGEpCit7CisgICAgaWYgKCBodm1fY29w eV9mcm9tX2d1ZXN0X3BoeXMoZGF0YSwgYWRkciwgc2l6ZSkgIT0gSFZNQ09QWV9va2F5ICkKKyAg ICAgICAgcmV0dXJuIFg4NkVNVUxfVU5IQU5ETEVBQkxFOworCisgICAgcmV0dXJuIFg4NkVNVUxf T0tBWTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBodm1faW9fb3BzIGlvcmVxX3NlcnZlcl9v cHMgPSB7CisgICAgLnJlYWQgPSBpb3JlcV9zZXJ2ZXJfcmVhZCwKKyAgICAud3JpdGUgPSBudWxs X3dyaXRlCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGh2bV9pb19oYW5kbGVyIGlvcmVxX3Nl cnZlcl9oYW5kbGVyID0geworICAgIC5vcHMgPSAmaW9yZXFfc2VydmVyX29wcworfTsKKwogc3Rh dGljIGludCBodm1lbXVsX2RvX2lvKAogICAgIGJvb2xfdCBpc19tbWlvLCBwYWRkcl90IGFkZHIs IHVuc2lnbmVkIGxvbmcgKnJlcHMsIHVuc2lnbmVkIGludCBzaXplLAogICAgIHVpbnQ4X3QgZGly LCBib29sX3QgZGYsIGJvb2xfdCBkYXRhX2lzX2FkZHIsIHVpbnRwdHJfdCBkYXRhKQpAQCAtMTkz LDYgKzIxMyw5IEBAIHN0YXRpYyBpbnQgaHZtZW11bF9kb19pbygKICAgICAgICAgICogICAtIElm IHRoZSBkb21haW4gaW9yZXFfc2VydmVyIGlzIE5VTEwsIGFzc3VtZSB0aGVyZSBpcyBhCiAgICAg ICAgICAqICAgcmFjZSBiZXR3ZWVuIHRoZSB1bmJpbmRpbmcgb2YgaW9yZXEgc2VydmVyIGFuZCBn dWVzdCBmYXVsdAogICAgICAgICAgKiAgIHNvIHJlLXRyeSB0aGUgaW5zdHJ1Y3Rpb24uCisgICAg ICAgICAqCisgICAgICAgICAqICAgLSBJZiB0aGUgYWNjZXNzcyBpcyBhIHJlYWQsIHRoaXMgY291 bGQgYmUgcGFydCBvZiBhCisgICAgICAgICAqICAgcmVhZC1tb2RpZnktd3JpdGUgaW5zdHJ1Y3Rp b24sIGVtdWxhdGUgdGhlIHJlYWQgZmlyc3QuCiAgICAgICAgICAqLwogICAgICAgICBzdHJ1Y3Qg aHZtX2lvcmVxX3NlcnZlciAqcyA9IE5VTEw7CiAgICAgICAgIHAybV90eXBlX3QgcDJtdCA9IHAy bV9pbnZhbGlkOwpAQCAtMjI2LDYgKzI0OSwxNyBAQCBzdGF0aWMgaW50IGh2bWVtdWxfZG9faW8o CiAgICAgICAgICAgICAgICAgICAgIHZpby0+aW9fcmVxLnN0YXRlID0gU1RBVEVfSU9SRVFfTk9O RTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQorCisgICAg ICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgKiBUaGlzIGlzIHBhcnQgb2YgYSByZWFk LW1vZGlmeS13cml0ZSBpbnN0cnVjdGlvbi4KKyAgICAgICAgICAgICAgICAgKiBFbXVsYXRlIHRo ZSByZWFkIHBhcnQgc28gd2UgaGF2ZSB0aGUgdmFsdWUgY2FjaGVkLgorICAgICAgICAgICAgICAg ICAqLworICAgICAgICAgICAgICAgIGlmICggZGlyID09IElPUkVRX1JFQUQgKQorICAgICAgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmMgPSBodm1fcHJvY2Vzc19pb19pbnRlcmNl cHQoJmlvcmVxX3NlcnZlcl9oYW5kbGVyLCAmcCk7CisgICAgICAgICAgICAgICAgICAgIHZpby0+ aW9fcmVxLnN0YXRlID0gU1RBVEVfSU9SRVFfTk9ORTsKKyAgICAgICAgICAgICAgICAgICAgYnJl YWs7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLS0gCjEu OS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==