From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v3 2/4] x86/hvm: take a reference on ioreq server emulating domain Date: Tue, 20 Mar 2018 18:05:23 +0000 Message-ID: <20180320180525.28605-3-paul.durrant@citrix.com> References: <20180320180525.28605-1-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1eyLfN-0002Pn-Ti for xen-devel@lists.xenproject.org; Tue, 20 Mar 2018 18:07:21 +0000 In-Reply-To: <20180320180525.28605-1-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Andrew Cooper , Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org V2hlbiBhbiBpb3JlcSBzZXJ2ZXIgaXMgY3JlYXRlZCB0aGUgY29kZSBjdXJyZW50bHkgc3RvcmVz IHRoZSBpZApvZiB0aGUgZW11bGF0aW5nIGRvbWFpbiwgYnV0IGRvZXMgbm90IHRha2UgYSByZWZl cmVuY2Ugb24gdGhhdCBkb21haW4uCgpUaGlzIHBhdGNoIG1vZGlmaWVzIHRoZSBjb2RlIHRvIGhv bGQgYSByZWZlcmVuY2UgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUKaW9yZXEgc2VydmVyLgoKTk9U RTogaW9yZXEgc2VydmVycyBhcmUgZWl0aGVyIGRlc3Ryb3llZCBleHBsaWNpdGx5IG9yIGRlc3Ry b3llZCBpbXBsaWNpdGx5CiAgICAgIGluIGNvbnRleHQgb2YgWEVOX0RPTUNUTF9kZXN0cm95ZG9t YWluLgogICAgICBJZiB0aGUgZW11bGF0aW5nIGRvbWFpbiBpcyBzaHV0IGRvd24gcHJpb3IgdG8g dGhlIHRhcmdldCB0aGVuIHRoZQogICAgICBhbnkgZG9tYWluIHJlZmVyZW5jZSBoZWxkIGJ5IGFu IGlvcmVxIHNlcnZlciB3aWxsIHByZXZlbnQgaXQgZnJvbQogICAgICBiZWluZyBkZXN0cm95ZWQu IEhvd2V2ZXIsIGlmIGFuIGVtdWxhdGluZyBkb21haW4gaXMgc2h1dCBkb3duIHByaW9yCiAgICAg IHRvIGl0cyB0YXJnZXQgdGhlbiBpdCBpcyBsaWtlbHkgdGhhdCB0aGUgdGFyZ2V0J3MgdmNwdXMg d2lsbCBibG9jawogICAgICBmYWlybHkgcXVpY2tseSB3YWl0aW5nIGZvciBlbXVsYXRpb24gdGhh dCB3aWxsIG5ldmVyIG9jY3VyLCBhbmQgd2hlbgogICAgICB0aGUgdGFyZ2V0IGRvbWFpbiBpcyBk ZXN0cm95ZWQgdGhlIHJlZmVyZW5jZSBvbiB0aGUgem9tYmllIGVtdWxhdGluZwogICAgICBkb21h aW4gd2lsbCBiZSBkcm9wcGVkIGFsbG93aW5nIGJvdGggdG8gYmUgY2xlYW5lZCB1cC4KClNpZ25l ZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Ci0tLQpDYzog SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3 LmNvb3BlcjNAY2l0cml4LmNvbT4KCnYzOgogLSBNaW5vciBjb2RlIHR3ZWFrcyByZXF1ZXN0ZWQg YnkgSmFuCiAtIEV4cGFuZGVkIGNvbW1pdCBjb21tZW50IHRvIGV4cGxhaW4gaG93IGRvbWFpbiBy ZWZlcmVuY2VzIHdpbGwgYmUKICAgcmVsZWFzZWQKLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2lvcmVx LmMgICAgICAgICB8IDMxICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIHhlbi9pbmNs dWRlL2FzbS14ODYvaHZtL2RvbWFpbi5oIHwgIDQgKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyMCBp bnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv aHZtL2lvcmVxLmMgYi94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMKaW5kZXggMmI5ZTU1NjJkZC4u MTU0ZjZmMWEzMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jCisrKyBiL3hl bi9hcmNoL3g4Ni9odm0vaW9yZXEuYwpAQCAtMjE4LDcgKzIxOCw3IEBAIHN0YXRpYyB2b2lkIGh2 bV91bm1hcF9pb3JlcV9wYWdlKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLCBib29sIGJ1ZikK IHN0YXRpYyBpbnQgaHZtX21hcF9pb3JlcV9wYWdlKAogICAgIHN0cnVjdCBodm1faW9yZXFfc2Vy dmVyICpzLCBib29sIGJ1ZiwgdW5zaWduZWQgbG9uZyBnZm4pCiB7Ci0gICAgc3RydWN0IGRvbWFp biAqZCA9IHMtPmRvbWFpbjsKKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gcy0+dGFyZ2V0OwogICAg IHN0cnVjdCBodm1faW9yZXFfcGFnZSAqaW9ycCA9IGJ1ZiA/ICZzLT5idWZpb3JlcSA6ICZzLT5p b3JlcTsKICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlOwogICAgIHZvaWQgKnZhOwpAQCAtMzE1 LDggKzMxNSw4IEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9hZGRfdmNwdShzdHJ1Y3Qg aHZtX2lvcmVxX3NlcnZlciAqcywKIAogICAgIHNwaW5fbG9jaygmcy0+bG9jayk7CiAKLSAgICBy YyA9IGFsbG9jX3VuYm91bmRfeGVuX2V2ZW50X2NoYW5uZWwodi0+ZG9tYWluLCB2LT52Y3B1X2lk LCBzLT5kb21pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM TCk7CisgICAgcmMgPSBhbGxvY191bmJvdW5kX3hlbl9ldmVudF9jaGFubmVsKHYtPmRvbWFpbiwg di0+dmNwdV9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+ ZW11bGF0b3ItPmRvbWFpbl9pZCwgTlVMTCk7CiAgICAgaWYgKCByYyA8IDAgKQogICAgICAgICBn b3RvIGZhaWwyOwogCkBAIC0zMjQsOSArMzI0LDEwIEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3Nl cnZlcl9hZGRfdmNwdShzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKIAogICAgIGlmICggdi0+ dmNwdV9pZCA9PSAwICYmIHMtPmJ1ZmlvcmVxLnZhICE9IE5VTEwgKQogICAgIHsKLSAgICAgICAg c3RydWN0IGRvbWFpbiAqZCA9IHMtPmRvbWFpbjsKKyAgICAgICAgc3RydWN0IGRvbWFpbiAqZCA9 IHMtPnRhcmdldDsKIAotICAgICAgICByYyA9IGFsbG9jX3VuYm91bmRfeGVuX2V2ZW50X2NoYW5u ZWwodi0+ZG9tYWluLCAwLCBzLT5kb21pZCwgTlVMTCk7CisgICAgICAgIHJjID0gYWxsb2NfdW5i b3VuZF94ZW5fZXZlbnRfY2hhbm5lbCh2LT5kb21haW4sIDAsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5lbXVsYXRvci0+ZG9tYWluX2lkLCBOVUxMKTsK ICAgICAgICAgaWYgKCByYyA8IDAgKQogICAgICAgICAgICAgZ290byBmYWlsMzsKIApAQCAtNDM0 LDcgKzQzNSw3IEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9zZXR1cF9wYWdlcyhzdHJ1 Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBib29sIGlzX2RlZmF1bHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYm9vbCBoYW5kbGVfYnVmaW9yZXEpCiB7Ci0gICAgc3RydWN0IGRvbWFpbiAqZCA9 IHMtPmRvbWFpbjsKKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gcy0+dGFyZ2V0OwogICAgIHVuc2ln bmVkIGxvbmcgaW9yZXFfZ2ZuID0gZ2ZuX3goSU5WQUxJRF9HRk4pOwogICAgIHVuc2lnbmVkIGxv bmcgYnVmaW9yZXFfZ2ZuID0gZ2ZuX3goSU5WQUxJRF9HRk4pOwogICAgIGludCByYzsKQEAgLTQ3 MSw3ICs0NzIsNyBAQCBzdGF0aWMgaW50IGh2bV9pb3JlcV9zZXJ2ZXJfc2V0dXBfcGFnZXMoc3Ry dWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiBzdGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX3Vu bWFwX3BhZ2VzKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzX2RlZmF1bHQpCiB7Ci0gICAgc3RydWN0IGRv bWFpbiAqZCA9IHMtPmRvbWFpbjsKKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gcy0+dGFyZ2V0Owog ICAgIGJvb2wgaGFuZGxlX2J1ZmlvcmVxID0gISFzLT5idWZpb3JlcS52YTsKIAogICAgIGlmICgg aGFuZGxlX2J1ZmlvcmVxICkKQEAgLTUyMSw3ICs1MjIsNyBAQCBzdGF0aWMgaW50IGh2bV9pb3Jl cV9zZXJ2ZXJfYWxsb2NfcmFuZ2VzZXRzKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogICAg ICAgICBpZiAoIHJjICkKICAgICAgICAgICAgIGdvdG8gZmFpbDsKIAotICAgICAgICBzLT5yYW5n ZVtpXSA9IHJhbmdlc2V0X25ldyhzLT5kb21haW4sIG5hbWUsCisgICAgICAgIHMtPnJhbmdlW2ld ID0gcmFuZ2VzZXRfbmV3KHMtPnRhcmdldCwgbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUkFOR0VTRVRGX3ByZXR0eXByaW50X2hleCk7CiAKICAgICAgICAgeGZyZWUo bmFtZSk7CkBAIC01NDUsNyArNTQ2LDcgQEAgc3RhdGljIGludCBodm1faW9yZXFfc2VydmVyX2Fs bG9jX3Jhbmdlc2V0cyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcywKIHN0YXRpYyB2b2lkIGh2 bV9pb3JlcV9zZXJ2ZXJfZW5hYmxlKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc19kZWZhdWx0KQogewotICAgIHN0 cnVjdCBkb21haW4gKmQgPSBzLT5kb21haW47CisgICAgc3RydWN0IGRvbWFpbiAqZCA9IHMtPnRh cmdldDsKICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3ZjcHUgKnN2OwogICAgIGJvb2wgaGFuZGxlX2J1 ZmlvcmVxID0gISFzLT5idWZpb3JlcS52YTsKIApAQCAtNTc2LDcgKzU3Nyw3IEBAIHN0YXRpYyB2 b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZW5hYmxlKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLAog c3RhdGljIHZvaWQgaHZtX2lvcmVxX3NlcnZlcl9kaXNhYmxlKHN0cnVjdCBodm1faW9yZXFfc2Vy dmVyICpzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNfZGVm YXVsdCkKIHsKLSAgICBzdHJ1Y3QgZG9tYWluICpkID0gcy0+ZG9tYWluOworICAgIHN0cnVjdCBk b21haW4gKmQgPSBzLT50YXJnZXQ7CiAgICAgYm9vbCBoYW5kbGVfYnVmaW9yZXEgPSAhIXMtPmJ1 ZmlvcmVxLnZhOwogCiAgICAgc3Bpbl9sb2NrKCZzLT5sb2NrKTsKQEAgLTYwMiwxMiArNjAzLDE1 IEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9pbml0KHN0cnVjdCBodm1faW9yZXFfc2Vy dmVyICpzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRvbWFpbiAq ZCwgYm9vbCBpc19kZWZhdWx0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50 IGJ1ZmlvcmVxX2hhbmRsaW5nLCBpb3NlcnZpZF90IGlkKQogeworICAgIHN0cnVjdCBkb21haW4g KmN1cnJkID0gY3VycmVudC0+ZG9tYWluOwogICAgIHN0cnVjdCB2Y3B1ICp2OwogICAgIGludCBy YzsKIAogICAgIHMtPmlkID0gaWQ7Ci0gICAgcy0+ZG9tYWluID0gZDsKLSAgICBzLT5kb21pZCA9 IGN1cnJlbnQtPmRvbWFpbi0+ZG9tYWluX2lkOworICAgIHMtPnRhcmdldCA9IGQ7CisKKyAgICBn ZXRfa25vd25hbGl2ZV9kb21haW4oY3VycmQpOworICAgIHMtPmVtdWxhdG9yID0gY3VycmQ7CiAK ICAgICBzcGluX2xvY2tfaW5pdCgmcy0+bG9jayk7CiAgICAgSU5JVF9MSVNUX0hFQUQoJnMtPmlv cmVxX3ZjcHVfbGlzdCk7CkBAIC02NDEsNiArNjQ1LDcgQEAgc3RhdGljIGludCBodm1faW9yZXFf c2VydmVyX2luaXQoc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAgZmFpbF9tYXA6CiAgICAg aHZtX2lvcmVxX3NlcnZlcl9mcmVlX3Jhbmdlc2V0cyhzLCBpc19kZWZhdWx0KTsKIAorICAgIHB1 dF9kb21haW4ocy0+ZW11bGF0b3IpOwogICAgIHJldHVybiByYzsKIH0KIApAQCAtNjUxLDYgKzY1 Niw4IEBAIHN0YXRpYyB2b2lkIGh2bV9pb3JlcV9zZXJ2ZXJfZGVpbml0KHN0cnVjdCBodm1faW9y ZXFfc2VydmVyICpzLAogICAgIGh2bV9pb3JlcV9zZXJ2ZXJfcmVtb3ZlX2FsbF92Y3B1cyhzKTsK ICAgICBodm1faW9yZXFfc2VydmVyX3VubWFwX3BhZ2VzKHMsIGlzX2RlZmF1bHQpOwogICAgIGh2 bV9pb3JlcV9zZXJ2ZXJfZnJlZV9yYW5nZXNldHMocywgaXNfZGVmYXVsdCk7CisKKyAgICBwdXRf ZG9tYWluKHMtPmVtdWxhdG9yKTsKIH0KIAogc3RhdGljIGlvc2VydmlkX3QgbmV4dF9pb3NlcnZp ZChzdHJ1Y3QgZG9tYWluICpkKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0v ZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaAppbmRleCA3ZjEyOGMw NWZmLi42ZTAzZDAyNGM4IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21h aW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaApAQCAtNTMsMTMgKzUz LDExIEBAIHN0cnVjdCBodm1faW9yZXFfdmNwdSB7CiAKIHN0cnVjdCBodm1faW9yZXFfc2VydmVy IHsKICAgICBzdHJ1Y3QgbGlzdF9oZWFkICAgICAgIGxpc3RfZW50cnk7Ci0gICAgc3RydWN0IGRv bWFpbiAgICAgICAgICAqZG9tYWluOworICAgIHN0cnVjdCBkb21haW4gICAgICAgICAgKnRhcmdl dCwgKmVtdWxhdG9yOwogCiAgICAgLyogTG9jayB0byBzZXJpYWxpemUgdG9vbHN0YWNrIG1vZGlm aWNhdGlvbnMgKi8KICAgICBzcGlubG9ja190ICAgICAgICAgICAgIGxvY2s7CiAKLSAgICAvKiBE b21haW4gaWQgb2YgZW11bGF0aW5nIGRvbWFpbiAqLwotICAgIGRvbWlkX3QgICAgICAgICAgICAg ICAgZG9taWQ7CiAgICAgaW9zZXJ2aWRfdCAgICAgICAgICAgICBpZDsKICAgICBzdHJ1Y3QgaHZt X2lvcmVxX3BhZ2UgIGlvcmVxOwogICAgIHN0cnVjdCBsaXN0X2hlYWQgICAgICAgaW9yZXFfdmNw dV9saXN0OwotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJv amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hl bi1kZXZlbA==