From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v3 1/4] libxl: add function to remove usb controller xenstore entries Date: Tue, 20 Sep 2016 14:01:07 +0200 Message-ID: <1474372870-9408-2-git-send-email-jgross@suse.com> References: <1474372870-9408-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1474372870-9408-1-git-send-email-jgross@suse.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: George.Dunlap@eu.citrix.com, wei.liu2@citrix.com, ian.jackson@eu.citrix.com, Juergen Gross List-Id: xen-devel@lists.xenproject.org SW4gY2FzZSBvZiBmYWlsdXJlIHdoZW4gdHJ5aW5nIHRvIGFkZCBhIG5ldyBVU0IgY29udHJvbGxl ciB0byBhIGRvbWFpbgpsaWJ4bCBtaWdodCBsZWFrIHhlbnN0b3JlIGVudHJpZXMuIEFkZCBhIGZ1 bmN0aW9uIHRvIHJlbW92ZSB0aGVtIGFuZApjYWxsIHRoaXMgZnVuY3Rpb24gaW4gY2FzZSBvZiBm YWlsdXJlLgoKU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpB Y2tlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tClRoaXMgcGF0Y2ggbWln aHQgYmUgYSBiYWNrcG9ydCBjYW5kaWRhdGUgdG8gNC43ICh3aWxsIGhhdmUgdG8gbW9kaWZ5CnRv b2xzL2xpYnhsL2xpYnhsX3B2dXNiLmMgaW5zdGVhZCkuCi0tLQogdG9vbHMvbGlieGwvbGlieGxf dXNiLmMgfCA1OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfdXNiLmMgYi90b29scy9saWJ4bC9saWJ4bF91 c2IuYwppbmRleCA2YjMwZTBmLi4yNDkzNDY0IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4 bF91c2IuYworKysgYi90b29scy9saWJ4bC9saWJ4bF91c2IuYwpAQCAtMTk0LDYgKzE5NCw0NyBA QCBvdXQ6CiAgICAgcmV0dXJuIHJjOwogfQogCitzdGF0aWMgY29uc3QgY2hhciAqdnVzYl9iZV9m cm9tX3hzX2xpYnhsKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGNoYXIgKmxpYnhsX3BhdGgpCit7Cisg ICAgY29uc3QgY2hhciAqYmVfcGF0aDsKKyAgICBpbnQgcjsKKworICAgIHIgPSBsaWJ4bF9feHNf cmVhZF9jaGVja2VkKGdjLCBYQlRfTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBHQ1NQUklOVEYoIiVzL2JhY2tlbmQiLCBsaWJ4bF9wYXRoKSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmYmVfcGF0aCk7CisgICAgaWYgKHIgfHwgIWJlX3BhdGgpIHJldHVybiBO VUxMOworCisgICAgcmV0dXJuIGJlX3BhdGg7Cit9CisKK3N0YXRpYyB2b2lkIGxpYnhsX19kZXZp Y2VfdXNiY3RybF9kZWxfeGVuc3RvcmUobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2Rldmlj ZV91c2JjdHJsICp1c2JjdHJsKQoreworICAgIGNvbnN0IGNoYXIgKmxpYnhsX3BhdGgsICpiZV9w YXRoOworICAgIHhzX3RyYW5zYWN0aW9uX3QgdCA9IFhCVF9OVUxMOworICAgIGludCByYzsKKwor ICAgIGxpYnhsX3BhdGggPSBHQ1NQUklOVEYoIiVzL2RldmljZS92dXNiLyVkIiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19saWJ4bF9wYXRoKGdjLCBkb21pZCksIHVzYmN0 cmwtPmRldmlkKTsKKyAgICBiZV9wYXRoID0gdnVzYl9iZV9mcm9tX3hzX2xpYnhsKGdjLCBsaWJ4 bF9wYXRoKTsKKworICAgIGZvciAoOzspIHsKKyAgICAgICAgcmMgPSBsaWJ4bF9feHNfdHJhbnNh Y3Rpb25fc3RhcnQoZ2MsICZ0KTsKKyAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsKKworICAgICAg ICBsaWJ4bF9feHNfcGF0aF9jbGVhbnVwKGdjLCB0LCBiZV9wYXRoKTsKKworICAgICAgICByYyA9 IGxpYnhsX194c190cmFuc2FjdGlvbl9jb21taXQoZ2MsICZ0KTsKKyAgICAgICAgaWYgKCFyYykg YnJlYWs7CisgICAgICAgIGlmIChyYyA8IDApIGdvdG8gb3V0OworICAgIH0KKworICAgIHJldHVy bjsKKworb3V0OgorICAgIGxpYnhsX194c190cmFuc2FjdGlvbl9hYm9ydChnYywgJnQpOworfQor CiBzdGF0aWMgY2hhciAqcHZ1c2JfZ2V0X2RldmljZV90eXBlKGxpYnhsX3VzYmN0cmxfdHlwZSB0 eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkgewpAQCAtMjUwLDEzICsyOTEsMTUgQEAgc3RhdGlj IHZvaWQgbGlieGxfX2RldmljZV91c2JjdHJsX2FkZChsaWJ4bF9fZWdjICplZ2MsIHVpbnQzMl90 IGRvbWlkLAogCiAgICAgR0NORVcoZGV2aWNlKTsKICAgICByYyA9IGxpYnhsX19kZXZpY2VfZnJv bV91c2JjdHJsKGdjLCBkb21pZCwgdXNiY3RybCwgZGV2aWNlKTsKLSAgICBpZiAocmMpIGdvdG8g b3V0OworICAgIGlmIChyYykgZ290byBvdXRybTsKIAogICAgIGFvZGV2LT5kZXYgPSBkZXZpY2U7 CiAgICAgYW9kZXYtPmFjdGlvbiA9IExJQlhMX19ERVZJQ0VfQUNUSU9OX0FERDsKICAgICBsaWJ4 bF9fd2FpdF9kZXZpY2VfY29ubmVjdGlvbihlZ2MsIGFvZGV2KTsKICAgICByZXR1cm47CiAKK291 dHJtOgorICAgIGxpYnhsX19kZXZpY2VfdXNiY3RybF9kZWxfeGVuc3RvcmUoZ2MsIGRvbWlkLCB1 c2JjdHJsKTsKIG91dDoKICAgICBhb2Rldi0+cmMgPSByYzsKICAgICBhb2Rldi0+Y2FsbGJhY2so ZWdjLCBhb2Rldik7CkBAIC0zNDAsMTkgKzM4Myw2IEBAIG91dDoKICAgICByZXR1cm47CiB9CiAK LXN0YXRpYyBjb25zdCBjaGFyICp2dXNiX2JlX2Zyb21feHNfbGlieGwobGlieGxfX2djICpnYywg Y29uc3QgY2hhciAqbGlieGxfcGF0aCkKLXsKLSAgICBjb25zdCBjaGFyICpiZV9wYXRoOwotICAg IGludCByOwotCi0gICAgciA9IGxpYnhsX194c19yZWFkX2NoZWNrZWQoZ2MsIFhCVF9OVUxMLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJXMvYmFja2VuZCIsIGxp YnhsX3BhdGgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZiZV9wYXRoKTsKLSAg ICBpZiAociB8fCAhYmVfcGF0aCkgcmV0dXJuIE5VTEw7Ci0KLSAgICByZXR1cm4gYmVfcGF0aDsK LX0KLQogbGlieGxfZGV2aWNlX3VzYmN0cmwgKgogbGlieGxfZGV2aWNlX3VzYmN0cmxfbGlzdChs aWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIGludCAqbnVtKQogewotLSAKMi42LjYKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK