From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v10 4/6] VT-d: introduce update_irte to update irte safely Date: Wed, 15 Mar 2017 13:11:20 +0800 Message-ID: <1489554682-6126-5-git-send-email-chao.gao@intel.com> References: <1489554682-6126-1-git-send-email-chao.gao@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1489554682-6126-1-git-send-email-chao.gao@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: Kevin Tian , Jun Nakajima , George Dunlap , Andrew Cooper , Dario Faggioli , Jan Beulich , Chao Gao List-Id: xen-devel@lists.xenproject.org V2UgdXNlZCBzdHJ1Y3R1cmUgYXNzaWdubWVudCB0byB1cGRhdGUgaXJ0ZSB3aGljaCB3YXMgbm90 IHNhZmUgd2hlbiBhbgppbnRlcnJ1cHQgaGFwcGVuZWQgZHVyaW5nIHVwZGF0ZS4gSXQgaXMgYmV0 dGVyIHRvIHVwZGF0ZSBJUlRFIGF0b21pY2FsbHkKdGhyb3VnaCBjbXB4Y2hnMTZiKCkuIFdoZW4g Y21weGNoZzE2YiBpcyBub3Qgc3VwcG9ydGVkLCB0d28gNjQtYml0IHdyaXRlCm9wZXJhdGlvbnMg Y2FuIHVwZGF0ZSBJUlRFIHNhZmVseSB3aGVuIG9ubHkgdGhlIGhpZ2ggcXdvcmQgb3IgdGhlIGxv dyBxd29yZCBpcwppbnRlbnRlZCB0byBiZSB1cGRhdGVkLgoKU2lnbmVkLW9mZi1ieTogQ2hhbyBH YW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KLS0tCnYxMDoKLSByZW5hbWUgY29weV9pcnRlX3RvX2ly dCB0byB1cGRhdGVfaXJ0ZQotIHJlbW92ZSBjb3B5X2Zyb21fdG9faXJ0Ci0gY2hhbmdlIGNvbW1t aXQgbWVzc2FnZSBhbmQgYWRkIHNvbWUgY29tbWVudHMgdG8gaWxsdXN0cmF0ZSBvbiB3aGljaApj b25kaXRpb24gdXBkYXRlX2lydGUoKSBpcyBzYWZlLgoKIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L3Z0ZC9pbnRyZW1hcC5jIHwgMzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQog MSBmaWxlIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2ludHJlbWFwLmMgYi94ZW4vZHJpdmVy cy9wYXNzdGhyb3VnaC92dGQvaW50cmVtYXAuYwppbmRleCA3ZDRjN2UxLi4zNDJiNDVmIDEwMDY0 NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW50cmVtYXAuYworKysgYi94ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW50cmVtYXAuYwpAQCAtMTY5LDYgKzE2OSwzOCBAQCBi b29sX3QgX19pbml0IGlvbW11X3N1cHBvcnRzX2VpbSh2b2lkKQogICAgIHJldHVybiAxOwogfQog CitzdGF0aWMgdm9pZCB1cGRhdGVfaXJ0ZShzdHJ1Y3QgaXJlbWFwX2VudHJ5ICplbnRyeSwKKyAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBpcmVtYXBfZW50cnkgKm5ld19pcmUp Cit7CisgICAgaWYgKCBjcHVfaGFzX2N4MTYgKQorICAgIHsKKyAgICAgICAgX191aW50MTI4X3Qg cmV0OworICAgICAgICBzdHJ1Y3QgaXJlbWFwX2VudHJ5IG9sZF9pcmU7CisKKyAgICAgICAgb2xk X2lyZSA9ICplbnRyeTsKKyAgICAgICAgcmV0ID0gY21weGNoZzE2YihlbnRyeSwgJm9sZF9pcmUs IG5ld19pcmUpOworCisgICAgICAgIC8qCisgICAgICAgICAqIEluIHRoZSBhYm92ZSwgd2UgdXNl IGNtcHhjaGcxNiB0byBhdG9taWNhbGx5IHVwZGF0ZSB0aGUgMTI4LWJpdAorICAgICAgICAgKiBJ UlRFLCBhbmQgdGhlIGhhcmR3YXJlIGNhbm5vdCB1cGRhdGUgdGhlIElSVEUgYmVoaW5kIHVzLCBz bworICAgICAgICAgKiB0aGUgcmV0dXJuIHZhbHVlIG9mIGNtcHhjaGcxNiBzaG91bGQgYmUgdGhl IHNhbWUgYXMgb2xkX2lyZS4KKyAgICAgICAgICogVGhpcyBBU1NFUlQgdmFsaWRhdGUgaXQuCisg ICAgICAgICAqLworICAgICAgICBBU1NFUlQocmV0ID09IG9sZF9pcmUudmFsKTsKKyAgICB9Cisg ICAgZWxzZQorICAgIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogVGhlIGZvbGxvd2luZyBtZXRo b2QgdG8gdXBkYXRlIElSVEUgaXMgc2FmZSBvbiBjb25kaXRpb24gdGhhdAorICAgICAgICAgKiBv bmx5IHRoZSBoaWdoIHF3b3JkIG9yIHRoZSBsb3cgcXdvcmQgaXMgdG8gYmUgdXBkYXRlZC4KKyAg ICAgICAgICogSWYgZW50aXJlIElSVEUgaXMgdG8gYmUgdXBkYXRlZCwgY2FsbGVycyBzaG91bGQg bWFrZSBzdXJlIHRoZQorICAgICAgICAgKiBJUlRFIGlzIG5vdCBpbiB1c2UuCisgICAgICAgICAq LworICAgICAgICBlbnRyeS0+bG8gPSBuZXdfaXJlLT5sbzsKKyAgICAgICAgZW50cnktPmhpID0g bmV3X2lyZS0+aGk7CisgICAgfQorfQorCiAvKiBNYXJrIHNwZWNpZmllZCBpbnRyIHJlbWFwIGVu dHJ5IGFzIGZyZWUgKi8KIHN0YXRpYyB2b2lkIGZyZWVfcmVtYXBfZW50cnkoc3RydWN0IGlvbW11 ICppb21tdSwgaW50IGluZGV4KQogewpAQCAtMzUzLDcgKzM4NSw3IEBAIHN0YXRpYyBpbnQgaW9h cGljX3J0ZV90b19yZW1hcF9lbnRyeShzdHJ1Y3QgaW9tbXUgKmlvbW11LAogICAgICAgICByZW1h cF9ydGUtPmZvcm1hdCA9IDE7ICAgIC8qIGluZGljYXRlIHJlbWFwIGZvcm1hdCAqLwogICAgIH0K IAotICAgICppcmVtYXBfZW50cnkgPSBuZXdfaXJlOworICAgIHVwZGF0ZV9pcnRlKGlyZW1hcF9l bnRyeSwgJm5ld19pcmUpOwogICAgIGlvbW11X2ZsdXNoX2NhY2hlX2VudHJ5KGlyZW1hcF9lbnRy eSwgc2l6ZW9mKCppcmVtYXBfZW50cnkpKTsKICAgICBpb21tdV9mbHVzaF9pZWNfaW5kZXgoaW9t bXUsIDAsIGluZGV4KTsKIApAQCAtNjQwLDcgKzY3Miw3IEBAIHN0YXRpYyBpbnQgbXNpX21zZ190 b19yZW1hcF9lbnRyeSgKICAgICByZW1hcF9ydGUtPmFkZHJlc3NfaGkgPSAwOwogICAgIHJlbWFw X3J0ZS0+ZGF0YSA9IGluZGV4IC0gaTsKIAotICAgICppcmVtYXBfZW50cnkgPSBuZXdfaXJlOwor ICAgIHVwZGF0ZV9pcnRlKGlyZW1hcF9lbnRyeSwgJm5ld19pcmUpOwogICAgIGlvbW11X2ZsdXNo X2NhY2hlX2VudHJ5KGlyZW1hcF9lbnRyeSwgc2l6ZW9mKCppcmVtYXBfZW50cnkpKTsKICAgICBp b21tdV9mbHVzaF9pZWNfaW5kZXgoaW9tbXUsIDAsIGluZGV4KTsKIAotLSAKMS44LjMuMQoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAo=