From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH V15 4/6] libxl: add pvusb API Date: Wed, 2 Mar 2016 18:46:39 +0000 Message-ID: <56D7350F.7010000@citrix.com> References: <1456819787-11568-1-git-send-email-cyliu@suse.com> <1456819787-11568-5-git-send-email-cyliu@suse.com> <56D731B1.60009@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <56D731B1.60009@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Chunyan Liu , xen-devel@lists.xen.org Cc: jgross@suse.com, wei.liu2@citrix.com, ian.campbell@citrix.com, george.dunlap@eu.citrix.com, Ian.Jackson@eu.citrix.com, jfehlig@suse.com, Simon Cao List-Id: xen-devel@lists.xenproject.org T24gMDIvMDMvMTYgMTg6MzIsIEdlb3JnZSBEdW5sYXAgd3JvdGU6Cj4gT24gMDEvMDMvMTYgMDg6 MDksIENodW55YW4gTGl1IHdyb3RlOgo+PiBBZGQgcHZ1c2IgQVBJcywgaW5jbHVkaW5nOgo+PiAg LSBhdHRhY2gvZGV0YWNoIChjcmVhdGUvZGVzdHJveSkgdmlydHVhbCB1c2IgY29udHJvbGxlci4K Pj4gIC0gYXR0YWNoL2RldGFjaCB1c2IgZGV2aWNlCj4+ICAtIGxpc3QgdXNiIGNvbnRyb2xsZXIg YW5kIHVzYiBkZXZpY2VzCj4+ICAtIHNvbWUgb3RoZXIgaGVscGVyIGZ1bmN0aW9ucwo+Pgo+PiBT aWduZWQtb2ZmLWJ5OiBTaW1vbiBDYW8gPGNhb2Jvc2ltb25AZ21haWwuY29tPgo+PiBTaWduZWQt b2ZmLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+Cj4+IFNpZ25l ZC1vZmYtYnk6IENodW55YW4gTGl1IDxjeWxpdUBzdXNlLmNvbT4KPj4gLS0tCj4+IENoYW5nZXM6 Cj4+ICAgcmVvcmRlciB1c2JkZXZfcmVtb3ZlIHRvIGZvbGxvd2luZyB0aHJlZSBzdGVwczoKPj4g ICAxLiBVbmFzc2lnbiBhbGwgaW50ZXJmYWNlcyBmcm9tIHVzYmJhY2ssIHN0b3BwaW5nIGFuZCBy ZXR1cm5pbmcgYW4KPj4gICAgICBlcnJvciBhcyBzb29uIGFzIG9uZSBhdHRlbXB0IGZhaWxzCj4+ ICAgMi4gUmVtb3ZlIHRoZSBwdnVzYiB4ZW5zdG9yZSBub2Rlcywgc3RvcHBpbmcgYW5kIHJldHVy bmluZyBhbiBlcnJvcgo+PiAgICAgIGlmIGl0IGZhaWxzCj4+ICAgMy4gQXR0ZW1wdCB0byByZS1h c3NpZ24gYWxsIGludGVyZmFjZXMgdG8gdGhlIG9yaWdpbmFsIGRyaXZlcnMsCj4+ICAgICAgc3Rv cHBpbmcgYW5kIHJldHVybmluZyBhbiBlcnJvciBhcyBzb29uIGFzIG9uZSBhdHRlbXB0IGZhaWxz Lgo+IAo+IFRoYW5rcywgQ2h1bnlhbiEgIE9uZSBtaW5vciBjb21tZW50IGFib3V0IHRoZXNlIGNo YW5nZXMuLi4KPiAKPj4gK3N0YXRpYyBpbnQgdXNiZGV2X3JlYmluZChsaWJ4bF9fZ2MgKmdjLCBj b25zdCBjaGFyICpidXNpZCkKPj4gK3sKPj4gKyAgICBjaGFyICoqaW50ZnMgPSBOVUxMOwo+PiAr ICAgIGNoYXIgKnVzYmRldl9lbmNvZGUgPSBOVUxMOwo+PiArICAgIGNoYXIgKnBhdGggPSBOVUxM Owo+PiArICAgIGludCBpLCBudW0gPSAwOwo+PiArICAgIGludCByYzsKPj4gKwo+PiArICAgIHJj ID0gdXNiZGV2X2dldF9hbGxfaW50ZXJmYWNlcyhnYywgYnVzaWQsICZpbnRmcywgJm51bSk7Cj4+ ICsgICAgaWYgKHJjKSBnb3RvIG91dDsKPj4gKwo+PiArICAgIHVzYmRldl9lbmNvZGUgPSB1c2Jf aW50ZXJmYWNlX3hlbnN0b3JlX2VuY29kZShnYywgYnVzaWQpOwo+PiArCj4+ICsgICAgZm9yIChp ID0gMDsgaSA8IG51bTsgaSsrKSB7Cj4+ICsgICAgICAgIGNoYXIgKmludGYgPSBpbnRmc1tpXTsK Pj4gKyAgICAgICAgY2hhciAqdXNiaW50Zl9lbmNvZGUgPSBOVUxMOwo+PiArICAgICAgICBjb25z dCBjaGFyICpkcnZwYXRoOwo+PiArCj4+ICsgICAgICAgIC8qIHJlYmluZCBVU0IgaW50ZXJmYWNl IHRvIGl0cyBvcmlnaW5pYWwgZHJpdmVyICovCj4+ICsgICAgICAgIHVzYmludGZfZW5jb2RlID0g dXNiX2ludGVyZmFjZV94ZW5zdG9yZV9lbmNvZGUoZ2MsIGludGYpOwo+PiArICAgICAgICBwYXRo ID0gR0NTUFJJTlRGKFVTQkJBQ0tfSU5GT19QQVRIICIvJXMvJXMvZHJpdmVyX3BhdGgiLAo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgIHVzYmRldl9lbmNvZGUsIHVzYmludGZfZW5jb2RlKTsK Pj4gKyAgICAgICAgcmMgPSBsaWJ4bF9feHNfcmVhZF9jaGVja2VkKGdjLCBYQlRfTlVMTCwgcGF0 aCwgJmRydnBhdGgpOwo+PiArICAgICAgICBpZiAocmMpIGdvdG8gb3V0Owo+PiArCj4+ICsgICAg ICAgIGlmIChkcnZwYXRoKSB7Cj4+ICsgICAgICAgICAgICByYyA9IGJpbmRfdXNiaW50ZihnYywg aW50ZiwgZHJ2cGF0aCk7Cj4+ICsgICAgICAgICAgICBpZiAocmMpIHsKPj4gKyAgICAgICAgICAg ICAgICBMT0dFKEVSUk9SLCAiQ291bGRuJ3QgcmViaW5kICVzIHRvICVzIiwgaW50ZiwgZHJ2cGF0 aCk7Cj4+ICsgICAgICAgICAgICAgICAgZ290byBvdXQ7Cj4+ICsgICAgICAgICAgICB9Cj4+ICsg ICAgICAgIH0KPj4gKyAgICB9Cj4+ICsKPj4gKyAgICBwYXRoID0gR0NTUFJJTlRGKFVTQkJBQ0tf SU5GT19QQVRIICIvJXMiLCB1c2JkZXZfZW5jb2RlKTsKPj4gKyAgICByYyA9IGxpYnhsX194c19y bV9jaGVja2VkKGdjLCBYQlRfTlVMTCwgcGF0aCk7Cj4+ICsKPj4gK291dDoKPiAKPiBTbyBpdCBs b29rcyBsaWtlIGlmIG9uZSBvZiB0aGUgcmUtYmluZHMgZmFpbHMsIHRoZW4gaXQgc3RvcHMgd2hl cmUgaXQgaXMKPiBhbmQgbGVhdmVzIHRoZSBVU0JCQUNLIHJlLWJpbmQgaW5mbyBpbiB4ZW5zdG9y ZS4gIEluIHRoYXQgY2FzZSBpdCdzIG5vdAo+IGNsZWFyIHRvIG1lIGhvdyB0aGF0IGluZm9ybWF0 aW9uIHdvdWxkIGV2ZXIgYmUgcmVtb3ZlZC4KPiAKPiBJIHRoaW5rIHVudGlsIHN1Y2ggdGltZSBh cyB3ZSBoYXZlIGEgY29tbWFuZCB0byByZS1hdHRlbXB0IHRoZSByZS1iaW5kLAo+ICBpZiB0aGVy ZSdzIGFuIGVycm9yIGluIHRoZSBhY3R1YWwgcmViaW5kLCBpdCBzaG91bGQganVzdCBicmVhayBv dXQgb2YKPiB0aGUgZm9yIGxvb3AsIGFuZCByZW1vdmUgdGhlIHJlLWJpbmQgbm9kZXMsIGFuZCBk b2N1bWVudCBhIHdheSB0byBsZXQKPiB0aGUgdXNlciB0cnkgdG8gY2xlYW4gdGhpbmdzIHVwLgo+ IAo+PiArc3RhdGljIGludCBkb191c2JkZXZfcmVtb3ZlKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90 IGRvbWlkLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV91c2Jk ZXYgKnVzYmRldikKPj4gK3sKPj4gKyAgICBpbnQgcmM7Cj4+ICsgICAgY2hhciAqYnVzaWQ7Cj4+ ICsgICAgbGlieGxfZGV2aWNlX3VzYmN0cmwgdXNiY3RybDsKPj4gKyAgICBsaWJ4bF91c2JjdHJs aW5mbyB1c2JjdHJsaW5mbzsKPj4gKwo+PiArICAgIGxpYnhsX2RldmljZV91c2JjdHJsX2luaXQo JnVzYmN0cmwpOwo+PiArICAgIGxpYnhsX3VzYmN0cmxpbmZvX2luaXQoJnVzYmN0cmxpbmZvKTsK Pj4gKyAgICB1c2JjdHJsLmRldmlkID0gdXNiZGV2LT5jdHJsOwo+PiArCj4+ICsgICAgcmMgPSBs aWJ4bF9kZXZpY2VfdXNiY3RybF9nZXRpbmZvKENUWCwgZG9taWQsICZ1c2JjdHJsLCAmdXNiY3Ry bGluZm8pOwo+PiArICAgIGlmIChyYykgZ290byBvdXQ7Cj4+ICsKPj4gKyAgICBzd2l0Y2ggKHVz YmN0cmxpbmZvLnR5cGUpIHsKPj4gKyAgICBjYXNlIExJQlhMX1VTQkNUUkxfVFlQRV9QVjoKPj4g KyAgICAgICAgYnVzaWQgPSB1c2JkZXZfYnVzaWRfZnJvbV9jdHJscG9ydChnYywgZG9taWQsIHVz YmRldik7Cj4+ICsgICAgICAgIGlmICghYnVzaWQpIHsKPj4gKyAgICAgICAgICAgIHJjID0gRVJS T1JfRkFJTDsKPj4gKyAgICAgICAgICAgIGdvdG8gb3V0Owo+PiArICAgICAgICB9Cj4+ICsKPj4g KyAgICAgICAgcmMgPSB1c2JiYWNrX2Rldl91bmFzc2lnbihnYywgYnVzaWQpOwo+PiArICAgICAg ICBpZiAocmMpIGdvdG8gb3V0Owo+PiArCj4+ICsgICAgICAgIHJjID0gbGlieGxfX2RldmljZV91 c2JkZXZfcmVtb3ZlX3hlbnN0b3JlKGdjLCBkb21pZCwgdXNiZGV2KTsKPj4gKyAgICAgICAgaWYg KHJjKSBnb3RvIG91dDsKPj4gKwo+PiArICAgICAgICByYyA9IHVzYmRldl9yZWJpbmQoZ2MsIGJ1 c2lkKTsKPj4gKyAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsKPiAKPiBJIHRoaW5rIHdlIG5lZWQg YSBjb21tZW50IGhlcmUgc2F5aW5nIHdoeSB3ZSdyZSBkb2luZyB0aGluZ3MgaW4gdGhpcwo+IG9y ZGVyLiAgTWF5YmU6Cj4gCj4gIlRoaW5ncyBhcmUgZG9uZSBpbiB0aGlzIG9yZGVyIHRvIGJhbGFu Y2Ugc2ltcGxpY2l0eSB3aXRoIHJvYnVzdG5lc3MgaW4KPiB0aGUgY2FzZSBvZiBmYWlsdXJlOgo+ ICogV2UgdW5iaW5kIGFsbCBpbnRlcmZhY2VzIGJlZm9yZSByZWJpbmRpbmcgYW55IGludGVyZmFj ZXMsIHNvIHRoYXQgd2UKPiBuZXZlciBnZXQgaW50byBhIHNpdHVhdGlvbiB3aGVyZSBzb21lIGlu dGVyZmFjZXMgYXJlIGFzc2lnbmVkIHRvIHVzYmJhY2sKPiBhbmQgc29tZSBhcmUgYXNzaWduZWQg dG8gdGhlIG9yaWdpbmFsIGRyaXZlcnMuCj4gKiBXZSBhbHNvIHVuYmluZCB0aGUgaW50ZXJmYWNl cyBiZWZvcmUgcmVtb3ZpbmcgdGhlIHB2dXNiIHhlbnN0b3JlCj4gbm9kZXMsIHNvIHRoYXQgaWYg dGhlIHVuYmluZCBmYWlscyBpbiB0aGUgbWlkZGxlLCB0aGUgZGV2aWNlIHN0aWxsIHNob3dzCj4g dXAgaW4geGwgdXNiLWxpc3QsIGFuZCB0aGUgdXNlciBjYW4gcmUtdHJ5IHJlbW92aW5nIGl0LiIK ClNvcnJ5LCBqdXN0IGxvb2tlZCB0aHJvdWdoIHRoZSByZXN0IG9mIHRoZSBzZXJpZXMsIGFuZCB0 aGVyZSdzIG9uZSBtb3JlCnRoaW5nLgoKTmVpdGhlciBoZXJlIG5vciBpbiB0aGUgbWFuIHBhZ2Ug ZG8gd2UgZXhwbGFpbiB3aGF0IHRvIGRvIGlmIHNvbWV0aGluZwpnb2VzIHdyb25nIHdpdGggdGhl IGRldGFjaC4gIEkgdGhpbmsgdGhlIGJlc3QgdGhpbmcgdG8gZG8gaXMgcHJvYmFibHkgdG8KbWFr ZSB0aGUgbG9nZ2VkIGVycm9yIG1lc3NhZ2VzIG1vcmUgaGVscGZ1bC4KCldoYXQgYWJvdXQgc29t ZXRoaW5nIGxpa2UgdGhpczoKCiogT24gZmFpbHVyZSB0byB1bmJpbmQ6ICJFcnJvciByZW1vdmlu ZyBkZXZpY2UgZnJvbSBndWVzdC4gIFRyeSBydW5uaW5nCnVzYmRldi1kZXRhY2ggYWdhaW4uIgoK KiBPbiBmYWlsdXJlIHRvIHJlYmluZDogIlVTQiBkZXZpY2UgcmVtb3ZlZCBmcm9tIGd1ZXN0LCBi dXQgY291bGRuJ3QKcmUtYmluZCB0byBkb21haW4gMC4gIFRyeSByZW1vdmluZyBhbmQgcmUtaW5z ZXJ0aW5nIHRoZSBVU0IgZGV2aWNlIG9yCnJlbG9hZGluZyB0aGUgZHJpdmVyIG1vZHVsZXMuIgoK V2hhdCBkbyB5b3UgdGhpbms/CgogLUdlb3JnZQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK