From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KXIGG-0001uf-DA for qemu-devel@nongnu.org; Sun, 24 Aug 2008 12:16:16 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KXIGF-0001tL-JX for qemu-devel@nongnu.org; Sun, 24 Aug 2008 12:16:16 -0400 Received: from [199.232.76.173] (port=45974 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KXIGF-0001sx-Cn for qemu-devel@nongnu.org; Sun, 24 Aug 2008 12:16:15 -0400 Received: from smtp2-g19.free.fr ([212.27.42.28]:40423) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KXIGE-0008WO-QX for qemu-devel@nongnu.org; Sun, 24 Aug 2008 12:16:15 -0400 Received: from smtp2-g19.free.fr (localhost.localdomain [127.0.0.1]) by smtp2-g19.free.fr (Postfix) with ESMTP id 171D212B714 for ; Sun, 24 Aug 2008 18:16:13 +0200 (CEST) Received: from [127.0.0.1] (mar92-8-82-230-226-185.fbx.proxad.net [82.230.226.185]) by smtp2-g19.free.fr (Postfix) with ESMTP id 9D21E12B70F for ; Sun, 24 Aug 2008 18:16:12 +0200 (CEST) Message-ID: <48B1894B.9000602@reactos.org> Date: Sun, 24 Aug 2008 18:16:11 +0200 From: =?ISO-8859-1?Q?Herv=E9_Poussineau?= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060203070408060303070802" Subject: [Qemu-devel] [PATCH] Add VMware machine Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org This is a multi-part message in MIME format. --------------060203070408060303070802 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi, Attached patch adds a 'vmware' machine type. This one automatically uses VMware display card, and enables VMware mouse= . In non VMware machine types (ie 'pc' and 'isapc' types), VMware backdoor and VMware mouse are disabled [1] I added an enum with PC types in pc.c . This system can be extended later to add more PC types. Please comment. Herv=E9 [1] This has the same effect that the switch '-no-vmport' proposed by Ian Kirk in http://marc.info/?l=3Dqemu-devel&m=3D121957847306185&w=3D2 --------------060203070408060303070802 Content-Type: text/plain; name="vmware_machine.diff" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="vmware_machine.diff" SW5kZXg6IGh3L2JvYXJkcy5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gaHcvYm9hcmRzLmgJKHJl dmlzaW9uIDUwNzUpDQorKysgaHcvYm9hcmRzLmgJKHdvcmtpbmcgY29weSkNCkBAIC0yOSw2 ICsyOSw3IEBADQogLyogcGMuYyAqLwogZXh0ZXJuIFFFTVVNYWNoaW5lIHBjX21hY2hpbmU7 CiBleHRlcm4gUUVNVU1hY2hpbmUgaXNhcGNfbWFjaGluZTsKK2V4dGVybiBRRU1VTWFjaGlu ZSB2bXdhcmVfbWFjaGluZTsKIAogLyogcHBjLmMgKi8KIGV4dGVybiBRRU1VTWFjaGluZSBw cmVwX21hY2hpbmU7CkluZGV4OiBody9wYy5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gaHcvcGMu YwkocmV2aXNpb24gNTA3NSkNCisrKyBody9wYy5jCSh3b3JraW5nIGNvcHkpDQpAQCAtNTMs NiArNTMsMTIgQEANCiBzdGF0aWMgSU9BUElDU3RhdGUgKmlvYXBpYzsKIHN0YXRpYyBQQ0lE ZXZpY2UgKmk0NDBmeF9zdGF0ZTsKIAordHlwZWRlZiBlbnVtIHBjX21vZGVsIHsNCisgICAg TU9ERUxfSVNBID0gMCwNCisgICAgTU9ERUxfUENJID0gMSwNCisgICAgTU9ERUxfVk1XQVJF ID0gMiwNCit9IHBjX21vZGVsOworCiBzdGF0aWMgdm9pZCBpb3BvcnQ4MF93cml0ZSh2b2lk ICpvcGFxdWUsIHVpbnQzMl90IGFkZHIsIHVpbnQzMl90IGRhdGEpCiB7CiB9CkBAIC03MjEs MTQgKzcyNywxNCBAQA0KICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmJvb3Rf ZGV2aWNlLCBEaXNwbGF5U3RhdGUgKmRzLAogICAgICAgICAgICAgICAgICAgICAgY29uc3Qg Y2hhciAqa2VybmVsX2ZpbGVuYW1lLCBjb25zdCBjaGFyICprZXJuZWxfY21kbGluZSwKICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmluaXRyZF9maWxlbmFtZSwKLSAgICAg ICAgICAgICAgICAgICAgIGludCBwY2lfZW5hYmxlZCwgY29uc3QgY2hhciAqY3B1X21vZGVs KQorICAgICAgICAgICAgICAgICAgICAgcGNfbW9kZWwgbW9kZWwsIGNvbnN0IGNoYXIgKmNw dV9tb2RlbCkKIHsKICAgICBjaGFyIGJ1ZlsxMDI0XTsKICAgICBpbnQgcmV0LCBsaW51eF9i b290LCBpOwogICAgIHJhbV9hZGRyX3QgcmFtX2FkZHIsIHZnYV9yYW1fYWRkciwgYmlvc19v ZmZzZXQsIHZnYV9iaW9zX29mZnNldDsKICAgICByYW1fYWRkcl90IGJlbG93XzRnX21lbV9z aXplLCBhYm92ZV80Z19tZW1fc2l6ZSA9IDA7CiAgICAgaW50IGJpb3Nfc2l6ZSwgaXNhX2Jp b3Nfc2l6ZSwgdmdhX2Jpb3Nfc2l6ZTsKLSAgICBQQ0lCdXMgKnBjaV9idXM7CisgICAgUENJ QnVzICpwY2lfYnVzID0gTlVMTDsKICAgICBpbnQgcGlpeDNfZGV2Zm4gPSAtMTsKICAgICBD UFVTdGF0ZSAqZW52OwogICAgIE5JQ0luZm8gKm5kOwpAQCAtNzY5LDEyICs3NzUsMTQgQEAN CiAgICAgICAgICAgICBlbnYtPmNwdWlkX2ZlYXR1cmVzIHw9IENQVUlEX0FQSUM7CiAgICAg ICAgIH0KICAgICAgICAgcWVtdV9yZWdpc3Rlcl9yZXNldChtYWluX2NwdV9yZXNldCwgZW52 KTsKLSAgICAgICAgaWYgKHBjaV9lbmFibGVkKSB7CisgICAgICAgIGlmIChtb2RlbCAhPSBN T0RFTF9JU0EpIHsKICAgICAgICAgICAgIGFwaWNfaW5pdChlbnYpOwogICAgICAgICB9CiAg ICAgfQogCi0gICAgdm1wb3J0X2luaXQoKTsKKyAgICAvKiBWTXdhcmUgYmFja2Rvb3IgKi8K KyAgICBpZiAobW9kZWwgPT0gTU9ERUxfVk1XQVJFKQorICAgICAgICB2bXBvcnRfaW5pdCgp OwogCiAgICAgLyogYWxsb2NhdGUgUkFNICovCiAgICAgcmFtX2FkZHIgPSBxZW11X3JhbV9h bGxvYyhyYW1fc2l6ZSk7CkBAIC04ODAsMTEgKzg4OCwxNSBAQA0KICAgICBpODI1OSA9IGk4 MjU5X2luaXQoY3B1X2lycVswXSk7CiAgICAgZmVycl9pcnEgPSBpODI1OVsxM107CiAKLSAg ICBpZiAocGNpX2VuYWJsZWQpIHsKKyAgICAvKiBQQ0kgYnVzICovCisgICAgc3dpdGNoICht b2RlbCkgeworICAgIGNhc2UgTU9ERUxfUENJOgorICAgIGNhc2UgTU9ERUxfVk1XQVJFOgog ICAgICAgICBwY2lfYnVzID0gaTQ0MGZ4X2luaXQoJmk0NDBmeF9zdGF0ZSwgaTgyNTkpOwog ICAgICAgICBwaWl4M19kZXZmbiA9IHBpaXgzX2luaXQocGNpX2J1cywgLTEpOwotICAgIH0g ZWxzZSB7Ci0gICAgICAgIHBjaV9idXMgPSBOVUxMOworICAgICAgICBicmVhazsKKyAgICBk ZWZhdWx0OgorICAgICAgICBicmVhazsKICAgICB9CiAKICAgICAvKiBpbml0IGJhc2ljIFBD IGhhcmR3YXJlICovCkBAIC04OTIsMjkgKzkwNCwzOCBAQA0KIAogICAgIHJlZ2lzdGVyX2lv cG9ydF93cml0ZSgweGYwLCAxLCAxLCBpb3BvcnRGMF93cml0ZSwgTlVMTCk7CiAKLSAgICBp ZiAoY2lycnVzX3ZnYV9lbmFibGVkKSB7Ci0gICAgICAgIGlmIChwY2lfZW5hYmxlZCkgewor ICAgIC8qIEdyYXBoaWMgY2FyZCAqLworICAgIHN3aXRjaCAobW9kZWwpIHsKKyAgICBjYXNl IE1PREVMX0lTQToKKyAgICAgICAgaWYgKGNpcnJ1c192Z2FfZW5hYmxlZCkgeworICAgICAg ICAgICAgaXNhX2NpcnJ1c192Z2FfaW5pdChkcywgcGh5c19yYW1fYmFzZSArIHZnYV9yYW1f YWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmdhX3JhbV9hZGRyLCB2 Z2FfcmFtX3NpemUpOworICAgICAgICB9IGVsc2UgaWYgKHZtc3ZnYV9lbmFibGVkKSB7Cisg ICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVzOiB2bXdhcmVfdmdhOiBubyBQQ0kgYnVz XG4iLCBfX0ZVTkNUSU9OX18pOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaXNh X3ZnYV9pbml0KGRzLCBwaHlzX3JhbV9iYXNlICsgdmdhX3JhbV9hZGRyLAorICAgICAgICAg ICAgICAgICAgICAgICAgIHZnYV9yYW1fYWRkciwgdmdhX3JhbV9zaXplKTsKKyAgICAgICAg fQorICAgICAgICBicmVhazsKKyAgICBjYXNlIE1PREVMX1BDSToKKyAgICAgICAgaWYgKGNp cnJ1c192Z2FfZW5hYmxlZCkgewogICAgICAgICAgICAgcGNpX2NpcnJ1c192Z2FfaW5pdChw Y2lfYnVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcywgcGh5c19yYW1f YmFzZSArIHZnYV9yYW1fYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dmdhX3JhbV9hZGRyLCB2Z2FfcmFtX3NpemUpOwotICAgICAgICB9IGVsc2UgewotICAgICAg ICAgICAgaXNhX2NpcnJ1c192Z2FfaW5pdChkcywgcGh5c19yYW1fYmFzZSArIHZnYV9yYW1f YWRkciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmdhX3JhbV9hZGRyLCB2 Z2FfcmFtX3NpemUpOwotICAgICAgICB9Ci0gICAgfSBlbHNlIGlmICh2bXN2Z2FfZW5hYmxl ZCkgewotICAgICAgICBpZiAocGNpX2VuYWJsZWQpCisgICAgICAgIH0gZWxzZSBpZiAodm1z dmdhX2VuYWJsZWQpIHsKICAgICAgICAgICAgIHBjaV92bXN2Z2FfaW5pdChwY2lfYnVzLCBk cywgcGh5c19yYW1fYmFzZSArIHZnYV9yYW1fYWRkciwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2Z2FfcmFtX2FkZHIsIHZnYV9yYW1fc2l6ZSk7Ci0gICAgICAgIGVsc2UKLSAg ICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXM6IHZtd2FyZV92Z2E6IG5vIFBDSSBidXNc biIsIF9fRlVOQ1RJT05fXyk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKHBjaV9lbmFi bGVkKSB7CisgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBwY2lfdmdhX2luaXQocGNp X2J1cywgZHMsIHBoeXNfcmFtX2Jhc2UgKyB2Z2FfcmFtX2FkZHIsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgdmdhX3JhbV9hZGRyLCB2Z2FfcmFtX3NpemUsIDAsIDApOwotICAgICAg ICB9IGVsc2UgewotICAgICAgICAgICAgaXNhX3ZnYV9pbml0KGRzLCBwaHlzX3JhbV9iYXNl ICsgdmdhX3JhbV9hZGRyLAotICAgICAgICAgICAgICAgICAgICAgICAgIHZnYV9yYW1fYWRk ciwgdmdhX3JhbV9zaXplKTsKICAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBjYXNl IE1PREVMX1ZNV0FSRToKKyAgICAgICAgcGNpX3Ztc3ZnYV9pbml0KHBjaV9idXMsIGRzLCBw aHlzX3JhbV9iYXNlICsgdmdhX3JhbV9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAg dmdhX3JhbV9hZGRyLCB2Z2FfcmFtX3NpemUpOworICAgICAgICBicmVhazsKKyAgICBkZWZh dWx0OgorICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBydGNfc3RhdGUgPSBydGNfaW5p dCgweDcwLCBpODI1OVs4XSk7CkBAIC05MjQsMTIgKzk0NSwxMiBAQA0KICAgICByZWdpc3Rl cl9pb3BvcnRfcmVhZCgweDkyLCAxLCAxLCBpb3BvcnQ5Ml9yZWFkLCBOVUxMKTsKICAgICBy ZWdpc3Rlcl9pb3BvcnRfd3JpdGUoMHg5MiwgMSwgMSwgaW9wb3J0OTJfd3JpdGUsIE5VTEwp OwogCi0gICAgaWYgKHBjaV9lbmFibGVkKSB7CisgICAgaWYgKG1vZGVsICE9IE1PREVMX0lT QSkgewogICAgICAgICBpb2FwaWMgPSBpb2FwaWNfaW5pdCgpOwogICAgIH0KICAgICBwaXQg PSBwaXRfaW5pdCgweDQwLCBpODI1OVswXSk7CiAgICAgcGNzcGtfaW5pdChwaXQpOwotICAg IGlmIChwY2lfZW5hYmxlZCkgeworICAgIGlmIChtb2RlbCAhPSBNT0RFTF9JU0EpIHsKICAg ICAgICAgcGljX3NldF9hbHRfaXJxX2Z1bmMoaXNhX3BpYywgaW9hcGljX3NldF9pcnEsIGlv YXBpYyk7CiAgICAgfQogCkBAIC05NDcsNTYgKzk2OCw2MSBAQA0KICAgICAgICAgfQogICAg IH0KIAorICAgIC8qIE5ldHdvcmsgY2FyZHMgKi8KICAgICBmb3IoaSA9IDA7IGkgPCBuYl9u aWNzOyBpKyspIHsKICAgICAgICAgbmQgPSAmbmRfdGFibGVbaV07CiAgICAgICAgIGlmICgh bmQtPm1vZGVsKSB7Ci0gICAgICAgICAgICBpZiAocGNpX2VuYWJsZWQpIHsKKyAgICAgICAg ICAgIGlmIChwY2lfYnVzKQogICAgICAgICAgICAgICAgIG5kLT5tb2RlbCA9ICJuZTJrX3Bj aSI7Ci0gICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZWxzZQogICAgICAgICAg ICAgICAgIG5kLT5tb2RlbCA9ICJuZTJrX2lzYSI7Ci0gICAgICAgICAgICB9CiAgICAgICAg IH0KLSAgICAgICAgaWYgKHN0cmNtcChuZC0+bW9kZWwsICJuZTJrX2lzYSIpID09IDApIHsK KyAgICAgICAgaWYgKHN0cmNtcChuZC0+bW9kZWwsICI/IikgPT0gMCkgeworICAgICAgICAg ICAgZnByaW50ZihzdGRlcnIsICJxZW11OiBTdXBwb3J0ZWQgSVNBIE5JQ3M6IG5lMmtfaXNh XG4iKTsKKyAgICAgICAgICAgIGlmIChwY2lfYnVzKQorICAgICAgICAgICAgICAgIHBjaV9u aWNfaW5pdChwY2lfYnVzLCBuZCwgLTEpOworICAgICAgICAgICAgZXhpdCgxKTsKKyAgICAg ICAgfSBlbHNlIGlmIChzdHJjbXAobmQtPm1vZGVsLCAibmUya19pc2EiKSA9PSAwKSB7CiAg ICAgICAgICAgICBwY19pbml0X25lMmtfaXNhKG5kLCBpODI1OSk7Ci0gICAgICAgIH0gZWxz ZSBpZiAocGNpX2VuYWJsZWQpIHsKLSAgICAgICAgICAgIGlmIChzdHJjbXAobmQtPm1vZGVs LCAiPyIpID09IDApCi0gICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJxZW11OiBT dXBwb3J0ZWQgSVNBIE5JQ3M6IG5lMmtfaXNhXG4iKTsKKyAgICAgICAgfSBlbHNlIGlmIChw Y2lfYnVzKSB7CiAgICAgICAgICAgICBwY2lfbmljX2luaXQocGNpX2J1cywgbmQsIC0xKTsK LSAgICAgICAgfSBlbHNlIGlmIChzdHJjbXAobmQtPm1vZGVsLCAiPyIpID09IDApIHsKLSAg ICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAicWVtdTogU3VwcG9ydGVkIElTQSBOSUNzOiBu ZTJrX2lzYVxuIik7Ci0gICAgICAgICAgICBleGl0KDEpOwogICAgICAgICB9IGVsc2Ugewog ICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJxZW11OiBVbnN1cHBvcnRlZCBOSUM6ICVz XG4iLCBuZC0+bW9kZWwpOwogICAgICAgICAgICAgZXhpdCgxKTsKICAgICAgICAgfQogICAg IH0KIAorICAgIC8qIElERSBkZXZpY2VzICovCiAgICAgaWYgKGRyaXZlX2dldF9tYXhfYnVz KElGX0lERSkgPj0gTUFYX0lERV9CVVMpIHsKICAgICAgICAgZnByaW50ZihzdGRlcnIsICJx ZW11OiB0b28gbWFueSBJREUgYnVzXG4iKTsKICAgICAgICAgZXhpdCgxKTsKICAgICB9Ci0K LSAgICBmb3IoaSA9IDA7IGkgPCBNQVhfSURFX0JVUyAqIE1BWF9JREVfREVWUzsgaSsrKSB7 CisgICAgZm9yIChpID0gMDsgaSA8IE1BWF9JREVfQlVTICogTUFYX0lERV9ERVZTOyBpKysp IHsKICAgICAgICAgaW5kZXggPSBkcml2ZV9nZXRfaW5kZXgoSUZfSURFLCBpIC8gTUFYX0lE RV9ERVZTLCBpICUgTUFYX0lERV9ERVZTKTsKLQlpZiAoaW5kZXggIT0gLTEpCi0JICAgIGhk W2ldID0gZHJpdmVzX3RhYmxlW2luZGV4XS5iZHJ2OwotCWVsc2UKLQkgICAgaGRbaV0gPSBO VUxMOworICAgICAgICBoZFtpXSA9IChpbmRleCA9PSAtMSkgPyBOVUxMIDogZHJpdmVzX3Rh YmxlW2luZGV4XS5iZHJ2OwogICAgIH0KLQotICAgIGlmIChwY2lfZW5hYmxlZCkgeworICAg IHN3aXRjaCAobW9kZWwpIHsKKyAgICBjYXNlIE1PREVMX0lTQToKKyAgICAgICAgZm9yIChp ID0gMDsgaSA8IE1BWF9JREVfQlVTOyBpKyspCisgICAgICAgICAgICBpc2FfaWRlX2luaXQo aWRlX2lvYmFzZVtpXSwgaWRlX2lvYmFzZTJbaV0sIGk4MjU5W2lkZV9pcnFbaV1dLAorICAg ICAgICAgICAgICAgICAgICAgICAgIGhkW01BWF9JREVfREVWUyAqIGldLCBoZFtNQVhfSURF X0RFVlMgKiBpICsgMV0pOworICAgICAgICBicmVhazsKKyAgICBjYXNlIE1PREVMX1BDSToK KyAgICBjYXNlIE1PREVMX1ZNV0FSRToKICAgICAgICAgcGNpX3BpaXgzX2lkZV9pbml0KHBj aV9idXMsIGhkLCBwaWl4M19kZXZmbiArIDEsIGk4MjU5KTsKLSAgICB9IGVsc2UgewotICAg ICAgICBmb3IoaSA9IDA7IGkgPCBNQVhfSURFX0JVUzsgaSsrKSB7Ci0gICAgICAgICAgICBp c2FfaWRlX2luaXQoaWRlX2lvYmFzZVtpXSwgaWRlX2lvYmFzZTJbaV0sIGk4MjU5W2lkZV9p cnFbaV1dLAotCSAgICAgICAgICAgICAgICAgaGRbTUFYX0lERV9ERVZTICogaV0sIGhkW01B WF9JREVfREVWUyAqIGkgKyAxXSk7Ci0gICAgICAgIH0KKyAgICBkZWZhdWx0OgorICAgICAg ICBicmVhazsKICAgICB9CiAKLSAgICBpODA0Ml9pbml0KGk4MjU5WzFdLCBpODI1OVsxMl0s IDB4NjApOworICAgIC8qIEtleWJvYXJkL21vdXNlICovCisgICAgaWYgKG1vZGVsICE9IE1P REVMX1ZNV0FSRSkKKyAgICAgICAgaTgwNDJfaW5pdChpODI1OVsxXSwgaTgyNTlbMTJdLCAw eDYwLCAwKTsKKyAgICBlbHNlCisgICAgICAgIGk4MDQyX2luaXQoaTgyNTlbMV0sIGk4MjU5 WzEyXSwgMHg2MCwgMSk7CisKICAgICBETUFfaW5pdCgwKTsKICNpZmRlZiBIQVNfQVVESU8K LSAgICBhdWRpb19pbml0KHBjaV9lbmFibGVkID8gcGNpX2J1cyA6IE5VTEwsIGk4MjU5KTsK KyAgICBhdWRpb19pbml0KHBjaV9idXMsIGk4MjU5KTsKICNlbmRpZgogCiAgICAgZm9yKGkg PSAwOyBpIDwgTUFYX0ZEOyBpKyspIHsKQEAgLTEwMTAsMTEgKzEwMzYsMTEgQEANCiAKICAg ICBjbW9zX2luaXQoYmVsb3dfNGdfbWVtX3NpemUsIGFib3ZlXzRnX21lbV9zaXplLCBib290 X2RldmljZSwgaGQpOwogCi0gICAgaWYgKHBjaV9lbmFibGVkICYmIHVzYl9lbmFibGVkKSB7 CisgICAgaWYgKHBjaV9idXMgJiYgdXNiX2VuYWJsZWQpIHsKICAgICAgICAgdXNiX3VoY2lf cGlpeDNfaW5pdChwY2lfYnVzLCBwaWl4M19kZXZmbiArIDIpOwogICAgIH0KIAotICAgIGlm IChwY2lfZW5hYmxlZCAmJiBhY3BpX2VuYWJsZWQpIHsKKyAgICBpZiAocGNpX2J1cyAmJiBh Y3BpX2VuYWJsZWQpIHsKICAgICAgICAgdWludDhfdCAqZWVwcm9tX2J1ZiA9IHFlbXVfbWFs bG9jeig4ICogMjU2KTsgLyogWFhYOiBtYWtlIHRoaXMgcGVyc2lzdGVudCAqLwogICAgICAg ICBpMmNfYnVzICpzbWJ1czsKIApAQCAtMTAyOSw3ICsxMDU1LDcgQEANCiAgICAgICAgIGk0 NDBmeF9pbml0X21lbW9yeV9tYXBwaW5ncyhpNDQwZnhfc3RhdGUpOwogICAgIH0KIAotICAg IGlmIChwY2lfZW5hYmxlZCkgeworICAgIGlmIChwY2lfYnVzKSB7CiAJaW50IG1heF9idXM7 CiAgICAgICAgIGludCBidXMsIHVuaXQ7CiAgICAgICAgIHZvaWQgKnNjc2k7CkBAIC0xMDU3 LDcgKzEwODMsNyBAQA0KIHsKICAgICBwY19pbml0MShyYW1fc2l6ZSwgdmdhX3JhbV9zaXpl LCBib290X2RldmljZSwgZHMsCiAgICAgICAgICAgICAga2VybmVsX2ZpbGVuYW1lLCBrZXJu ZWxfY21kbGluZSwKLSAgICAgICAgICAgICBpbml0cmRfZmlsZW5hbWUsIDEsIGNwdV9tb2Rl bCk7CisgICAgICAgICAgICAgaW5pdHJkX2ZpbGVuYW1lLCBNT0RFTF9QQ0ksIGNwdV9tb2Rl bCk7CiB9CiAKIHN0YXRpYyB2b2lkIHBjX2luaXRfaXNhKHJhbV9hZGRyX3QgcmFtX3NpemUs IGludCB2Z2FfcmFtX3NpemUsCkBAIC0xMDY5LDkgKzEwOTUsMjEgQEANCiB7CiAgICAgcGNf aW5pdDEocmFtX3NpemUsIHZnYV9yYW1fc2l6ZSwgYm9vdF9kZXZpY2UsIGRzLAogICAgICAg ICAgICAgIGtlcm5lbF9maWxlbmFtZSwga2VybmVsX2NtZGxpbmUsCi0gICAgICAgICAgICAg aW5pdHJkX2ZpbGVuYW1lLCAwLCBjcHVfbW9kZWwpOworICAgICAgICAgICAgIGluaXRyZF9m aWxlbmFtZSwgTU9ERUxfSVNBLCBjcHVfbW9kZWwpOwogfQogCitzdGF0aWMgdm9pZCBwY19p bml0X3Ztd2FyZShyYW1fYWRkcl90IHJhbV9zaXplLCBpbnQgdmdhX3JhbV9zaXplLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYm9vdF9kZXZpY2UsIERpc3Bs YXlTdGF0ZSAqZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpr ZXJuZWxfZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFy ICprZXJuZWxfY21kbGluZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo YXIgKmluaXRyZF9maWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGNoYXIgKmNwdV9tb2RlbCkKK3sKKyAgICBwY19pbml0MShyYW1fc2l6ZSwgdmdhX3JhbV9z aXplLCBib290X2RldmljZSwgZHMsCisgICAgICAgICAgICAga2VybmVsX2ZpbGVuYW1lLCBr ZXJuZWxfY21kbGluZSwKKyAgICAgICAgICAgICBpbml0cmRfZmlsZW5hbWUsIE1PREVMX1ZN V0FSRSwgY3B1X21vZGVsKTsKK30KKwogUUVNVU1hY2hpbmUgcGNfbWFjaGluZSA9IHsKICAg ICAubmFtZSA9ICJwYyIsCiAgICAgLmRlc2MgPSAiU3RhbmRhcmQgUEMiLApAQCAtMTA4NSwz ICsxMTIzLDEwIEBADQogICAgIC5pbml0ID0gcGNfaW5pdF9pc2EsCiAgICAgLnJhbV9yZXF1 aXJlID0gVkdBX1JBTV9TSVpFICsgUENfTUFYX0JJT1NfU0laRSwKIH07CisKK1FFTVVNYWNo aW5lIHZtd2FyZV9tYWNoaW5lID0geworICAgIC5uYW1lID0gInZtd2FyZSIsCisgICAgLmRl c2MgPSAiVk1XYXJlIFBDIiwKKyAgICAuaW5pdCA9IHBjX2luaXRfdm13YXJlLAorICAgIC5y YW1fcmVxdWlyZSA9IFZHQV9SQU1fU0laRSArIFBDX01BWF9CSU9TX1NJWkUsCit9OwpJbmRl eDogaHcvcGMuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGh3L3BjLmgJKHJldmlzaW9uIDUwNzUp DQorKysgaHcvcGMuaAkod29ya2luZyBjb3B5KQ0KQEAgLTY5LDcgKzY5LDggQEANCiAKIC8q IHBja2JkLmMgKi8KIAotdm9pZCBpODA0Ml9pbml0KHFlbXVfaXJxIGtiZF9pcnEsIHFlbXVf aXJxIG1vdXNlX2lycSwgdWludDMyX3QgaW9fYmFzZSk7Cit2b2lkIGk4MDQyX2luaXQocWVt dV9pcnEga2JkX2lycSwgcWVtdV9pcnEgbW91c2VfaXJxLCB1aW50MzJfdCBpb19iYXNlLAor ICAgICAgICAgICAgICAgIGludCB2bW1vdXNlKTsKIHZvaWQgaTgwNDJfbW1faW5pdChxZW11 X2lycSBrYmRfaXJxLCBxZW11X2lycSBtb3VzZV9pcnEsCiAgICAgICAgICAgICAgICAgICAg dGFyZ2V0X3BoeXNfYWRkcl90IGJhc2UsIGludCBpdF9zaGlmdCk7CiAKSW5kZXg6IGh3L3Bj a2JkLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0NCi0tLSBody9wY2tiZC5jCShyZXZpc2lvbiA1MDc1KQ0K KysrIGh3L3Bja2JkLmMJKHdvcmtpbmcgY29weSkNCkBAIC0zNjUsNyArMzY1LDggQEANCiAg ICAgcmV0dXJuIDA7CiB9CiAKLXZvaWQgaTgwNDJfaW5pdChxZW11X2lycSBrYmRfaXJxLCBx ZW11X2lycSBtb3VzZV9pcnEsIHVpbnQzMl90IGlvX2Jhc2UpCit2b2lkIGk4MDQyX2luaXQo cWVtdV9pcnEga2JkX2lycSwgcWVtdV9pcnEgbW91c2VfaXJxLCB1aW50MzJfdCBpb19iYXNl LAorICAgICAgICAgICAgICAgIGludCB2bW1vdXNlKQogewogICAgIEtCRFN0YXRlICpzID0g JmtiZF9zdGF0ZTsKIApAQCAtMzgyLDcgKzM4Myw4IEBADQogICAgIHMtPmtiZCA9IHBzMl9r YmRfaW5pdChrYmRfdXBkYXRlX2tiZF9pcnEsIHMpOwogICAgIHMtPm1vdXNlID0gcHMyX21v dXNlX2luaXQoa2JkX3VwZGF0ZV9hdXhfaXJxLCBzKTsKICNpZmRlZiBUQVJHRVRfSTM4Ngot ICAgIHZtbW91c2VfaW5pdChzLT5tb3VzZSk7CisgICAgaWYgKHZtbW91c2UpCisgICAgICAg IHZtbW91c2VfaW5pdChzLT5tb3VzZSk7CiAjZW5kaWYKICAgICBxZW11X3JlZ2lzdGVyX3Jl c2V0KGtiZF9yZXNldCwgcyk7CiB9CkBAIC00NDYsOCArNDQ4LDUgQEANCiAKICAgICBzLT5r YmQgPSBwczJfa2JkX2luaXQoa2JkX3VwZGF0ZV9rYmRfaXJxLCBzKTsKICAgICBzLT5tb3Vz ZSA9IHBzMl9tb3VzZV9pbml0KGtiZF91cGRhdGVfYXV4X2lycSwgcyk7Ci0jaWZkZWYgVEFS R0VUX0kzODYKLSAgICB2bW1vdXNlX2luaXQocy0+bW91c2UpOwotI2VuZGlmCiAgICAgcWVt dV9yZWdpc3Rlcl9yZXNldChrYmRfcmVzZXQsIHMpOwogfQpJbmRleDogdGFyZ2V0LWkzODYv bWFjaGluZS5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gdGFyZ2V0LWkzODYvbWFjaGluZS5jCShy ZXZpc2lvbiA1MDc0KQ0KKysrIHRhcmdldC1pMzg2L21hY2hpbmUuYwkod29ya2luZyBjb3B5 KQ0KQEAgLTksNiArOSw3IEBADQogewogICAgIHFlbXVfcmVnaXN0ZXJfbWFjaGluZSgmcGNf bWFjaGluZSk7CiAgICAgcWVtdV9yZWdpc3Rlcl9tYWNoaW5lKCZpc2FwY19tYWNoaW5lKTsK KyAgICBxZW11X3JlZ2lzdGVyX21hY2hpbmUoJnZtd2FyZV9tYWNoaW5lKTsKIH0KIAogc3Rh dGljIHZvaWQgY3B1X3B1dF9zZWcoUUVNVUZpbGUgKmYsIFNlZ21lbnRDYWNoZSAqZHQpCklu ZGV4OiB2bC5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gdmwuYwkocmV2aXNpb24gNTA3NCkNCisr KyB2bC5jCSh3b3JraW5nIGNvcHkpDQpAQCAtODYzMiw2ICs4NjMyLDcgQEANCiAgICAgICAg ICAgICAgICAgdm1zdmdhX2VuYWJsZWQgPSAwOwogICAgICAgICAgICAgICAgIGJyZWFrOwog ICAgICAgICAgICAgY2FzZSBRRU1VX09QVElPTl92bXN2Z2E6CisgICAgICAgICAgICAgICAg cHJpbnRmKCJxZW11OiB5b3Ugc2hvdWxkIHVzZSAndm13YXJlJyBtYWNoaW5lIHR5cGUgaW5z dGVhZCAoc2VlIC1NIG9wdGlvbilcbiIpOwogICAgICAgICAgICAgICAgIGNpcnJ1c192Z2Ff ZW5hYmxlZCA9IDA7CiAgICAgICAgICAgICAgICAgdm1zdmdhX2VuYWJsZWQgPSAxOwogICAg ICAgICAgICAgICAgIGJyZWFrOwo= --------------060203070408060303070802--