From mboxrd@z Thu Jan 1 00:00:00 1970 From: aq Subject: [PATCH] xenstore library revert and fixes Date: Tue, 14 Jun 2005 21:50:18 -0700 Message-ID: <9cde8bff05061421506359c456@mail.gmail.com> Reply-To: aq Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_305_28817928.1118811018777" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Rusty Russell , xen-devel List-Id: xen-devel@lists.xenproject.org ------=_Part_305_28817928.1118811018777 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline This patch reverts changes in the last patch on xenstore library (which puts xs_ prefix to some private functions). Besides, it move some part of xs_lib.h to xs.h, and fixes a typo on macro definition in xs_lib.h (_XR_LIB_H). And xs_lib.h will not be installed into /usr/include any more. Is this fine, Rusty? Signed-off-by: Nguyen Anh Quynh $ diffstat xenstore.patch=20 Makefile | 2 +- tools/xenstore/Makefile | 1 - tools/xenstore/fake_libxc.c | 2 +- tools/xenstore/xenstored_core.c | 18 +++++++++--------- tools/xenstore/xenstored_test.h | 2 +- tools/xenstore/xs.c | 14 +++++++------- tools/xenstore/xs.h | 22 +++++++++++++++++++--- tools/xenstore/xs_lib.c | 8 ++++---- tools/xenstore/xs_lib.h | 30 ++++++++---------------------- tools/xenstore/xs_random.c | 8 ++++---- tools/xenstore/xs_test.c | 4 ++-- 11 files changed, 56 insertions(+), 55 deletions(-) ------=_Part_305_28817928.1118811018777 Content-Type: application/octet-stream; name="xenstore.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="xenstore.patch" PT09PT0gTWFrZWZpbGUgMS45NyB2cyBlZGl0ZWQgPT09PT0KLS0tIDEuOTcvTWFrZWZpbGUJMjAw NS0wNi0xMCAxNzo0MjoyNSArMDk6MDAKKysrIGVkaXRlZC9NYWtlZmlsZQkyMDA1LTA2LTE1IDEy OjExOjUzICswOTowMApAQCAtMTY2LDcgKzE2Niw3IEBACiAJcm0gLXJmICQoRCkvdXNyLyQoTElC RElSKS9zaGFyZS94ZW4gJChEKS91c3IvJChMSUJESVIpL2xpYnhlbnN0b3JlKgogCXJtIC1yZiAk KEQpL3Zhci9ydW4veGVuKiAkKEQpL3Zhci9saWIveGVuKgogCXJtIC1yZiAkKEQpL3Vzci9pbmNs dWRlL3hjc19wcm90by5oICQoRCkvdXNyL2luY2x1ZGUveGMuaAotCXJtIC1yZiAkKEQpL3Vzci9p bmNsdWRlL3hzX2xpYi5oICQoRCkvdXNyL2luY2x1ZGUveHMuaAorCXJtIC1yZiAkKEQpL3Vzci9p bmNsdWRlL3hzLmgKIAlybSAtcmYgJChEKS91c3Ivc2Jpbi94Y3MgJChEKS91c3Ivc2Jpbi94Y3Nk dW1wICQoRCkvdXNyL3NiaW4veGVuKgogCXJtIC1yZiAkKEQpL3Vzci9zYmluL25ldGZpeAogCXJt IC1yZiAkKEQpL3Vzci9zYmluL3hmcmQgJChEKS91c3Ivc2Jpbi94bQo9PT09PSB0b29scy94ZW5z dG9yZS9NYWtlZmlsZSAxLjQgdnMgZWRpdGVkID09PT09Ci0tLSAxLjQvdG9vbHMveGVuc3RvcmUv TWFrZWZpbGUJMjAwNS0wNi0xMCAxNzo0MjoyNSArMDk6MDAKKysrIGVkaXRlZC90b29scy94ZW5z dG9yZS9NYWtlZmlsZQkyMDA1LTA2LTE1IDExOjU3OjQyICswOTowMApAQCAtOTcsNiArOTcsNSBA QAogCSQoSU5TVEFMTF9ESVIpIC1wICQoREVTVERJUikvdXNyLyQoTElCRElSKQogCSQoSU5TVEFM TF9EQVRBKSBsaWJ4ZW5zdG9yZS5hICQoREVTVERJUikvdXNyLyQoTElCRElSKQogCSQoSU5TVEFM TF9EQVRBKSB4cy5oICQoREVTVERJUikvdXNyL2luY2x1ZGUKLQkkKElOU1RBTExfREFUQSkgeHNf bGliLmggJChERVNURElSKS91c3IvaW5jbHVkZQogCiAtaW5jbHVkZSAkKFBST0dfREVQKQo9PT09 PSB0b29scy94ZW5zdG9yZS9mYWtlX2xpYnhjLmMgMS4yIHZzIGVkaXRlZCA9PT09PQotLS0gMS4y L3Rvb2xzL3hlbnN0b3JlL2Zha2VfbGlieGMuYwkyMDA1LTA2LTEwIDIyOjQ5OjMyICswOTowMAor KysgZWRpdGVkL3Rvb2xzL3hlbnN0b3JlL2Zha2VfbGlieGMuYwkyMDA1LTA2LTE1IDEyOjAyOjUz ICswOTowMApAQCAtNzEsNyArNzEsNyBAQAogCQlyZXR1cm4gZmQ7CiAKIAltZW1zZXQocGFnZSwg MCwgc2l6ZW9mKHBhZ2UpKTsKLQlpZiAoIXhzX3dyaXRlX2FsbChmZCwgcGFnZSwgc2l6ZW9mKHBh Z2UpKSkKKwlpZiAoIXdyaXRlX2FsbChmZCwgcGFnZSwgc2l6ZW9mKHBhZ2UpKSkKIAkJYmFyZl9w ZXJyb3IoIkZhaWxlZCB0byB3cml0ZSAvdG1wL3hjbWFwIHBhZ2UiKTsKIAkKIAlyZXR1cm4gZmQ7 Cj09PT09IHRvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9jb3JlLmMgMS4zIHZzIGVkaXRlZCA9PT09 PQotLS0gMS4zL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9jb3JlLmMJMjAwNS0wNi0xMSAwMDox Nzo1OSArMDk6MDAKKysrIGVkaXRlZC90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfY29yZS5jCTIw MDUtMDYtMTUgMTI6MDY6MDMgKzA5OjAwCkBAIC04MSw3ICs4MSw3IEBACiAJCWVycm5vID0gRU5P U1BDOwogCQlyZXR1cm4gZmFsc2U7CiAJfQotCXJldHVybiB4c193cml0ZV9hbGwoZmQsIGNvbnRl bnRzLCBsZW4pOworCXJldHVybiB3cml0ZV9hbGwoZmQsIGNvbnRlbnRzLCBsZW4pOwogfQogCiBp bnQgdGVzdF9ta2Rpcihjb25zdCBjaGFyICpkaXIsIGludCBwZXJtcyk7CkBAIC00NDMsOSArNDQz LDkgQEAKIAlpZiAoIXN0cmluZ3MpCiAJCXJldHVybiBOVUxMOwogCi0JKm51bSA9IHhzX2NvdW50 X3N0cmluZ3Moc3RyaW5ncywgc2l6ZSk7CisJKm51bSA9IGNvdW50X3N0cmluZ3Moc3RyaW5ncywg c2l6ZSk7CiAJcmV0ID0gdGFsbG9jX2FycmF5KG5vZGUsIHN0cnVjdCB4c19wZXJtaXNzaW9ucywg Km51bSk7Ci0JaWYgKCF4c19zdHJpbmdzX3RvX3Blcm1zKHJldCwgKm51bSwgc3RyaW5ncykpCisJ aWYgKCFzdHJpbmdzX3RvX3Blcm1zKHJldCwgKm51bSwgc3RyaW5ncykpCiAJCWNvcnJ1cHQoTlVM TCwgIlBlcm1pc3Npb25zIGNvcnJ1cHQgZm9yICVzIiwgbm9kZSk7CiAKIAlyZXR1cm4gcmV0OwpA QCAtNDYwLDcgKzQ2MCw3IEBACiAJY2hhciBidWZmZXJbTUFYX1NUUkxFTihkb21pZF90KSArIDFd OwogCiAJZm9yICgqbGVuID0gMCwgaSA9IDA7IGkgPCBudW07IGkrKykgewotCQlpZiAoIXhzX3Bl cm1fdG9fc3RyaW5nKCZwZXJtc1tpXSwgYnVmZmVyKSkKKwkJaWYgKCFwZXJtX3RvX3N0cmluZygm cGVybXNbaV0sIGJ1ZmZlcikpCiAJCQlyZXR1cm4gTlVMTDsKIAogCQlzdHJpbmdzID0gdGFsbG9j X3JlYWxsb2Mobm9kZSwgc3RyaW5ncywgY2hhciwKQEAgLTUwNiw3ICs1MDYsNyBAQAogCWlmICgh ZmQpCiAJCXJldHVybiBOVUxMOwogCXRhbGxvY19zZXRfZGVzdHJ1Y3Rvcih0bXBwYXRoLCBkZXN0 cm95X3BhdGgpOwotCWlmICgheHNfd3JpdGVfYWxsKCpmZCwgY29udGVudHMsIGxlbikpCisJaWYg KCF3cml0ZV9hbGwoKmZkLCBjb250ZW50cywgbGVuKSkKIAkJcmV0dXJuIE5VTEw7CiAKIAlyZXR1 cm4gdG1wcGF0aDsKQEAgLTcyMSwxNCArNzIxLDE0IEBACiAJcGVybXN0ciA9IHBlcm1zX3RvX3N0 cmluZ3MoZGlyLCAmcGVybXMsIDEsICZsZW4pOwogCWZkID0gdGFsbG9jX29wZW4obm9kZV9wZXJt ZmlsZShjb25uLT50cmFuc2FjdGlvbiwgbm9kZSksCiAJCQkgT19XUk9OTFl8T19DUkVBVHxPX0VY Q0wsIDA2NDApOwotCWlmICghZmQgfHwgIXhzX3dyaXRlX2FsbCgqZmQsIHBlcm1zdHIsIGxlbikp CisJaWYgKCFmZCB8fCAhd3JpdGVfYWxsKCpmZCwgcGVybXN0ciwgbGVuKSkKIAkJcmV0dXJuIGZh bHNlOwogCiAJaWYgKGRhdGEpIHsKIAkJY2hhciAqZGF0YXBhdGggPSBub2RlX2RhdGFmaWxlKGNv bm4tPnRyYW5zYWN0aW9uLCBub2RlKTsKIAogCQlmZCA9IHRhbGxvY19vcGVuKGRhdGFwYXRoLCBP X1dST05MWXxPX0NSRUFUfE9fRVhDTCwgMDY0MCk7Ci0JCWlmICghZmQgfHwgIXhzX3dyaXRlX2Fs bCgqZmQsIGRhdGEsIGRhdGFsZW4pKQorCQlpZiAoIWZkIHx8ICF3cml0ZV9hbGwoKmZkLCBkYXRh LCBkYXRhbGVuKSkKIAkJCXJldHVybiBmYWxzZTsKIAl9CiAKQEAgLTg3OCw3ICs4NzgsNyBAQAog CWNoYXIgKm5vZGU7CiAJc3RydWN0IHhzX3Blcm1pc3Npb25zICpwZXJtczsKIAotCW51bSA9IHhz X2NvdW50X3N0cmluZ3MoaW4tPmJ1ZmZlciwgaW4tPnVzZWQpOworCW51bSA9IGNvdW50X3N0cmlu Z3MoaW4tPmJ1ZmZlciwgaW4tPnVzZWQpOwogCWlmIChudW0gPCAyKQogCQlyZXR1cm4gc2VuZF9l cnJvcihjb25uLCBFSU5WQUwpOwogCkBAIC04OTgsNyArODk4LDcgQEAKIAkJcmV0dXJuIHNlbmRf ZXJyb3IoY29ubiwgZXJybm8pOwogCiAJcGVybXMgPSB0YWxsb2NfYXJyYXkobm9kZSwgc3RydWN0 IHhzX3Blcm1pc3Npb25zLCBudW0pOwotCWlmICgheHNfc3RyaW5nc190b19wZXJtcyhwZXJtcywg bnVtLCBpbi0+YnVmZmVyKSkKKwlpZiAoIXN0cmluZ3NfdG9fcGVybXMocGVybXMsIG51bSwgaW4t PmJ1ZmZlcikpCiAJCXJldHVybiBzZW5kX2Vycm9yKGNvbm4sIGVycm5vKTsKIAogCWlmICghc2V0 X3Blcm1zKGNvbm4tPnRyYW5zYWN0aW9uLCBub2RlLCBwZXJtcywgbnVtKSkKPT09PT0gdG9vbHMv eGVuc3RvcmUveGVuc3RvcmVkX3Rlc3QuaCAxLjIgdnMgZWRpdGVkID09PT09Ci0tLSAxLjIvdG9v bHMveGVuc3RvcmUveGVuc3RvcmVkX3Rlc3QuaAkyMDA1LTA2LTEwIDIyOjQ5OjMyICswOTowMAor KysgZWRpdGVkL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF90ZXN0LmgJMjAwNS0wNi0xNSAxMjow Mjo1MyArMDk6MDAKQEAgLTIxLDcgKzIxLDcgQEAKIAogI2lmZGVmIFRFU1RJTkcKIGJvb2wgdGVz dF93cml0ZV9hbGwoaW50IGZkLCB2b2lkICpjb250ZW50cywgdW5zaWduZWQgaW50IGxlbik7Ci0j ZGVmaW5lIHhzX3dyaXRlX2FsbCB0ZXN0X3dyaXRlX2FsbAorI2RlZmluZSB3cml0ZV9hbGwgdGVz dF93cml0ZV9hbGwKIAogaW50IHRlc3RfbWtkaXIoY29uc3QgY2hhciAqZGlyLCBpbnQgcGVybXMp OwogI2RlZmluZSBta2RpciB0ZXN0X21rZGlyCj09PT09IHRvb2xzL3hlbnN0b3JlL3hzLmMgMS4y IHZzIGVkaXRlZCA9PT09PQotLS0gMS4yL3Rvb2xzL3hlbnN0b3JlL3hzLmMJMjAwNS0wNi0xMCAy Mjo0OTozMiArMDk6MDAKKysrIGVkaXRlZC90b29scy94ZW5zdG9yZS94cy5jCTIwMDUtMDYtMTUg MTI6MDY6MDMgKzA5OjAwCkBAIC0xMTgsNyArMTE4LDcgQEAKIAogI2lmZGVmIFhTVEVTVAogI2Rl ZmluZSByZWFkX2FsbCByZWFkX2FsbF9jaG9pY2UKLSNkZWZpbmUgeHNfd3JpdGVfYWxsIHdyaXRl X2FsbF9jaG9pY2UKKyNkZWZpbmUgd3JpdGVfYWxsIHdyaXRlX2FsbF9jaG9pY2UKICNlbmRpZgog CiBzdGF0aWMgaW50IGdldF9lcnJvcihjb25zdCBjaGFyICplcnJvcnN0cmluZykKQEAgLTE3OSwx MSArMTc5LDExIEBACiAJaWdub3JlcGlwZS5zYV9mbGFncyA9IDA7CiAJc2lnYWN0aW9uKFNJR1BJ UEUsICZpZ25vcmVwaXBlLCAmb2xkYWN0KTsKIAotCWlmICgheHNfd3JpdGVfYWxsKGgtPmZkLCAm bXNnLCBzaXplb2YobXNnKSkpCisJaWYgKCF3cml0ZV9hbGwoaC0+ZmQsICZtc2csIHNpemVvZiht c2cpKSkKIAkJZ290byBmYWlsOwogCiAJZm9yIChpID0gMDsgaSA8IG51bV92ZWNzOyBpKyspCi0J CWlmICgheHNfd3JpdGVfYWxsKGgtPmZkLCBpb3ZlY1tpXS5pb3ZfYmFzZSwgaW92ZWNbaV0uaW92 X2xlbikpCisJCWlmICghd3JpdGVfYWxsKGgtPmZkLCBpb3ZlY1tpXS5pb3ZfYmFzZSwgaW92ZWNb aV0uaW92X2xlbikpCiAJCQlnb3RvIGZhaWw7CiAKIAkvKiBXYXRjaGVzIGNhbiBoYXZlIGZpcmVk IGJlZm9yZSByZXBseSBjb21lczogZGFlbW9uIGRldGVjdHMKQEAgLTI1Myw3ICsyNTMsNyBAQAog CQlyZXR1cm4gTlVMTDsKIAogCS8qIENvdW50IHRoZSBzdHJpbmdzLiAqLwotCSpudW0gPSB4c19j b3VudF9zdHJpbmdzKHN0cmluZ3MsIGxlbik7CisJKm51bSA9IGNvdW50X3N0cmluZ3Moc3RyaW5n cywgbGVuKTsKIAogCS8qIFRyYW5zZmVyIHRvIG9uZSBiaWcgYWxsb2MgZm9yIGVhc3kgZnJlZWlu Zy4gKi8KIAlyZXQgPSBtYWxsb2MoKm51bSAqIHNpemVvZihjaGFyICopICsgbGVuKTsKQEAgLTM0 Miw3ICszNDIsNyBAQAogCQlyZXR1cm4gTlVMTDsKIAogCS8qIENvdW50IHRoZSBzdHJpbmdzOiBl YWNoIG9uZSBwZXJtcyB0aGVuIGRvbWlkLiAqLwotCSpudW0gPSB4c19jb3VudF9zdHJpbmdzKHN0 cmluZ3MsIGxlbik7CisJKm51bSA9IGNvdW50X3N0cmluZ3Moc3RyaW5ncywgbGVuKTsKIAogCS8q IFRyYW5zZmVyIHRvIG9uZSBiaWcgYWxsb2MgZm9yIGVhc3kgZnJlZWluZy4gKi8KIAlyZXQgPSBt YWxsb2MoKm51bSAqIHNpemVvZihzdHJ1Y3QgeHNfcGVybWlzc2lvbnMpKTsKQEAgLTM1MSw3ICsz NTEsNyBAQAogCQlyZXR1cm4gTlVMTDsKIAl9CiAKLQlpZiAoIXhzX3N0cmluZ3NfdG9fcGVybXMo cmV0LCAqbnVtLCBzdHJpbmdzKSkgeworCWlmICghc3RyaW5nc190b19wZXJtcyhyZXQsICpudW0s IHN0cmluZ3MpKSB7CiAJCWZyZWVfbm9fZXJybm8ocmV0KTsKIAkJcmV0ID0gTlVMTDsKIAl9CkBA IC0zNzYsNyArMzc2LDcgQEAKIAlmb3IgKGkgPSAwOyBpIDwgbnVtX3Blcm1zOyBpKyspIHsKIAkJ Y2hhciBidWZmZXJbTUFYX1NUUkxFTihkb21pZF90KSsxXTsKIAotCQlpZiAoIXhzX3Blcm1fdG9f c3RyaW5nKCZwZXJtc1tpXSwgYnVmZmVyKSkKKwkJaWYgKCFwZXJtX3RvX3N0cmluZygmcGVybXNb aV0sIGJ1ZmZlcikpCiAJCQlnb3RvIHVud2luZDsKIAogCQlpb3ZbaSsxXS5pb3ZfYmFzZSA9IHN0 cmR1cChidWZmZXIpOwo9PT09PSB0b29scy94ZW5zdG9yZS94cy5oIDEuMSB2cyBlZGl0ZWQgPT09 PT0KLS0tIDEuMS90b29scy94ZW5zdG9yZS94cy5oCTIwMDUtMDYtMDcgMTk6NTc6MjkgKzA5OjAw CisrKyBlZGl0ZWQvdG9vbHMveGVuc3RvcmUveHMuaAkyMDA1LTA2LTE1IDEzOjIyOjM2ICswOTow MApAQCAtMSw4ICsxLDcgQEAKLSNpZm5kZWYgX1hTX0gKLSNkZWZpbmUgX1hTX0gKIC8qIAogICAg IFhlbiBTdG9yZSBEYWVtb24gcHJvdmlkaW5nIHNpbXBsZSB0cmVlLWxpa2UgZGF0YWJhc2UuCiAg ICAgQ29weXJpZ2h0IChDKSAyMDA1IFJ1c3R5IFJ1c3NlbGwgSUJNIENvcnBvcmF0aW9uCisgICAg TW9kaWZpZXMgMjAwNSBOZ3V5ZW4gQW5oIFF1eW5oIDxhcXV5bmhAZ21haWwuY29tPgogCiAgICAg VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQpAQCAtMTgsOSArMTcsMjYgQEAKICAgICBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQog ICAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24s IE1BICAwMjExMS0xMzA3ICBVU0EKICovCisjaWZuZGVmIF9YU19ICisjZGVmaW5lIF9YU19ICisK KyNpbmNsdWRlIDx4Yy5oPgogCiAvKiBPbiBmYWlsdXJlLCB0aGVzZSByb3V0aW5lcyBzZXQgZXJy bm8uICovCi0jaW5jbHVkZSAieHNfbGliLmgiCitlbnVtIHhzX3Blcm1fdHlwZSB7CisJWFNfUEVS TV9OT05FID0gMCwKKwlYU19QRVJNX1JFQUQgPSAxLAorCVhTX1BFUk1fV1JJVEUgPSAyLAorCS8q IEludGVybmFsIHVzZS4gKi8KKwlYU19QRVJNX0NSRUFURSA9IDQsCisJWFNfUEVSTV9PV05FUiA9 IDgKK307CisKK3N0cnVjdCB4c19wZXJtaXNzaW9ucworeworCWRvbWlkX3QgaWQ7CisJZW51bSB4 c19wZXJtX3R5cGUgcGVybXM7Cit9OwogCiBzdHJ1Y3QgeHNfaGFuZGxlOwogCj09PT09IHRvb2xz L3hlbnN0b3JlL3hzX2xpYi5jIDEuMiB2cyBlZGl0ZWQgPT09PT0KLS0tIDEuMi90b29scy94ZW5z dG9yZS94c19saWIuYwkyMDA1LTA2LTEwIDIyOjQ5OjMyICswOTowMAorKysgZWRpdGVkL3Rvb2xz L3hlbnN0b3JlL3hzX2xpYi5jCTIwMDUtMDYtMTUgMTI6MDY6MDMgKzA5OjAwCkBAIC00OCw3ICs0 OCw3IEBACiB9CiAKIC8qIFNpbXBsZSByb3V0aW5lcyBmb3Igd3JpdGluZyB0byBzb2NrZXRzLCBl dGMuICovCi1ib29sIHhzX3dyaXRlX2FsbChpbnQgZmQsIGNvbnN0IHZvaWQgKmRhdGEsIHVuc2ln bmVkIGludCBsZW4pCitib29sIHdyaXRlX2FsbChpbnQgZmQsIGNvbnN0IHZvaWQgKmRhdGEsIHVu c2lnbmVkIGludCBsZW4pCiB7CiAJd2hpbGUgKGxlbikgewogCQlpbnQgZG9uZTsKQEAgLTY2LDcg KzY2LDcgQEAKIH0KIAogLyogQ29udmVydCBzdHJpbmdzIHRvIHBlcm1pc3Npb25zLiAgRmFsc2Ug aWYgYSBwcm9ibGVtLiAqLwotYm9vbCB4c19zdHJpbmdzX3RvX3Blcm1zKHN0cnVjdCB4c19wZXJt aXNzaW9ucyAqcGVybXMsIHVuc2lnbmVkIGludCBudW0sCitib29sIHN0cmluZ3NfdG9fcGVybXMo c3RydWN0IHhzX3Blcm1pc3Npb25zICpwZXJtcywgdW5zaWduZWQgaW50IG51bSwKIAkJICAgICAg Y29uc3QgY2hhciAqc3RyaW5ncykKIHsKIAljb25zdCBjaGFyICpwOwpAQCAtMTA0LDcgKzEwNCw3 IEBACiB9CiAKIC8qIENvbnZlcnQgcGVybWlzc2lvbnMgdG8gYSBzdHJpbmcgKHVwIHRvIGxlbiBN QVhfU1RSTEVOKGRvbWlkX3QpKzEpLiAqLwotYm9vbCB4c19wZXJtX3RvX3N0cmluZyhjb25zdCBz dHJ1Y3QgeHNfcGVybWlzc2lvbnMgKnBlcm0sIGNoYXIgKmJ1ZmZlcikKK2Jvb2wgcGVybV90b19z dHJpbmcoY29uc3Qgc3RydWN0IHhzX3Blcm1pc3Npb25zICpwZXJtLCBjaGFyICpidWZmZXIpCiB7 CiAJc3dpdGNoIChwZXJtLT5wZXJtcykgewogCWNhc2UgWFNfUEVSTV9XUklURToKQEAgLTEyOCw3 ICsxMjgsNyBAQAogfQogCiAvKiBHaXZlbiBhIHN0cmluZyBhbmQgYSBsZW5ndGgsIGNvdW50IGhv dyBtYW55IHN0cmluZ3MgKG51bCB0ZXJtcykuICovCi11bnNpZ25lZCBpbnQgeHNfY291bnRfc3Ry aW5ncyhjb25zdCBjaGFyICpzdHJpbmdzLCB1bnNpZ25lZCBpbnQgbGVuKQordW5zaWduZWQgaW50 IGNvdW50X3N0cmluZ3MoY29uc3QgY2hhciAqc3RyaW5ncywgdW5zaWduZWQgaW50IGxlbikKIHsK IAl1bnNpZ25lZCBpbnQgbnVtOwogCWNvbnN0IGNoYXIgKnA7Cj09PT09IHRvb2xzL3hlbnN0b3Jl L3hzX2xpYi5oIDEuMiB2cyBlZGl0ZWQgPT09PT0KLS0tIDEuMi90b29scy94ZW5zdG9yZS94c19s aWIuaAkyMDA1LTA2LTEwIDIyOjQ5OjMyICswOTowMAorKysgZWRpdGVkL3Rvb2xzL3hlbnN0b3Jl L3hzX2xpYi5oCTIwMDUtMDYtMTUgMTI6MjI6MDQgKzA5OjAwCkBAIC0xLDUgKzEsMyBAQAotI2lm bmRlZiBfWFJfTElCX0gKLSNkZWZpbmUgX1hSX0xJQl9ICiAvKiAKICAgICBDb21tb24gcm91dGlu ZXMgYmV0d2VlbiBYZW4gc3RvcmUgdXNlciBsaWJyYXJ5IGFuZCBkYWVtb24uCiAgICAgQ29weXJp Z2h0IChDKSAyMDA1IFJ1c3R5IFJ1c3NlbGwgSUJNIENvcnBvcmF0aW9uCkBAIC0xOCwyNiArMTYs MTQgQEAKICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUg RnJlZSBTb2Z0d2FyZQogICAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3Vp dGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKICovCisjaWZuZGVmIF9YU19MSUJf SAorI2RlZmluZSBfWFNfTElCX0gKKwogI2luY2x1ZGUgPHN0ZGJvb2wuaD4KICNpbmNsdWRlIDxs aW1pdHMuaD4KLSNpbmNsdWRlIDx4Yy5oPgorI2luY2x1ZGUgInhzLmgiCiAKIC8qIEJpdG1hc2sg b2YgcGVybWlzc2lvbnMuICovCi1lbnVtIHhzX3Blcm1fdHlwZSB7Ci0JWFNfUEVSTV9OT05FID0g MCwKLQlYU19QRVJNX1JFQUQgPSAxLAotCVhTX1BFUk1fV1JJVEUgPSAyLAotCS8qIEludGVybmFs IHVzZS4gKi8KLQlYU19QRVJNX0NSRUFURSA9IDQsCi0JWFNfUEVSTV9PV05FUiA9IDgsCi19Owot Ci1zdHJ1Y3QgeHNfcGVybWlzc2lvbnMKLXsKLQlkb21pZF90IGlkOwotCWVudW0geHNfcGVybV90 eXBlIHBlcm1zOwotfTsKLQogLyogRWFjaCAxMCBiaXRzIHRha2VzIH4gMyBkaWdpdHMsIHBsdXMg b25lLCBwbHVzIG9uZSBmb3IgbnVsIHRlcm1pbmF0b3IuICovCiAjZGVmaW5lIE1BWF9TVFJMRU4o eCkgKChzaXplb2YoeCkgKiBDSEFSX0JJVCArIENIQVJfQklULTEpIC8gMTAgKiAzICsgMikKIApA QCAtNDgsMTYgKzM0LDE2IEBACiBjb25zdCBjaGFyICp4c19kYWVtb25fdHJhbnNhY3Rpb25zKHZv aWQpOwogCiAvKiBTaW1wbGUgd3JpdGUgZnVuY3Rpb246IGxvb3BzIGZvciB5b3UuICovCi1ib29s IHhzX3dyaXRlX2FsbChpbnQgZmQsIGNvbnN0IHZvaWQgKmRhdGEsIHVuc2lnbmVkIGludCBsZW4p OworYm9vbCB3cml0ZV9hbGwoaW50IGZkLCBjb25zdCB2b2lkICpkYXRhLCB1bnNpZ25lZCBpbnQg bGVuKTsKIAogLyogQ29udmVydCBzdHJpbmdzIHRvIHBlcm1pc3Npb25zLiAgRmFsc2UgaWYgYSBw cm9ibGVtLiAqLwotYm9vbCB4c19zdHJpbmdzX3RvX3Blcm1zKHN0cnVjdCB4c19wZXJtaXNzaW9u cyAqcGVybXMsIHVuc2lnbmVkIGludCBudW0sCitib29sIHN0cmluZ3NfdG9fcGVybXMoc3RydWN0 IHhzX3Blcm1pc3Npb25zICpwZXJtcywgdW5zaWduZWQgaW50IG51bSwKIAkJICAgICAgY29uc3Qg Y2hhciAqc3RyaW5ncyk7CiAKIC8qIENvbnZlcnQgcGVybWlzc2lvbnMgdG8gYSBzdHJpbmcgKHVw IHRvIGxlbiBNQVhfU1RSTEVOKGRvbWlkX3QpKzEpLiAqLwotYm9vbCB4c19wZXJtX3RvX3N0cmlu Zyhjb25zdCBzdHJ1Y3QgeHNfcGVybWlzc2lvbnMgKnBlcm0sIGNoYXIgKmJ1ZmZlcik7Citib29s IHBlcm1fdG9fc3RyaW5nKGNvbnN0IHN0cnVjdCB4c19wZXJtaXNzaW9ucyAqcGVybSwgY2hhciAq YnVmZmVyKTsKIAogLyogR2l2ZW4gYSBzdHJpbmcgYW5kIGEgbGVuZ3RoLCBjb3VudCBob3cgbWFu eSBzdHJpbmdzIChudWwgdGVybXMpLiAqLwotdW5zaWduZWQgaW50IHhzX2NvdW50X3N0cmluZ3Mo Y29uc3QgY2hhciAqc3RyaW5ncywgdW5zaWduZWQgaW50IGxlbik7Cit1bnNpZ25lZCBpbnQgY291 bnRfc3RyaW5ncyhjb25zdCBjaGFyICpzdHJpbmdzLCB1bnNpZ25lZCBpbnQgbGVuKTsKIAogI2Vu ZGlmIC8qIF9YU19MSUJfSCAqLwo9PT09PSB0b29scy94ZW5zdG9yZS94c19yYW5kb20uYyAxLjIg dnMgZWRpdGVkID09PT09Ci0tLSAxLjIvdG9vbHMveGVuc3RvcmUveHNfcmFuZG9tLmMJMjAwNS0w Ni0xMCAyMjo0OTozMiArMDk6MDAKKysrIGVkaXRlZC90b29scy94ZW5zdG9yZS94c19yYW5kb20u YwkyMDA1LTA2LTE1IDEyOjA2OjAzICswOTowMApAQCAtMjIzLDEwICsyMjMsMTAgQEAKIAkJcmVs ZWFzZV9maWxlKHBlcm1zLCBzaXplKTsKIAkJcmV0dXJuIHJldDsKIAl9Ci0JKm51bSA9IHhzX2Nv dW50X3N0cmluZ3MocGVybXMsIHNpemUpOworCSpudW0gPSBjb3VudF9zdHJpbmdzKHBlcm1zLCBz aXplKTsKIAogCXJldCA9IG5ld19hcnJheShzdHJ1Y3QgeHNfcGVybWlzc2lvbnMsICpudW0pOwot CWlmICgheHNfc3RyaW5nc190b19wZXJtcyhyZXQsICpudW0sIHBlcm1zKSkKKwlpZiAoIXN0cmlu Z3NfdG9fcGVybXMocmV0LCAqbnVtLCBwZXJtcykpCiAJCWJhcmYoIlJlYWRpbmcgcGVybWlzc2lv bnMgZnJvbSAlcyIsIHBlcm1maWxlKTsKIAlyZWxlYXNlX2ZpbGUocGVybXMsIHNpemUpOwogCXJl dHVybiByZXQ7CkBAIC0yNjcsNyArMjY3LDcgQEAKIAlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKysp IHsKIAkJY2hhciBidWZmZXJbMTAwXTsKIAotCQlpZiAoIXhzX3Blcm1fdG9fc3RyaW5nKCZwZXJt c1tpXSwgYnVmZmVyKSkgeworCQlpZiAoIXBlcm1fdG9fc3RyaW5nKCZwZXJtc1tpXSwgYnVmZmVy KSkgewogCQkJaW50IHNhdmVkX2Vycm5vID0gZXJybm87CiAJCQljbG9zZShmZCk7CiAJCQllcnJu byA9IHNhdmVkX2Vycm5vOwpAQCAtNTM2LDcgKzUzNiw3IEBACiAJCXJldCA9IHRhbGxvY19hc3By aW50Zl9hcHBlbmQocmV0LCAiJXMlczogIiwgc3BhY2luZywgZGlyW2ldKTsKIAkJZm9yIChqID0g MDsgaiA8IG51bXBlcm1zOyBqKyspIHsKIAkJCWNoYXIgYnVmZmVyWzEwMF07Ci0JCQlpZiAoIXhz X3Blcm1fdG9fc3RyaW5nKCZwZXJtc1tqXSwgYnVmZmVyKSkKKwkJCWlmICghcGVybV90b19zdHJp bmcoJnBlcm1zW2pdLCBidWZmZXIpKQogCQkJCWJhcmYoInBlcm0gdG8gc3RyaW5nIik7CiAJCQly ZXQgPSB0YWxsb2NfYXNwcmludGZfYXBwZW5kKHJldCwgIiVzICIsIGJ1ZmZlcik7CiAJCX0KPT09 PT0gdG9vbHMveGVuc3RvcmUveHNfdGVzdC5jIDEuMyB2cyBlZGl0ZWQgPT09PT0KLS0tIDEuMy90 b29scy94ZW5zdG9yZS94c190ZXN0LmMJMjAwNS0wNi0xMSAwMDoxNzo1OSArMDk6MDAKKysrIGVk aXRlZC90b29scy94ZW5zdG9yZS94c190ZXN0LmMJMjAwNS0wNi0xNSAxMjowNToxNSArMDk6MDAK QEAgLTE1Myw3ICsxNTMsNyBAQAogewogCWlmIChmZCA9PSAtMikKIAkJcmV0dXJuIHdyaXRlX2Fs bF9zaG1lbShmZCwgZGF0YSwgbGVuKTsKLQlyZXR1cm4geHNfd3JpdGVfYWxsKGZkLCBkYXRhLCBs ZW4pOworCXJldHVybiB3cml0ZV9hbGwoZmQsIGRhdGEsIGxlbik7CiB9CiAKIC8qIFdlIHdhbnQg YWNjZXNzIHRvIGludGVybmFsIGZ1bmN0aW9ucy4gKi8KQEAgLTQ5MSw3ICs0OTEsNyBAQAogCQlw cmludGYoIiVzJXM6ICIsIHNwYWNpbmcsIGRpcltpXSk7CiAJCWZvciAoaiA9IDA7IGogPCBudW1w ZXJtczsgaisrKSB7CiAJCQljaGFyIGJ1ZmZlclsxMDBdOwotCQkJaWYgKCF4c19wZXJtX3RvX3N0 cmluZygmcGVybXNbal0sIGJ1ZmZlcikpCisJCQlpZiAoIXBlcm1fdG9fc3RyaW5nKCZwZXJtc1tq XSwgYnVmZmVyKSkKIAkJCQliYXJmKCJwZXJtIHRvIHN0cmluZyIpOwogCQkJcHJpbnRmKCIlcyAi LCBidWZmZXIpOwogCQl9Cg== ------=_Part_305_28817928.1118811018777 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ------=_Part_305_28817928.1118811018777--