From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH] [UPDATE v2] secondary consoles in minos Date: Wed, 17 Jun 2009 13:45:27 +0100 Message-ID: <4A38E567.2030104@eu.citrix.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------070401080007030505000100" 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: xen-devel List-Id: xen-devel@lists.xenproject.org --------------070401080007030505000100 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Hi all, this is the new version of the patch "secondary consoles in minos": minios is now exporting a standard compliant posix_openpt function instead of the non-standard openpty(void). Signed-off-by: Stefano Stabellini --------------070401080007030505000100 Content-Type: text/plain; name="sec_console_minios" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="sec_console_minios" ZGlmZiAtciA4YTcyYzA3NWJiYzggZXh0cmFzL21pbmktb3MvY29uc29sZS9jb25zb2xlLmMK LS0tIGEvZXh0cmFzL21pbmktb3MvY29uc29sZS9jb25zb2xlLmMJVHVlIEp1biAxNiAxODox OToxNSAyMDA5ICswMTAwCisrKyBiL2V4dHJhcy9taW5pLW9zL2NvbnNvbGUvY29uc29sZS5j CVdlZCBKdW4gMTcgMTM6MzU6MTEgMjAwOSArMDEwMApAQCAtNzYsMTEgKzc2LDExIEBACiAj ZW5kaWYKIAogCi12b2lkIGNvbnNvbGVfcHJpbnQoY2hhciAqZGF0YSwgaW50IGxlbmd0aCkK K3ZvaWQgY29uc29sZV9wcmludChzdHJ1Y3QgY29uc2Zyb250X2RldiAqZGV2LCBjaGFyICpk YXRhLCBpbnQgbGVuZ3RoKQogewogICAgIGNoYXIgKmN1cnJfY2hhciwgc2F2ZWRfY2hhcjsK ICAgICBpbnQgcGFydF9sZW47Ci0gICAgaW50ICgqcmluZ19zZW5kX2ZuKShjb25zdCBjaGFy ICpkYXRhLCB1bnNpZ25lZCBsZW5ndGgpOworICAgIGludCAoKnJpbmdfc2VuZF9mbikoc3Ry dWN0IGNvbnNmcm9udF9kZXYgKmRldiwgY29uc3QgY2hhciAqZGF0YSwgdW5zaWduZWQgbGVu Z3RoKTsKIAogICAgIGlmKCFjb25zb2xlX2luaXRpYWxpc2VkKQogICAgICAgICByaW5nX3Nl bmRfZm4gPSB4ZW5jb25zX3Jpbmdfc2VuZF9ub19ub3RpZnk7CkBAIC05NCwxNyArOTQsMTcg QEAKICAgICAgICAgICAgIHNhdmVkX2NoYXIgPSAqKGN1cnJfY2hhcisxKTsKICAgICAgICAg ICAgICooY3Vycl9jaGFyKzEpID0gJ1xyJzsKICAgICAgICAgICAgIHBhcnRfbGVuID0gY3Vy cl9jaGFyIC0gZGF0YSArIDI7Ci0gICAgICAgICAgICByaW5nX3NlbmRfZm4oZGF0YSwgcGFy dF9sZW4pOworICAgICAgICAgICAgcmluZ19zZW5kX2ZuKGRldiwgZGF0YSwgcGFydF9sZW4p OwogICAgICAgICAgICAgKihjdXJyX2NoYXIrMSkgPSBzYXZlZF9jaGFyOwogICAgICAgICAg ICAgZGF0YSA9IGN1cnJfY2hhcisxOwogICAgICAgICAgICAgbGVuZ3RoIC09IHBhcnRfbGVu IC0gMTsKICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICByaW5nX3NlbmRfZm4oZGF0YSwg bGVuZ3RoKTsKKyAgICByaW5nX3NlbmRfZm4oZGV2LCBkYXRhLCBsZW5ndGgpOwogICAgIAog ICAgIGlmKGRhdGFbbGVuZ3RoLTFdID09ICdcbicpCi0gICAgICAgIHJpbmdfc2VuZF9mbigi XHIiLCAxKTsKKyAgICAgICAgcmluZ19zZW5kX2ZuKGRldiwgIlxyIiwgMSk7CiB9CiAKIHZv aWQgcHJpbnQoaW50IGRpcmVjdCwgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFyZ3MpCkBA IC0xMjMsNyArMTIzLDcgQEAKICNlbmRpZiAgICAKICAgICAgICAgICAgICh2b2lkKUhZUEVS VklTT1JfY29uc29sZV9pbyhDT05TT0xFSU9fd3JpdGUsIHN0cmxlbihidWYpLCBidWYpOwog ICAgICAgICAKLSAgICAgICAgY29uc29sZV9wcmludChidWYsIHN0cmxlbihidWYpKTsKKyAg ICAgICAgY29uc29sZV9wcmludChOVUxMLCBidWYsIHN0cmxlbihidWYpKTsKICAgICB9CiB9 CiAKQEAgLTE1MSw3ICsxNTEsNyBAQAogICAgIHByaW50aygiZG9uZS5cbiIpOwogfQogCi12 b2lkIGZpbmlfY29uc29sZSh2b2lkKQordm9pZCBmaW5pX2NvbnNvbGUoc3RydWN0IGNvbnNm cm9udF9kZXYgKmRldikKIHsKLSAgICAvKiBEZXN0cnVjdCB0aGUgY29uc29sZSBhbmQgZ2V0 IHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSByZXN0YXJ0ZWQgb25lICovCisgICAgaWYgKGRldikg ZnJlZV9jb25zZnJvbnQoZGV2KTsKIH0KZGlmZiAtciA4YTcyYzA3NWJiYzggZXh0cmFzL21p bmktb3MvY29uc29sZS94ZW5jb25zX3JpbmcuYwotLS0gYS9leHRyYXMvbWluaS1vcy9jb25z b2xlL3hlbmNvbnNfcmluZy5jCVR1ZSBKdW4gMTYgMTg6MTk6MTUgMjAwOSArMDEwMAorKysg Yi9leHRyYXMvbWluaS1vcy9jb25zb2xlL3hlbmNvbnNfcmluZy5jCVdlZCBKdW4gMTcgMTM6 MzU6MTEgMjAwOSArMDEwMApAQCAtNywyNSArNywzOCBAQAogI2luY2x1ZGUgPGxpYi5oPgog I2luY2x1ZGUgPHhlbmJ1cy5oPgogI2luY2x1ZGUgPHhlbi9pby9jb25zb2xlLmg+CisjaW5j bHVkZSA8eGVuL2lvL3Byb3RvY29scy5oPgorI2luY2x1ZGUgPHhlbi9pby9yaW5nLmg+Cisj aW5jbHVkZSA8eG1hbGxvYy5oPgorI2luY2x1ZGUgPGdudHRhYi5oPgogCiBERUNMQVJFX1dB SVRfUVVFVUVfSEVBRChjb25zb2xlX3F1ZXVlKTsKKworc3RhdGljIGlubGluZSB2b2lkIG5v dGlmeV9kYWVtb24oc3RydWN0IGNvbnNmcm9udF9kZXYgKmRldikKK3sKKyAgICAvKiBVc2Ug ZXZ0Y2huOiB0aGlzIGlzIGNhbGxlZCBlYXJseSwgYmVmb3JlIGlycSBpcyBzZXQgdXAuICov CisgICAgaWYgKCFkZXYpCisgICAgICAgIG5vdGlmeV9yZW1vdGVfdmlhX2V2dGNobihzdGFy dF9pbmZvLmNvbnNvbGUuZG9tVS5ldnRjaG4pOworICAgIGVsc2UKKyAgICAgICAgbm90aWZ5 X3JlbW90ZV92aWFfZXZ0Y2huKGRldi0+ZXZ0Y2huKTsKK30KIAogc3RhdGljIGlubGluZSBz dHJ1Y3QgeGVuY29uc19pbnRlcmZhY2UgKnhlbmNvbnNfaW50ZXJmYWNlKHZvaWQpCiB7CiAg ICAgcmV0dXJuIG1mbl90b192aXJ0KHN0YXJ0X2luZm8uY29uc29sZS5kb21VLm1mbik7Ci19 Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBub3RpZnlfZGFlbW9uKHZvaWQpCi17Ci0gICAgLyog VXNlIGV2dGNobjogdGhpcyBpcyBjYWxsZWQgZWFybHksIGJlZm9yZSBpcnEgaXMgc2V0IHVw LiAqLwotICAgIG5vdGlmeV9yZW1vdGVfdmlhX2V2dGNobihzdGFydF9pbmZvLmNvbnNvbGUu ZG9tVS5ldnRjaG4pOwotfQotCi1pbnQgeGVuY29uc19yaW5nX3NlbmRfbm9fbm90aWZ5KGNv bnN0IGNoYXIgKmRhdGEsIHVuc2lnbmVkIGxlbikKK30gCisgCitpbnQgeGVuY29uc19yaW5n X3NlbmRfbm9fbm90aWZ5KHN0cnVjdCBjb25zZnJvbnRfZGV2ICpkZXYsIGNvbnN0IGNoYXIg KmRhdGEsIHVuc2lnbmVkIGxlbikKIHsJCiAgICAgaW50IHNlbnQgPSAwOwotCXN0cnVjdCB4 ZW5jb25zX2ludGVyZmFjZSAqaW50ZiA9IHhlbmNvbnNfaW50ZXJmYWNlKCk7CisJc3RydWN0 IHhlbmNvbnNfaW50ZXJmYWNlICppbnRmOwogCVhFTkNPTlNfUklOR19JRFggY29ucywgcHJv ZDsKKworCWlmICghZGV2KQorICAgICAgICAgICAgaW50ZiA9IHhlbmNvbnNfaW50ZXJmYWNl KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGludGYgPSBkZXYtPnJpbmc7CisKIAlj b25zID0gaW50Zi0+b3V0X2NvbnM7CiAJcHJvZCA9IGludGYtPm91dF9wcm9kOwogCW1iKCk7 CkBAIC00MCwyMCArNTMsMjcgQEAKICAgICByZXR1cm4gc2VudDsKIH0KIAotaW50IHhlbmNv bnNfcmluZ19zZW5kKGNvbnN0IGNoYXIgKmRhdGEsIHVuc2lnbmVkIGxlbikKK2ludCB4ZW5j b25zX3Jpbmdfc2VuZChzdHJ1Y3QgY29uc2Zyb250X2RldiAqZGV2LCBjb25zdCBjaGFyICpk YXRhLCB1bnNpZ25lZCBsZW4pCiB7CiAgICAgaW50IHNlbnQ7Ci0gICAgc2VudCA9IHhlbmNv bnNfcmluZ19zZW5kX25vX25vdGlmeShkYXRhLCBsZW4pOwotCW5vdGlmeV9kYWVtb24oKTsK IAotCXJldHVybiBzZW50OworICAgIHNlbnQgPSB4ZW5jb25zX3Jpbmdfc2VuZF9ub19ub3Rp ZnkoZGV2LCBkYXRhLCBsZW4pOworICAgIG5vdGlmeV9kYWVtb24oZGV2KTsKKworICAgIHJl dHVybiBzZW50OwogfQkKIAogCiAKLXN0YXRpYyB2b2lkIGhhbmRsZV9pbnB1dChldnRjaG5f cG9ydF90IHBvcnQsIHN0cnVjdCBwdF9yZWdzICpyZWdzLCB2b2lkICppZ24pCitzdGF0aWMg dm9pZCBoYW5kbGVfaW5wdXQoZXZ0Y2huX3BvcnRfdCBwb3J0LCBzdHJ1Y3QgcHRfcmVncyAq cmVncywgdm9pZCAqZGF0YSkKIHsKICNpZmRlZiBIQVZFX0xJQkMKKwlzdHJ1Y3QgY29uc2Zy b250X2RldiAqZGV2ID0gKHN0cnVjdCBjb25zZnJvbnRfZGV2ICopIGRhdGE7CisgICAgICAg IGludCBmZCA9IGRldiA/IGRldi0+ZmQgOiAtMTsKKworICAgICAgICBpZiAoZmQgIT0gLTEp CisgICAgICAgICAgICBmaWxlc1tmZF0ucmVhZCA9IDE7CisKICAgICAgICAgd2FrZV91cCgm Y29uc29sZV9xdWV1ZSk7CiAjZWxzZQogCXN0cnVjdCB4ZW5jb25zX2ludGVyZmFjZSAqaW50 ZiA9IHhlbmNvbnNfaW50ZXJmYWNlKCk7CkBAIC03MiwxNyArOTIsMjIgQEAKIAltYigpOwog CWludGYtPmluX2NvbnMgPSBjb25zOwogCi0Jbm90aWZ5X2RhZW1vbigpOworCW5vdGlmeV9k YWVtb24oZGV2KTsKIAogCXhlbmNvbnNfdHgoKTsKICNlbmRpZgogfQogCiAjaWZkZWYgSEFW RV9MSUJDCi1pbnQgeGVuY29uc19yaW5nX2F2YWlsKHZvaWQpCitpbnQgeGVuY29uc19yaW5n X2F2YWlsKHN0cnVjdCBjb25zZnJvbnRfZGV2ICpkZXYpCiB7Ci0Jc3RydWN0IHhlbmNvbnNf aW50ZXJmYWNlICppbnRmID0geGVuY29uc19pbnRlcmZhY2UoKTsKKwlzdHJ1Y3QgeGVuY29u c19pbnRlcmZhY2UgKmludGY7CiAJWEVOQ09OU19SSU5HX0lEWCBjb25zLCBwcm9kOworCisg ICAgICAgIGlmICghZGV2KQorICAgICAgICAgICAgaW50ZiA9IHhlbmNvbnNfaW50ZXJmYWNl KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGludGYgPSBkZXYtPnJpbmc7CiAKIAlj b25zID0gaW50Zi0+aW5fY29uczsKIAlwcm9kID0gaW50Zi0+aW5fcHJvZDsKQEAgLTkyLDEx ICsxMTcsMTYgQEAKICAgICAgICAgcmV0dXJuIHByb2QgLSBjb25zOwogfQogCi1pbnQgeGVu Y29uc19yaW5nX3JlY3YoY2hhciAqZGF0YSwgdW5zaWduZWQgbGVuKQoraW50IHhlbmNvbnNf cmluZ19yZWN2KHN0cnVjdCBjb25zZnJvbnRfZGV2ICpkZXYsIGNoYXIgKmRhdGEsIHVuc2ln bmVkIGxlbikKIHsKLQlzdHJ1Y3QgeGVuY29uc19pbnRlcmZhY2UgKmludGYgPSB4ZW5jb25z X2ludGVyZmFjZSgpOworCXN0cnVjdCB4ZW5jb25zX2ludGVyZmFjZSAqaW50ZjsKIAlYRU5D T05TX1JJTkdfSURYIGNvbnMsIHByb2Q7CiAgICAgICAgIHVuc2lnbmVkIGZpbGxlZCA9IDA7 CisKKyAgICAgICAgaWYgKCFkZXYpCisgICAgICAgICAgICBpbnRmID0geGVuY29uc19pbnRl cmZhY2UoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaW50ZiA9IGRldi0+cmluZzsK IAogCWNvbnMgPSBpbnRmLT5pbl9jb25zOwogCXByb2QgPSBpbnRmLT5pbl9wcm9kOwpAQCAt MTExLDMxICsxNDEsMTkwIEBACiAJbWIoKTsKICAgICAgICAgaW50Zi0+aW5fY29ucyA9IGNv bnMgKyBmaWxsZWQ7CiAKLQlub3RpZnlfZGFlbW9uKCk7CisJbm90aWZ5X2RhZW1vbihkZXYp OwogCiAgICAgICAgIHJldHVybiBmaWxsZWQ7CiB9CiAjZW5kaWYKIAotaW50IHhlbmNvbnNf cmluZ19pbml0KHZvaWQpCitzdHJ1Y3QgY29uc2Zyb250X2RldiAqeGVuY29uc19yaW5nX2lu aXQodm9pZCkKIHsKIAlpbnQgZXJyOworCXN0cnVjdCBjb25zZnJvbnRfZGV2ICpkZXY7CiAK IAlpZiAoIXN0YXJ0X2luZm8uY29uc29sZS5kb21VLmV2dGNobikKIAkJcmV0dXJuIDA7CiAK LQllcnIgPSBiaW5kX2V2dGNobihzdGFydF9pbmZvLmNvbnNvbGUuZG9tVS5ldnRjaG4sIGhh bmRsZV9pbnB1dCwKLQkJCSAgTlVMTCk7CisJZGV2ID0gbWFsbG9jKHNpemVvZihzdHJ1Y3Qg Y29uc2Zyb250X2RldikpOworCW1lbXNldChkZXYsIDAsIHNpemVvZihzdHJ1Y3QgY29uc2Zy b250X2RldikpOworCWRldi0+bm9kZW5hbWUgPSAiZGV2aWNlL2NvbnNvbGUiOworCWRldi0+ ZG9tID0gMDsKKwlkZXYtPmJhY2tlbmQgPSAwOworCWRldi0+cmluZ19yZWYgPSAwOworCisj aWZkZWYgSEFWRV9MSUJDCisJZGV2LT5mZCA9IC0xOworI2VuZGlmCisJZGV2LT5ldnRjaG4g PSBzdGFydF9pbmZvLmNvbnNvbGUuZG9tVS5ldnRjaG47CisJZGV2LT5yaW5nID0gKHN0cnVj dCB4ZW5jb25zX2ludGVyZmFjZSAqKSBtZm5fdG9fdmlydChzdGFydF9pbmZvLmNvbnNvbGUu ZG9tVS5tZm4pOworCisJZXJyID0gYmluZF9ldnRjaG4oZGV2LT5ldnRjaG4sIGhhbmRsZV9p bnB1dCwgZGV2KTsKIAlpZiAoZXJyIDw9IDApIHsKIAkJcHJpbnRrKCJYRU4gY29uc29sZSBy ZXF1ZXN0IGNobiBiaW5kIGZhaWxlZCAlaVxuIiwgZXJyKTsKLQkJcmV0dXJuIGVycjsKKyAg ICAgICAgICAgICAgICBmcmVlKGRldik7CisJCXJldHVybiBOVUxMOwogCX0KLSAgICAgICAg dW5tYXNrX2V2dGNobihzdGFydF9pbmZvLmNvbnNvbGUuZG9tVS5ldnRjaG4pOworICAgICAg ICB1bm1hc2tfZXZ0Y2huKGRldi0+ZXZ0Y2huKTsKIAogCS8qIEluIGNhc2Ugd2UgaGF2ZSBp bi1mbGlnaHQgZGF0YSBhZnRlciBzYXZlL3Jlc3RvcmUuLi4gKi8KLQlub3RpZnlfZGFlbW9u KCk7CisJbm90aWZ5X2RhZW1vbihkZXYpOwogCi0JcmV0dXJuIDA7CisJcmV0dXJuIGRldjsK K30KKwordm9pZCBmcmVlX2NvbnNmcm9udChzdHJ1Y3QgY29uc2Zyb250X2RldiAqZGV2KQor eworICAgIG1hc2tfZXZ0Y2huKGRldi0+ZXZ0Y2huKTsKKworICAgIGZyZWUoZGV2LT5iYWNr ZW5kKTsKKworICAgIGdudHRhYl9lbmRfYWNjZXNzKGRldi0+cmluZ19yZWYpOworICAgIGZy ZWVfcGFnZShkZXYtPnJpbmcpOworCisgICAgdW5iaW5kX2V2dGNobihkZXYtPmV2dGNobik7 CisKKyAgICBmcmVlKGRldi0+bm9kZW5hbWUpOworICAgIGZyZWUoZGV2KTsKK30KKworc3Ry dWN0IGNvbnNmcm9udF9kZXYgKmluaXRfY29uc2Zyb250KGNoYXIgKl9ub2RlbmFtZSkKK3sK KyAgICB4ZW5idXNfdHJhbnNhY3Rpb25fdCB4YnQ7CisgICAgY2hhciogZXJyOworICAgIGNo YXIqIG1lc3NhZ2U9TlVMTDsKKyAgICBpbnQgcmV0cnk9MDsKKyAgICBjaGFyKiBtc2c7Cisg ICAgY2hhciBub2RlbmFtZVsyNTZdOworICAgIGNoYXIgcGF0aFsyNTZdOworICAgIHN0YXRp YyBpbnQgY29uc2Zyb250ZW5kcyA9IDE7CisgICAgc3RydWN0IGNvbnNmcm9udF9kZXYgKmRl djsKKyAgICBpbnQgcmVzOworCisgICAgaWYgKCFfbm9kZW5hbWUpCisgICAgICAgIHNucHJp bnRmKG5vZGVuYW1lLCBzaXplb2Yobm9kZW5hbWUpLCAiZGV2aWNlL2NvbnNvbGUvJWQiLCBj b25zZnJvbnRlbmRzKTsKKyAgICBlbHNlCisgICAgICAgIHN0cm5jcHkobm9kZW5hbWUsIF9u b2RlbmFtZSwgc2l6ZW9mKG5vZGVuYW1lKSk7CisKKyAgICBwcmludGsoIioqKioqKioqKioq KioqKioqKiogQ09OU0ZST05UIGZvciAlcyAqKioqKioqKioqXG5cblxuIiwgbm9kZW5hbWUp OworCisgICAgY29uc2Zyb250ZW5kcysrOworICAgIGRldiA9IG1hbGxvYyhzaXplb2YoKmRl dikpOworICAgIG1lbXNldChkZXYsIDAsIHNpemVvZigqZGV2KSk7CisgICAgZGV2LT5ub2Rl bmFtZSA9IHN0cmR1cChub2RlbmFtZSk7CisjaWZkZWYgSEFWRV9MSUJDCisgICAgZGV2LT5m ZCA9IC0xOworI2VuZGlmCisKKyAgICBzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICIl cy9iYWNrZW5kLWlkIiwgbm9kZW5hbWUpOworICAgIGlmICgocmVzID0geGVuYnVzX3JlYWRf aW50ZWdlcihwYXRoKSkgPCAwKSAKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgZWxzZQor ICAgICAgICBkZXYtPmRvbSA9IHJlczsKKyAgICBldnRjaG5fYWxsb2NfdW5ib3VuZChkZXYt PmRvbSwgaGFuZGxlX2lucHV0LCBkZXYsICZkZXYtPmV2dGNobik7CisKKyAgICBkZXYtPnJp bmcgPSAoc3RydWN0IHhlbmNvbnNfaW50ZXJmYWNlICopIGFsbG9jX3BhZ2UoKTsKKyAgICBt ZW1zZXQoZGV2LT5yaW5nLCAwLCBQQUdFX1NJWkUpOworICAgIGRldi0+cmluZ19yZWYgPSBn bnR0YWJfZ3JhbnRfYWNjZXNzKGRldi0+ZG9tLCB2aXJ0X3RvX21mbihkZXYtPnJpbmcpLCAw KTsKKworICAgIGRldi0+ZXZlbnRzID0gTlVMTDsKKworYWdhaW46CisgICAgZXJyID0geGVu YnVzX3RyYW5zYWN0aW9uX3N0YXJ0KCZ4YnQpOworICAgIGlmIChlcnIpIHsKKyAgICAgICAg cHJpbnRrKCJzdGFydGluZyB0cmFuc2FjdGlvblxuIik7CisgICAgfQorCisgICAgZXJyID0g eGVuYnVzX3ByaW50Zih4YnQsIG5vZGVuYW1lLCAicmluZy1yZWYiLCIldSIsCisgICAgICAg ICAgICAgICAgZGV2LT5yaW5nX3JlZik7CisgICAgaWYgKGVycikgeworICAgICAgICBtZXNz YWdlID0gIndyaXRpbmcgcmluZy1yZWYiOworICAgICAgICBnb3RvIGFib3J0X3RyYW5zYWN0 aW9uOworICAgIH0KKyAgICBlcnIgPSB4ZW5idXNfcHJpbnRmKHhidCwgbm9kZW5hbWUsCisg ICAgICAgICAgICAgICAgInBvcnQiLCAiJXUiLCBkZXYtPmV2dGNobik7CisgICAgaWYgKGVy cikgeworICAgICAgICBtZXNzYWdlID0gIndyaXRpbmcgZXZlbnQtY2hhbm5lbCI7CisgICAg ICAgIGdvdG8gYWJvcnRfdHJhbnNhY3Rpb247CisgICAgfQorICAgIGVyciA9IHhlbmJ1c19w cmludGYoeGJ0LCBub2RlbmFtZSwKKyAgICAgICAgICAgICAgICAicHJvdG9jb2wiLCAiJXMi LCBYRU5fSU9fUFJPVE9fQUJJX05BVElWRSk7CisgICAgaWYgKGVycikgeworICAgICAgICBt ZXNzYWdlID0gIndyaXRpbmcgcHJvdG9jb2wiOworICAgICAgICBnb3RvIGFib3J0X3RyYW5z YWN0aW9uOworICAgIH0KKworICAgIGVyciA9IHhlbmJ1c19wcmludGYoeGJ0LCBub2RlbmFt ZSwgInR5cGUiLCAiJXMiLCAiaW9lbXUiKTsKKyAgICBpZiAoZXJyKSB7CisgICAgICAgIG1l c3NhZ2UgPSAid3JpdGluZyB0eXBlIjsKKyAgICAgICAgZ290byBhYm9ydF90cmFuc2FjdGlv bjsKKyAgICB9CisKKyAgICBzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICIlcy9zdGF0 ZSIsIG5vZGVuYW1lKTsKKyAgICBlcnIgPSB4ZW5idXNfc3dpdGNoX3N0YXRlKHhidCwgcGF0 aCwgWGVuYnVzU3RhdGVDb25uZWN0ZWQpOworICAgIGlmIChlcnIpIHsKKyAgICAgICAgbWVz c2FnZSA9ICJzd2l0Y2hpbmcgc3RhdGUiOworICAgICAgICBnb3RvIGFib3J0X3RyYW5zYWN0 aW9uOworICAgIH0KKworCisgICAgZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQs IDAsICZyZXRyeSk7CisgICAgaWYgKHJldHJ5KSB7CisgICAgICAgICAgICBnb3RvIGFnYWlu OworICAgICAgICBwcmludGsoImNvbXBsZXRpbmcgdHJhbnNhY3Rpb25cbiIpOworICAgIH0K KworICAgIGdvdG8gZG9uZTsKKworYWJvcnRfdHJhbnNhY3Rpb246CisgICAgeGVuYnVzX3Ry YW5zYWN0aW9uX2VuZCh4YnQsIDEsICZyZXRyeSk7CisgICAgZ290byBlcnJvcjsKKworZG9u ZToKKworICAgIHNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIiVzL2JhY2tlbmQiLCBu b2RlbmFtZSk7CisgICAgbXNnID0geGVuYnVzX3JlYWQoWEJUX05JTCwgcGF0aCwgJmRldi0+ YmFja2VuZCk7CisgICAgaWYgKG1zZykgeworICAgICAgICBwcmludGsoIkVycm9yICVzIHdo ZW4gcmVhZGluZyB0aGUgYmFja2VuZCBwYXRoICVzXG4iLCBtc2csIHBhdGgpOworICAgICAg ICBnb3RvIGVycm9yOworICAgIH0KKworICAgIHByaW50aygiYmFja2VuZCBhdCAlc1xuIiwg ZGV2LT5iYWNrZW5kKTsKKworICAgIHsKKyAgICAgICAgWGVuYnVzU3RhdGUgc3RhdGU7Cisg ICAgICAgIGNoYXIgcGF0aFtzdHJsZW4oZGV2LT5iYWNrZW5kKSArIDEgKyAxOSArIDFdOwor ICAgICAgICBzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICIlcy9zdGF0ZSIsIGRldi0+ YmFja2VuZCk7CisgICAgICAgIAorCXhlbmJ1c193YXRjaF9wYXRoX3Rva2VuKFhCVF9OSUws IHBhdGgsIHBhdGgsICZkZXYtPmV2ZW50cyk7CisgICAgICAgIG1zZyA9IE5VTEw7CisgICAg ICAgIHN0YXRlID0geGVuYnVzX3JlYWRfaW50ZWdlcihwYXRoKTsKKyAgICAgICAgd2hpbGUg KG1zZyA9PSBOVUxMICYmIHN0YXRlIDwgWGVuYnVzU3RhdGVDb25uZWN0ZWQpCisgICAgICAg ICAgICBtc2cgPSB4ZW5idXNfd2FpdF9mb3Jfc3RhdGVfY2hhbmdlKHBhdGgsICZzdGF0ZSwg JmRldi0+ZXZlbnRzKTsKKyAgICAgICAgaWYgKG1zZyAhPSBOVUxMIHx8IHN0YXRlICE9IFhl bmJ1c1N0YXRlQ29ubmVjdGVkKSB7CisgICAgICAgICAgICBwcmludGsoImJhY2tlbmQgbm90 IGF2YWlsYWJsZSwgc3RhdGU9JWRcbiIsIHN0YXRlKTsKKyAgICAgICAgICAgIHhlbmJ1c191 bndhdGNoX3BhdGgoWEJUX05JTCwgcGF0aCk7CisgICAgICAgICAgICBnb3RvIGVycm9yOwor ICAgICAgICB9CisgICAgfQorICAgIHVubWFza19ldnRjaG4oZGV2LT5ldnRjaG4pOworCisg ICAgcHJpbnRrKCIqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIik7CisKKyAgICByZXR1 cm4gZGV2OworCitlcnJvcjoKKyAgICBmcmVlX2NvbnNmcm9udChkZXYpOworICAgIHJldHVy biBOVUxMOwogfQogCiB2b2lkIHhlbmNvbnNfcmVzdW1lKHZvaWQpCmRpZmYgLXIgOGE3MmMw NzViYmM4IGV4dHJhcy9taW5pLW9zL2luY2x1ZGUvY29uc29sZS5oCi0tLSBhL2V4dHJhcy9t aW5pLW9zL2luY2x1ZGUvY29uc29sZS5oCVR1ZSBKdW4gMTYgMTg6MTk6MTUgMjAwOSArMDEw MAorKysgYi9leHRyYXMvbWluaS1vcy9pbmNsdWRlL2NvbnNvbGUuaAlXZWQgSnVuIDE3IDEz OjM1OjExIDIwMDkgKzAxMDAKQEAgLTM2LDkgKzM2LDMyIEBACiAjaWZuZGVmIF9MSUJfQ09O U09MRV9IXwogI2RlZmluZSBfTElCX0NPTlNPTEVfSF8KIAotI2luY2x1ZGU8bWluaS1vcy9v cy5oPgotI2luY2x1ZGU8bWluaS1vcy90cmFwcy5oPgotI2luY2x1ZGU8c3RkYXJnLmg+Cisj aW5jbHVkZSA8bWluaS1vcy9vcy5oPgorI2luY2x1ZGUgPG1pbmktb3MvdHJhcHMuaD4KKyNp bmNsdWRlIDxtaW5pLW9zL3R5cGVzLmg+CisjaW5jbHVkZSA8eGVuL2dyYW50X3RhYmxlLmg+ CisjaW5jbHVkZSA8eGVuYnVzLmg+CisjaW5jbHVkZSA8eGVuL2lvL2NvbnNvbGUuaD4KKyNp bmNsdWRlIDxzdGRhcmcuaD4KKworc3RydWN0IGNvbnNmcm9udF9kZXYgeworICAgIGRvbWlk X3QgZG9tOworCisgICAgc3RydWN0IHhlbmNvbnNfaW50ZXJmYWNlICpyaW5nOworICAgIGdy YW50X3JlZl90IHJpbmdfcmVmOworICAgIGV2dGNobl9wb3J0X3QgZXZ0Y2huOworCisgICAg Y2hhciAqbm9kZW5hbWU7CisgICAgY2hhciAqYmFja2VuZDsKKworICAgIHhlbmJ1c19ldmVu dF9xdWV1ZSBldmVudHM7CisKKyNpZmRlZiBIQVZFX0xJQkMKKyAgICBpbnQgZmQ7CisjZW5k aWYKK307CisKKwogCiB2b2lkIHByaW50KGludCBkaXJlY3QsIGNvbnN0IGNoYXIgKmZtdCwg dmFfbGlzdCBhcmdzKTsKIHZvaWQgcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKQEAg LTUwLDE2ICs3MywxNyBAQAogdm9pZCB4ZW5jb25zX3R4KHZvaWQpOwogCiB2b2lkIGluaXRf Y29uc29sZSh2b2lkKTsKLXZvaWQgY29uc29sZV9wcmludChjaGFyICpkYXRhLCBpbnQgbGVu Z3RoKTsKLXZvaWQgZmluaV9jb25zb2xlKHZvaWQpOwordm9pZCBjb25zb2xlX3ByaW50KHN0 cnVjdCBjb25zZnJvbnRfZGV2ICpkZXYsIGNoYXIgKmRhdGEsIGludCBsZW5ndGgpOwordm9p ZCBmaW5pX2NvbnNvbGUoc3RydWN0IGNvbnNmcm9udF9kZXYgKmRldik7CiAKIC8qIExvdyBs ZXZlbCBmdW5jdGlvbnMgZGVmaW5lZCBpbiB4ZW5jb25zX3JpbmcuYyAqLwogZXh0ZXJuIHN0 cnVjdCB3YWl0X3F1ZXVlX2hlYWQgY29uc29sZV9xdWV1ZTsKLWludCB4ZW5jb25zX3Jpbmdf aW5pdCh2b2lkKTsKLWludCB4ZW5jb25zX3Jpbmdfc2VuZChjb25zdCBjaGFyICpkYXRhLCB1 bnNpZ25lZCBsZW4pOwotaW50IHhlbmNvbnNfcmluZ19zZW5kX25vX25vdGlmeShjb25zdCBj aGFyICpkYXRhLCB1bnNpZ25lZCBsZW4pOwotaW50IHhlbmNvbnNfcmluZ19hdmFpbCh2b2lk KTsKLWludCB4ZW5jb25zX3JpbmdfcmVjdihjaGFyICpkYXRhLCB1bnNpZ25lZCBsZW4pOwot CitzdHJ1Y3QgY29uc2Zyb250X2RldiAqeGVuY29uc19yaW5nX2luaXQodm9pZCk7CitzdHJ1 Y3QgY29uc2Zyb250X2RldiAqaW5pdF9jb25zZnJvbnQoY2hhciAqX25vZGVuYW1lKTsKK2lu dCB4ZW5jb25zX3Jpbmdfc2VuZChzdHJ1Y3QgY29uc2Zyb250X2RldiAqZGV2LCBjb25zdCBj aGFyICpkYXRhLCB1bnNpZ25lZCBsZW4pOworaW50IHhlbmNvbnNfcmluZ19zZW5kX25vX25v dGlmeShzdHJ1Y3QgY29uc2Zyb250X2RldiAqZGV2LCBjb25zdCBjaGFyICpkYXRhLCB1bnNp Z25lZCBsZW4pOworaW50IHhlbmNvbnNfcmluZ19hdmFpbChzdHJ1Y3QgY29uc2Zyb250X2Rl diAqZGV2KTsKK2ludCB4ZW5jb25zX3JpbmdfcmVjdihzdHJ1Y3QgY29uc2Zyb250X2RldiAq ZGV2LCBjaGFyICpkYXRhLCB1bnNpZ25lZCBsZW4pOwordm9pZCBmcmVlX2NvbnNmcm9udChz dHJ1Y3QgY29uc2Zyb250X2RldiAqZGV2KTsKIAogI2VuZGlmIC8qIF9MSUJfQ09OU09MRV9I XyAqLwpkaWZmIC1yIDhhNzJjMDc1YmJjOCBleHRyYXMvbWluaS1vcy9pbmNsdWRlL2xpYi5o Ci0tLSBhL2V4dHJhcy9taW5pLW9zL2luY2x1ZGUvbGliLmgJVHVlIEp1biAxNiAxODoxOTox NSAyMDA5ICswMTAwCisrKyBiL2V4dHJhcy9taW5pLW9zL2luY2x1ZGUvbGliLmgJV2VkIEp1 biAxNyAxMzozNToxMSAyMDA5ICswMTAwCkBAIC0xODMsNiArMTgzLDkgQEAKIAlzdHJ1Y3Qg ewogCSAgICBzdHJ1Y3QgZmJmcm9udF9kZXYgKmRldjsKIAl9IGZiOworCXN0cnVjdCB7CisJ ICAgIHN0cnVjdCBjb25zZnJvbnRfZGV2ICpkZXY7CisJfSBjb25zOwogICAgICAgICBzdHJ1 Y3QgewogICAgICAgICAgICAgLyogVG8gZWFjaCB4ZW5idXMgRkQgaXMgYXNzb2NpYXRlZCBh IHF1ZXVlIG9mIHdhdGNoIGV2ZW50cyBmb3IgdGhpcwogICAgICAgICAgICAgICogRkQuICAq LwpkaWZmIC1yIDhhNzJjMDc1YmJjOCBleHRyYXMvbWluaS1vcy9rZXJuZWwuYwotLS0gYS9l eHRyYXMvbWluaS1vcy9rZXJuZWwuYwlUdWUgSnVuIDE2IDE4OjE5OjE1IDIwMDkgKzAxMDAK KysrIGIvZXh0cmFzL21pbmktb3Mva2VybmVsLmMJV2VkIEp1biAxNyAxMzozNToxMSAyMDA5 ICswMTAwCkBAIC01NjIsNyArNTYyLDcgQEAKICAgICBmaW5pX2dudHRhYigpOwogCiAgICAg LyogUmVzZXQgdGhlIGNvbnNvbGUgZHJpdmVyLiAqLwotICAgIGZpbmlfY29uc29sZSgpOwor ICAgIGZpbmlfY29uc29sZShOVUxMKTsKICAgICAvKiBUT0RPOiByZWNvcmQgbmV3IHJpbmcg bWZuICYgZXZlbnQgaW4gc3RhcnRfaW5mbyAqLwogCiAgICAgLyogUmVzZXQgWGVuQnVzICov CmRpZmYgLXIgOGE3MmMwNzViYmM4IGV4dHJhcy9taW5pLW9zL2xpYi9zeXMuYwotLS0gYS9l eHRyYXMvbWluaS1vcy9saWIvc3lzLmMJVHVlIEp1biAxNiAxODoxOToxNSAyMDA5ICswMTAw CisrKyBiL2V4dHJhcy9taW5pLW9zL2xpYi9zeXMuYwlXZWQgSnVuIDE3IDEzOjM1OjExIDIw MDkgKzAxMDAKQEAgLTE2Nyw2ICsxNjcsMjAgQEAKICAgICByZXR1cm4gMDsKIH0KIAoraW50 IHBvc2l4X29wZW5wdChpbnQgZmxhZ3MpCit7CisgICAgc3RydWN0IGNvbnNmcm9udF9kZXYg KmRldjsKKworICAgIC8qIElnbm9yZSBmbGFncyAqLworCisgICAgZGV2ID0gaW5pdF9jb25z ZnJvbnQoTlVMTCk7CisgICAgZGV2LT5mZCA9IGFsbG9jX2ZkKEZUWVBFX0NPTlNPTEUpOwor ICAgIGZpbGVzW2Rldi0+ZmRdLmNvbnMuZGV2ID0gZGV2OworCisgICAgcHJpbnRrKCJmZCgl ZCkgPSBwb3NpeF9vcGVucHRcbiIsIGRldi0+ZmQpOworICAgIHJldHVybihkZXYtPmZkKTsK K30KKwogaW50IG9wZW4oY29uc3QgY2hhciAqcGF0aG5hbWUsIGludCBmbGFncywgLi4uKQog ewogICAgIGludCBmc19mZCwgZmQ7CkBAIC0xNzYsNiArMTkwLDggQEAKICAgICAgICAgcHJp bnRrKCJvcGVuKCVzKSAtPiAlZFxuIiwgcGF0aG5hbWUsIGZkKTsKICAgICAgICAgcmV0dXJu IGZkOwogICAgIH0KKyAgICBpZiAoIXN0cm5jbXAocGF0aG5hbWUsICIvZGV2L3B0bXgiLCBz dHJsZW4oIi9kZXYvcHRteCIpKSkKKyAgICAgICAgcmV0dXJuIHBvc2l4X29wZW5wdChmbGFn cyk7CiAgICAgcHJpbnRrKCJvcGVuKCVzLCAleCkiLCBwYXRobmFtZSwgZmxhZ3MpOwogICAg IHN3aXRjaCAoZmxhZ3MgJiB+T19BQ0NNT0RFKSB7CiAgICAgICAgIGNhc2UgMDoKQEAgLTIx OSw3ICsyMzUsNyBAQAogICAgICAgICAgICAgREVGSU5FX1dBSVQodyk7CiAgICAgICAgICAg ICB3aGlsZSgxKSB7CiAgICAgICAgICAgICAgICAgYWRkX3dhaXRlcih3LCBjb25zb2xlX3F1 ZXVlKTsKLSAgICAgICAgICAgICAgICByZXQgPSB4ZW5jb25zX3JpbmdfcmVjdihidWYsIG5i eXRlcyk7CisgICAgICAgICAgICAgICAgcmV0ID0geGVuY29uc19yaW5nX3JlY3YoZmlsZXNb ZmRdLmNvbnMuZGV2LCBidWYsIG5ieXRlcyk7CiAgICAgICAgICAgICAgICAgaWYgKHJldCkK ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgc2NoZWR1bGUo KTsKQEAgLTI4Niw3ICszMDIsNyBAQAogewogICAgIHN3aXRjaCAoZmlsZXNbZmRdLnR5cGUp IHsKIAljYXNlIEZUWVBFX0NPTlNPTEU6Ci0JICAgIGNvbnNvbGVfcHJpbnQoKGNoYXIgKili dWYsIG5ieXRlcyk7CisJICAgIGNvbnNvbGVfcHJpbnQoZmlsZXNbZmRdLmNvbnMuZGV2LCAo Y2hhciAqKWJ1ZiwgbmJ5dGVzKTsKIAkgICAgcmV0dXJuIG5ieXRlczsKIAljYXNlIEZUWVBF X0ZJTEU6IHsKIAkgICAgc3NpemVfdCByZXQ7CkBAIC00MTQsNiArNDMwLDEwIEBACiAgICAg ICAgICAgICByZXR1cm4gMDsKIAljYXNlIEZUWVBFX0ZCOgogICAgICAgICAgICAgc2h1dGRv d25fZmJmcm9udChmaWxlc1tmZF0uZmIuZGV2KTsKKyAgICAgICAgICAgIGZpbGVzW2ZkXS50 eXBlID0gRlRZUEVfTk9ORTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBjYXNl IEZUWVBFX0NPTlNPTEU6CisgICAgICAgICAgICBmaW5pX2NvbnNvbGUoZmlsZXNbZmRdLmNv bnMuZGV2KTsKICAgICAgICAgICAgIGZpbGVzW2ZkXS50eXBlID0gRlRZUEVfTk9ORTsKICAg ICAgICAgICAgIHJldHVybiAwOwogCWNhc2UgRlRZUEVfTk9ORToKQEAgLTczNSw3ICs3NTUs NyBAQAogCSAgICBicmVhazsKIAljYXNlIEZUWVBFX0NPTlNPTEU6CiAJICAgIGlmIChGRF9J U1NFVChpLCByZWFkZmRzKSkgewotICAgICAgICAgICAgICAgIGlmICh4ZW5jb25zX3Jpbmdf YXZhaWwoKSkKKyAgICAgICAgICAgICAgICBpZiAoeGVuY29uc19yaW5nX2F2YWlsKGZpbGVz W2ldLmNvbnMuZGV2KSkKIAkJICAgIG4rKzsKIAkJZWxzZQogCQkgICAgRkRfQ0xSKGksIHJl YWRmZHMpOwpAQCAtMTMyNSw2ICsxMzQ1LDkgQEAKIHVuc3VwcG9ydGVkX2Z1bmN0aW9uX2Ny YXNoKHN5c2NvbmYpOwogdW5zdXBwb3J0ZWRfZnVuY3Rpb24oaW50LCB0Y3NldGF0dHIsIC0x KTsKIHVuc3VwcG9ydGVkX2Z1bmN0aW9uKGludCwgdGNnZXRhdHRyLCAwKTsKK3Vuc3VwcG9y dGVkX2Z1bmN0aW9uKGludCwgZ3JhbnRwdCwgLTEpOwordW5zdXBwb3J0ZWRfZnVuY3Rpb24o aW50LCB1bmxvY2twdCwgLTEpOwordW5zdXBwb3J0ZWRfZnVuY3Rpb24oY2hhciAqLCBwdHNu YW1lLCBOVUxMKTsKIHVuc3VwcG9ydGVkX2Z1bmN0aW9uKGludCwgcG9sbCwgLTEpOwogCiAv KiBuZXQvaWYuaCAqLwpkaWZmIC1yIDhhNzJjMDc1YmJjOCBzdHViZG9tL2dydWIvbWluaS1v cy5jCi0tLSBhL3N0dWJkb20vZ3J1Yi9taW5pLW9zLmMJVHVlIEp1biAxNiAxODoxOToxNSAy MDA5ICswMTAwCisrKyBiL3N0dWJkb20vZ3J1Yi9taW5pLW9zLmMJV2VkIEp1biAxNyAxMzoz NToxMSAyMDA5ICswMTAwCkBAIC0zMjksNyArMzI5LDcgQEAKIHNlcmlhbF9od19wdXQgKGlu dCBfYykKIHsKICAgY2hhciBjID0gX2M7Ci0gIGNvbnNvbGVfcHJpbnQoJmMsIDEpOworICBj b25zb2xlX3ByaW50KE5VTEwsICZjLCAxKTsKIH0KIAogaW50CkBAIC0zMzcsNyArMzM3LDcg QEAKIHsKICAgICBjaGFyIGtleTsKIAotICAgIGlmICgheGVuY29uc19yaW5nX2F2YWlsKCkp CisgICAgaWYgKCF4ZW5jb25zX3JpbmdfYXZhaWwoTlVMTCkpCiAgICAgICAgIHJldHVybiAt MTsKIAogICAgIHJlYWQoU1RESU5fRklMRU5PLCAma2V5LCAxKTsK --------------070401080007030505000100 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 --------------070401080007030505000100--