From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Zhang Subject: [PATCH v7 3/5] x86/ioreq server: Handle read-modify-write cases for p2m_ioreq_server pages. Date: Wed, 8 Mar 2017 21:32:28 +0800 Message-ID: <1488979950-10872-4-git-send-email-yu.c.zhang@linux.intel.com> References: <1488979950-10872-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: <1488979950-10872-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: zhiyuan.lv@intel.com List-Id: xen-devel@lists.xenproject.org SW4gZXB0X2hhbmRsZV92aW9sYXRpb24oKSwgd3JpdGUgdmlvbGF0aW9ucyBhcmUgYWxzbyB0cmVh dGVkIGFzCnJlYWQgdmlvbGF0aW9ucy4gQW5kIHdoZW4gYSBWTSBpcyBhY2Nlc3NpbmcgYSB3cml0 ZS1wcm90ZWN0ZWQKYWRkcmVzcyB3aXRoIHJlYWQtbW9kaWZ5LXdyaXRlIGluc3RydWN0aW9ucywg dGhlIHJlYWQgZW11bGF0aW9uCnByb2Nlc3MgaXMgdHJpZ2dlcmVkIGZpcnN0LgoKRm9yIHAybV9p b3JlcV9zZXJ2ZXIgcGFnZXMsIGN1cnJlbnQgaW9yZXEgc2VydmVyIG9ubHkgZm9yd2FyZHMKdGhl IHdyaXRlIG9wZXJhdGlvbnMgdG8gdGhlIGRldmljZSBtb2RlbC4gVGhlcmVmb3JlIHdoZW4gc3Vj aCBwYWdlCmlzIGJlaW5nIGFjY2Vzc2VkIGJ5IGEgcmVhZC1tb2RpZnktd3JpdGUgaW5zdHJ1Y3Rp b24sIHRoZSByZWFkCm9wZXJhdGlvbnMgc2hvdWxkIGJlIGVtdWxhdGVkIGhlcmUgaW4gaHlwZXJ2 aXNvci4gVGhpcyBwYXRjaCBwcm92aWRlcwpzdWNoIGEgaGFuZGxlciB0byBjb3B5IHRoZSBkYXRh IHRvIHRoZSBidWZmZXIuCgpOb3RlOiBNTUlPcyB3aXRoIHAybV9tbWlvX2RtIHR5cGUgZG8gbm90 IG5lZWQgc3VjaCBzcGVjaWFsIHRyZWF0bWVudApiZWNhdXNlIGJvdGggcmVhZHMgYW5kIHdyaXRl cyB3aWxsIGdvIHRvIHRoZSBkZXZpY2UgbW9kZS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFu dCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IFl1IFpoYW5nIDx5dS5j LnpoYW5nQGxpbnV4LmludGVsLmNvbT4KLS0tCkNjOiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFu dEBjaXRyaXguY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5k cmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KCmNoYW5nZXMgaW4gdjI6IAog IC0gQWNjb3JkaW5nIHRvIGNvbW1lbnRzIGZyb20gSmFuOiByZW5hbWUgbWVtX29wcyB0byBpb3Jl cV9zZXJ2ZXJfb3BzLgogIC0gQWNjb3JkaW5nIHRvIGNvbW1lbnRzIGZyb20gSmFuOiB1c2UgaHZt X2NvcHlfZnJvbV9ndWVzdF9waHlzKCkgaW4KICAgIGlvcmVxX3NlcnZlcl9yZWFkKCksIGluc3Rl YWQgb2YgZG8gaXQgYnkgbXlzZWxmLgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jIHwg MzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAz NSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMg Yi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwppbmRleCBmYjU2ZjdiLi45NzQ0ZGNiIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYworKysgYi94ZW4vYXJjaC94ODYvaHZt L2VtdWxhdGUuYwpAQCAtOTQsNiArOTQsMjYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBodm1faW9f aGFuZGxlciBudWxsX2hhbmRsZXIgPSB7CiAgICAgLm9wcyA9ICZudWxsX29wcwogfTsKIAorc3Rh dGljIGludCBpb3JlcV9zZXJ2ZXJfcmVhZChjb25zdCBzdHJ1Y3QgaHZtX2lvX2hhbmRsZXIgKmlv X2hhbmRsZXIsCisgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGFkZHIsCisgICAgICAgICAg ICAgICAgICAgIHVpbnQzMl90IHNpemUsCisgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpk YXRhKQoreworICAgIGlmICggaHZtX2NvcHlfZnJvbV9ndWVzdF9waHlzKGRhdGEsIGFkZHIsIHNp emUpICE9IEhWTUNPUFlfb2theSApCisgICAgICAgIHJldHVybiBYODZFTVVMX1VOSEFORExFQUJM RTsKKworICAgIHJldHVybiBYODZFTVVMX09LQVk7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg aHZtX2lvX29wcyBpb3JlcV9zZXJ2ZXJfb3BzID0geworICAgIC5yZWFkID0gaW9yZXFfc2VydmVy X3JlYWQsCisgICAgLndyaXRlID0gbnVsbF93cml0ZQorfTsKKworc3RhdGljIGNvbnN0IHN0cnVj dCBodm1faW9faGFuZGxlciBpb3JlcV9zZXJ2ZXJfaGFuZGxlciA9IHsKKyAgICAub3BzID0gJmlv cmVxX3NlcnZlcl9vcHMKK307CisKIHN0YXRpYyBpbnQgaHZtZW11bF9kb19pbygKICAgICBib29s X3QgaXNfbW1pbywgcGFkZHJfdCBhZGRyLCB1bnNpZ25lZCBsb25nICpyZXBzLCB1bnNpZ25lZCBp bnQgc2l6ZSwKICAgICB1aW50OF90IGRpciwgYm9vbF90IGRmLCBib29sX3QgZGF0YV9pc19hZGRy LCB1aW50cHRyX3QgZGF0YSkKQEAgLTE5Nyw2ICsyMTcsMTAgQEAgc3RhdGljIGludCBodm1lbXVs X2RvX2lvKAogICAgICAgICAgKiAgIC0gSWYgdGhlIElPUkVRX01FTV9BQ0NFU1NfV1JJVEUgZmxh ZyBpcyBub3Qgc2V0LCB0cmVhdCBpdAogICAgICAgICAgKiAgIGxpa2UgYSBub3JtYWwgUElPIG9y IE1NSU8gdGhhdCBkb2Vzbid0IGhhdmUgYW4gaW9yZXEKICAgICAgICAgICogICBzZXJ2ZXIgKGku ZS4sIGJ5IGlnbm9yaW5nIGl0KS4KKyAgICAgICAgICoKKyAgICAgICAgICogICAtIElmIHRoZSBh Y2Nlc3NzIGlzIGEgcmVhZCwgdGhpcyBjb3VsZCBiZSBwYXJ0IG9mIGEKKyAgICAgICAgICogICBy ZWFkLW1vZGlmeS13cml0ZSBpbnN0cnVjdGlvbiwgZW11bGF0ZSB0aGUgcmVhZCBzbyB0aGF0IHdl CisgICAgICAgICAqICAgaGF2ZSBpdC4KICAgICAgICAgICovCiAgICAgICAgIHN0cnVjdCBodm1f aW9yZXFfc2VydmVyICpzID0gTlVMTDsKICAgICAgICAgcDJtX3R5cGVfdCBwMm10ID0gcDJtX2lu dmFsaWQ7CkBAIC0yMjYsNiArMjUwLDE3IEBAIHN0YXRpYyBpbnQgaHZtZW11bF9kb19pbygKICAg ICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAq IFRoaXMgaXMgcGFydCBvZiBhIHJlYWQtbW9kaWZ5LXdyaXRlIGluc3RydWN0aW9uLgorICAgICAg ICAgICAgICAgICAqIEVtdWxhdGUgdGhlIHJlYWQgcGFydCBzbyB3ZSBoYXZlIHRoZSB2YWx1ZSBj YWNoZWQuCisgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgaWYgKCBkaXIgPT0g SU9SRVFfUkVBRCApCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICByYyA9 IGh2bV9wcm9jZXNzX2lvX2ludGVyY2VwdCgmaW9yZXFfc2VydmVyX2hhbmRsZXIsICZwKTsKKyAg ICAgICAgICAgICAgICAgICAgdmlvLT5pb19yZXEuc3RhdGUgPSBTVEFURV9JT1JFUV9OT05FOwor ICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg ICAgICAgICAvKgogICAgICAgICAgICAgICAgICAqIElmIHRoZSBJT1JFUV9NRU1fQUNDRVNTX1dS SVRFIGZsYWcgaXMgbm90IHNldCwKICAgICAgICAgICAgICAgICAgKiB3ZSBzaG91bGQgc2V0IHMg dG8gTlVMTCwgYW5kIGp1c3QgaWdub3JlIHN1Y2gKICAgICAgICAgICAgICAgICAgKiBhY2Nlc3Mu Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=