From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LVlWY-0004hM-9O for qemu-devel@nongnu.org; Sat, 07 Feb 2009 06:39:02 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LVlWW-0004h5-PU for qemu-devel@nongnu.org; Sat, 07 Feb 2009 06:39:01 -0500 Received: from [199.232.76.173] (port=43776 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LVlWW-0004h2-JL for qemu-devel@nongnu.org; Sat, 07 Feb 2009 06:39:00 -0500 Received: from fk-out-0910.google.com ([209.85.128.184]:25815) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LVlWV-0004ru-OU for qemu-devel@nongnu.org; Sat, 07 Feb 2009 06:39:00 -0500 Received: by fk-out-0910.google.com with SMTP id z23so1048962fkz.2 for ; Sat, 07 Feb 2009 03:38:59 -0800 (PST) MIME-Version: 1.0 Date: Sat, 7 Feb 2009 13:38:58 +0200 Message-ID: From: Blue Swirl Content-Type: multipart/mixed; boundary=001636c597b653c95b0462529550 Subject: [Qemu-devel] [PATCH, RFC] Mac99 (CHRP?) support 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" Cc: The OpenBIOS Mailinglist --001636c597b653c95b0462529550 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi, This set of patches adds basic support for Mac99 Qemu machine, provided by ppc_chrp.c. I've used the device tree of iMac DV ('99) as reference: http://penguinppc.org/historical/dev-trees-html/imac-dv-99.html The patches changes the machine to use OpenBIOS instead of OHW and otherwise breaks OHW assumptions. On OpenBIOS side there are still some missing bits. Comments welcome. --001636c597b653c95b0462529550 Content-Type: plain/text; name="o_chrp_support.diff" Content-Disposition: attachment; filename="o_chrp_support.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fqw7hu5f SW5kZXg6IG9wZW5iaW9zLXF1aWx0L2FyY2gvcHBjL3FlbXUvbGRzY3JpcHQKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gb3BlbmJpb3MtcXVpbHQub3JpZy9hcmNoL3BwYy9xZW11L2xkc2NyaXB0CTIwMDktMDItMDcg MTE6MjU6MDUuMDAwMDAwMDAwICswMDAwCisrKyBvcGVuYmlvcy1xdWlsdC9hcmNoL3BwYy9xZW11 L2xkc2NyaXB0CTIwMDktMDItMDcgMTE6MjU6MjcuMDAwMDAwMDAwICswMDAwCkBAIC03LDcgKzcs NyBAQAogCiAvKiBBcyBOVlJBTSBpcyBhdCAweGZmZjA0MDAwLCB0aGUgLnRleHQgbmVlZHMgdG8g YmUgYWZ0ZXIgdGhhdAogICovCi1URVhUX0FERFIgPSAweGZmZjA2MDAwOworVEVYVF9BRERSID0g MHhmZmYwODAwMDsKIAogLyogSGFyZCByZXNldCB2ZWN0b3IgYWRkcmVzcwogICovCkluZGV4OiBv cGVuYmlvcy1xdWlsdC9kcml2ZXJzL21hY2lvLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gb3BlbmJpb3MtcXVp bHQub3JpZy9kcml2ZXJzL21hY2lvLmMJMjAwOS0wMi0wNyAxMToyNTowNi4wMDAwMDAwMDAgKzAw MDAKKysrIG9wZW5iaW9zLXF1aWx0L2RyaXZlcnMvbWFjaW8uYwkyMDA5LTAyLTA3IDExOjI1OjI3 LjAwMDAwMDAwMCArMDAwMApAQCAtMTksMTUgKzE5LDIzIEBACiAjaW5jbHVkZSAiY3VkYS5oIgog I2luY2x1ZGUgImVzY2MuaCIKIAotI2RlZmluZSBJT19OVlJBTV9TSVpFICAgMHgwMDAyMDAwMAot I2RlZmluZSBJT19OVlJBTV9PRkZTRVQgMHgwMDA2MDAwMAorI2RlZmluZSBPV19JT19OVlJBTV9T SVpFICAgMHgwMDAyMDAwMAorI2RlZmluZSBPV19JT19OVlJBTV9PRkZTRVQgMHgwMDA2MDAwMAor I2RlZmluZSBPV19JT19OVlJBTV9TSElGVCAgNAorCisjZGVmaW5lIE5XX0lPX05WUkFNX1NJWkUg ICAweDAwMDA0MDAwCisjZGVmaW5lIE5XX0lPX05WUkFNX09GRlNFVCAweGZmZjA0MDAwCisjZGVm aW5lIE5XX0lPX05WUkFNX1NISUZUICAxCiAKIHN0YXRpYyBjaGFyICpudnJhbTsKIAogaW50CiBh cmNoX252cmFtX3NpemUoIHZvaWQgKQogewotCXJldHVybiBJT19OVlJBTV9TSVpFPj40OworICAg ICAgICBpZiAoaXNfb2xkd29ybGQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gT1dfSU9fTlZS QU1fU0laRSA+PiBPV19JT19OVlJBTV9TSElGVDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg ICAgIHJldHVybiBOV19JT19OVlJBTV9TSVpFID4+IE5XX0lPX05WUkFNX1NISUZUOwogfQogCiB2 b2lkIG1hY2lvX252cmFtX2luaXQoY29uc3QgY2hhciAqcGF0aCwgdWludDMyX3QgYWRkcikKQEAg LTM2LDE0ICs0NCwyOCBAQAogCXBoYW5kbGVfdCBkbm9kZTsKIAlpbnQgcHJvcHNbMl07CiAJY2hh ciBidWZbNjRdOworICAgICAgICB1bnNpZ25lZCBsb25nIG52cmFtX3NpemUsIG52cmFtX29mZnNl dDsKIAotCW52cmFtID0gKGNoYXIqKWFkZHIgKyBJT19OVlJBTV9PRkZTRVQ7CisgICAgICAgIGlm IChpc19vbGR3b3JsZCgpKSB7CisgICAgICAgICAgICAgICAgbnZyYW1fb2Zmc2V0ID0gT1dfSU9f TlZSQU1fT0ZGU0VUOworICAgICAgICAgICAgICAgIG52cmFtX3NpemUgPSBPV19JT19OVlJBTV9T SVpFOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG52cmFtX29mZnNldCA9IE5X X0lPX05WUkFNX09GRlNFVDsKKyAgICAgICAgICAgICAgICBudnJhbV9zaXplID0gTldfSU9fTlZS QU1fU0laRTsKKyAgICAgICAgICAgICAgICBwdXNoX3N0cigiLyIpOworICAgICAgICAgICAgICAg IGZ3b3JkKCJmaW5kLWRldmljZSIpOworICAgICAgICAgICAgICAgIGZ3b3JkKCJuZXctZGV2aWNl Iik7CisgICAgICAgICAgICAgICAgcHVzaF9zdHIoIm52cmFtIik7CisgICAgICAgICAgICAgICAg ZndvcmQoImRldmljZS1uYW1lIik7CisgICAgICAgICAgICAgICAgZndvcmQoImZpbmlzaC1kZXZp Y2UiKTsKKyAgICAgICAgfQorCW52cmFtID0gKGNoYXIqKWFkZHIgKyBudnJhbV9vZmZzZXQ7CiAg ICAgICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlcy9udnJhbSIsIHBhdGgpOwogCW52 cmFtX2luaXQoYnVmKTsKIAlkbm9kZSA9IGZpbmRfZGV2KGJ1Zik7CiAJc2V0X2ludF9wcm9wZXJ0 eShkbm9kZSwgIiNieXRlcyIsIGFyY2hfbnZyYW1fc2l6ZSgpICk7Ci0JcHJvcHNbMF0gPSBfX2Nw dV90b19iZTMyKElPX05WUkFNX09GRlNFVCk7Ci0JcHJvcHNbMV0gPSBfX2NwdV90b19iZTMyKElP X05WUkFNX1NJWkUpOworCXByb3BzWzBdID0gX19jcHVfdG9fYmUzMihudnJhbV9vZmZzZXQpOwor CXByb3BzWzFdID0gX19jcHVfdG9fYmUzMihudnJhbV9zaXplKTsKIAlzZXRfcHJvcGVydHkoZG5v ZGUsICJyZWciLCAoY2hhciAqKSZwcm9wcywgc2l6ZW9mKHByb3BzKSk7CiAJc2V0X3Byb3BlcnR5 KGRub2RlLCAiZGV2aWNlX3R5cGUiLCAibnZyYW0iLCA2KTsKIApAQCAtODEsOCArMTAzLDE1IEBA CiBhcmNoX252cmFtX3B1dCggY2hhciAqYnVmICkKIHsKIAlpbnQgaTsKKyAgICAgICAgdW5zaWdu ZWQgaW50IGl0X3NoaWZ0OworCisgICAgICAgIGlmIChpc19vbGR3b3JsZCgpKQorICAgICAgICAg ICAgICAgIGl0X3NoaWZ0ID0gT1dfSU9fTlZSQU1fU0hJRlQ7CisgICAgICAgIGVsc2UKKyAgICAg ICAgICAgICAgICBpdF9zaGlmdCA9IE5XX0lPX05WUkFNX1NISUZUOworCiAJZm9yIChpPTA7IGk8 IGFyY2hfbnZyYW1fc2l6ZSgpIDsgaSsrKQotCQludnJhbVtpPDw0XT1idWZbaV07CisJCW52cmFt W2kgPDwgaXRfc2hpZnRdID0gYnVmW2ldOwogI2lmZGVmIERVTVBfTlZSQU0KIAlwcmludGsoIm5l dyBudnJhbTpcbiIpOwogCWR1bXBfbnZyYW0oKTsKQEAgLTkzLDggKzEyMiwxNSBAQAogYXJjaF9u dnJhbV9nZXQoIGNoYXIgKmJ1ZiApCiB7CiAJaW50IGk7CisgICAgICAgIHVuc2lnbmVkIGludCBp dF9zaGlmdDsKKworICAgICAgICBpZiAoaXNfb2xkd29ybGQoKSkKKyAgICAgICAgICAgICAgICBp dF9zaGlmdCA9IE9XX0lPX05WUkFNX1NISUZUOworICAgICAgICBlbHNlCisgICAgICAgICAgICAg ICAgaXRfc2hpZnQgPSBOV19JT19OVlJBTV9TSElGVDsKKwogCWZvciAoaT0wOyBpPCBhcmNoX252 cmFtX3NpemUoKTsgaSsrKQotCQlidWZbaV09bnZyYW1baTw8NF07CisgICAgICAgICAgICAgICAg YnVmW2ldID0gbnZyYW1baSA8PCBpdF9zaGlmdF07CiAKICNpZmRlZiBEVU1QX05WUkFNCiAJcHJp bnRrKCJjdXJyZW50IG52cmFtOlxuIik7CkBAIC0xMDMsNyArMTM5LDcgQEAKIH0KIAogdm9pZAot b2JfbWFjaW9faW5pdChjb25zdCBjaGFyICpwYXRoLCB1aW50MzJfdCBhZGRyKQorb2JfbWFjaW9f aGVhdGhyb3dfaW5pdChjb25zdCBjaGFyICpwYXRoLCB1aW50MzJfdCBhZGRyKQogewogICAgICAg ICBwaGFuZGxlX3QgYWxpYXNlczsKIApAQCAtMTE1LDMgKzE1MSwxOCBAQAogICAgICAgICBlc2Nj X2luaXQocGF0aCwgYWRkcik7CiAJbWFjaW9faWRlX2luaXQocGF0aCwgYWRkciwgMSk7CiB9CisK K3ZvaWQKK29iX21hY2lvX2tleWxhcmdvX2luaXQoY29uc3QgY2hhciAqcGF0aCwgdWludDMyX3Qg YWRkcikKK3sKKyAgICAgICAgcGhhbmRsZV90IGFsaWFzZXM7CisKKyAgICAgICAgYWxpYXNlcyA9 IGZpbmRfZGV2KCIvYWxpYXNlcyIpOworICAgICAgICBzZXRfcHJvcGVydHkoYWxpYXNlcywgIm1h Yy1pbyIsIHBhdGgsIHN0cmxlbihwYXRoKSArIDEpOworCisgICAgICAgIGN1ZGFfaW5pdChwYXRo LCBhZGRyKTsKKyAgICAgICAgLyogVGhlIE5ld1dvcmxkIE5WUkFNIGlzIG5vdCBsb2NhdGVkIGlu IHRoZSBNYWNJTyBkZXZpY2UgKi8KKyAgICAgICAgbWFjaW9fbnZyYW1faW5pdCgiIiwgMCk7Cisg ICAgICAgIGVzY2NfaW5pdChwYXRoLCBhZGRyKTsKKyAgICAgICAgbWFjaW9faWRlX2luaXQocGF0 aCwgYWRkciwgMyk7Cit9CkluZGV4OiBvcGVuYmlvcy1xdWlsdC9kcml2ZXJzL21hY2lvLmgKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gb3BlbmJpb3MtcXVpbHQub3JpZy9kcml2ZXJzL21hY2lvLmgJMjAwOS0wMi0w NyAxMToyNTowNi4wMDAwMDAwMDAgKzAwMDAKKysrIG9wZW5iaW9zLXF1aWx0L2RyaXZlcnMvbWFj aW8uaAkyMDA5LTAyLTA3IDExOjI1OjI3LjAwMDAwMDAwMCArMDAwMApAQCAtMSw0ICsxLDUgQEAK IGV4dGVybiBwaGFuZGxlX3QgcGljX2hhbmRsZTsKIAotdm9pZCBvYl9tYWNpb19pbml0KGNvbnN0 IGNoYXIgKnBhdGgsIHVpbnQzMl90IGFkZHIpOwordm9pZCBvYl9tYWNpb19oZWF0aHJvd19pbml0 KGNvbnN0IGNoYXIgKnBhdGgsIHVpbnQzMl90IGFkZHIpOwordm9pZCBvYl9tYWNpb19rZXlsYXJn b19pbml0KGNvbnN0IGNoYXIgKnBhdGgsIHVpbnQzMl90IGFkZHIpOwogdm9pZCBtYWNpb19udnJh bV9pbml0KGNvbnN0IGNoYXIgKnBhdGgsIHVpbnQzMl90IGFkZHIpOwpJbmRleDogb3BlbmJpb3Mt cXVpbHQvZHJpdmVycy9wY2kuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBvcGVuYmlvcy1xdWlsdC5vcmlnL2Ry aXZlcnMvcGNpLmMJMjAwOS0wMi0wNyAxMToyNTowNi4wMDAwMDAwMDAgKzAwMDAKKysrIG9wZW5i aW9zLXF1aWx0L2RyaXZlcnMvcGNpLmMJMjAwOS0wMi0wNyAxMToyNToyNy4wMDAwMDAwMDAgKzAw MDAKQEAgLTQxOSwxNiArNDE5LDI2IEBACiAJc2V0X3Byb3BlcnR5KGRldiwgInJhbmdlcyIsIChj aGFyICopcHJvcHMsIG5jZWxscyAqIHNpemVvZihjZWxsKSk7CiB9CiAKLWludCBtYWNpb19jb25m aWdfY2IgKGNvbnN0IHBjaV9jb25maWdfdCAqY29uZmlnKQoraW50IG1hY2lvX2hlYXRocm93X2Nv bmZpZ19jYiAoY29uc3QgcGNpX2NvbmZpZ190ICpjb25maWcpCiB7CiAJcGNpX3NldF9yYW5nZXMo Y29uZmlnKTsKIAogI2lmZGVmIENPTkZJR19EUklWRVJfTUFDSU8KLQlvYl9tYWNpb19pbml0KGNv bmZpZy0+cGF0aCwgY29uZmlnLT5hc3NpZ25lZFswXSAmIH4weDAwMDAwMDBGKTsKKyAgICAgICAg b2JfbWFjaW9faGVhdGhyb3dfaW5pdChjb25maWctPnBhdGgsIGNvbmZpZy0+YXNzaWduZWRbMF0g JiB+MHgwMDAwMDAwRik7CiAjZW5kaWYKIAlyZXR1cm4gMDsKIH0KIAoraW50IG1hY2lvX2tleWxh cmdvX2NvbmZpZ19jYiAoY29uc3QgcGNpX2NvbmZpZ190ICpjb25maWcpCit7CisgICAgICAgIHBj aV9zZXRfcmFuZ2VzKGNvbmZpZyk7CisKKyNpZmRlZiBDT05GSUdfRFJJVkVSX01BQ0lPCisgICAg ICAgIG9iX21hY2lvX2tleWxhcmdvX2luaXQoY29uZmlnLT5wYXRoLCBjb25maWctPmFzc2lnbmVk WzBdICYgfjB4MDAwMDAwMEYpOworI2VuZGlmCisgICAgICAgIHJldHVybiAwOworfQorCiBpbnQg dmdhX2NvbmZpZ19jYiAoY29uc3QgcGNpX2NvbmZpZ190ICpjb25maWcpCiB7CiAJaWYgKGNvbmZp Zy0+YXNzaWduZWRbMF0gIT0gMHgwMDAwMDAwMCkKSW5kZXg6IG9wZW5iaW9zLXF1aWx0L2RyaXZl cnMvcGNpX2RhdGFiYXNlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gb3BlbmJpb3MtcXVpbHQub3JpZy9kcml2 ZXJzL3BjaV9kYXRhYmFzZS5jCTIwMDktMDItMDcgMTE6MjU6MDYuMDAwMDAwMDAwICswMDAwCisr KyBvcGVuYmlvcy1xdWlsdC9kcml2ZXJzL3BjaV9kYXRhYmFzZS5jCTIwMDktMDItMDcgMTE6MjU6 MjcuMDAwMDAwMDAwICswMDAwCkBAIC0xMDcxLDIxICsxMDcxLDIxIEBACiAgICAgICAgIFBDSV9W RU5ET1JfSURfQVBQTEUsIFBDSV9ERVZJQ0VfSURfQVBQTEVfMzQzUzEyMDEsCiAgICAgICAgICJt YWMtaW8iLCAibWFjLWlvIiwgIkFBUEwsMzQzUzEyMDEiLCAiaGVhdGhyb3dcMCIsCiAgICAgICAg IDEsIDEsIDEsCi0gICAgICAgICZtYWNpb19jb25maWdfY2IsIE5VTEwsCisgICAgICAgICZtYWNp b19oZWF0aHJvd19jb25maWdfY2IsIE5VTEwsCiAgICAgfSwKICAgICAvKiBQYWRkaW5ndG9uIE1h YyBJL08gKi8KICAgICB7CiAgICAgICAgIFBDSV9WRU5ET1JfSURfQVBQTEUsIFBDSV9ERVZJQ0Vf SURfQVBQTEVfMzQzUzEyMTEsCiAgICAgICAgICJtYWMtaW8iLCAibWFjLWlvIiwgIkFBUEwsMzQz UzEyMTEiLCAicGFkZGluZ3RvblwwaGVhdGhyb3dcMCIsCiAgICAgICAgIDEsIDEsIDEsCi0gICAg ICAgICZtYWNpb19jb25maWdfY2IsIE5VTEwsCisgICAgICAgICZtYWNpb19oZWF0aHJvd19jb25m aWdfY2IsIE5VTEwsCiAgICAgfSwKICAgICAvKiBLZXlMYXJnbyBNYWMgSS9PICovCiAgICAgewog ICAgICAgICBQQ0lfVkVORE9SX0lEX0FQUExFLCBQQ0lfREVWSUNFX0lEX0FQUExFX1VOSV9OX0tF WUwsCiAgICAgICAgICJtYWMtaW8iLCAibWFjLWlvIiwgIkFBUEwsS2V5bGFyZ28iLCAiS2V5bGFy Z29cMCIsCiAgICAgICAgIDEsIDEsIDIsCi0gICAgICAgICZtYWNpb19jb25maWdfY2IsIE5VTEws CisgICAgICAgICZtYWNpb19rZXlsYXJnb19jb25maWdfY2IsIE5VTEwsCiAgICAgfSwKICAgICB7 CiAgICAgICAgIDB4RkZGRiwgMHhGRkZGLApJbmRleDogb3BlbmJpb3MtcXVpbHQvZHJpdmVycy9w Y2lfZGF0YWJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBvcGVuYmlvcy1xdWlsdC5vcmlnL2RyaXZlcnMv cGNpX2RhdGFiYXNlLmgJMjAwOS0wMi0wNyAxMToyNTowNi4wMDAwMDAwMDAgKzAwMDAKKysrIG9w ZW5iaW9zLXF1aWx0L2RyaXZlcnMvcGNpX2RhdGFiYXNlLmgJMjAwOS0wMi0wNyAxMToyNToyNy4w MDAwMDAwMDAgKzAwMDAKQEAgLTI3LDcgKzI3LDggQEAKIAogZXh0ZXJuIGludCBpZGVfY29uZmln X2NiMihjb25zdCBwY2lfY29uZmlnX3QgKmNvbmZpZyk7CiBleHRlcm4gaW50IGV0aF9jb25maWdf Y2IoY29uc3QgcGNpX2NvbmZpZ190ICpjb25maWcpOwotZXh0ZXJuIGludCBtYWNpb19jb25maWdf Y2IoY29uc3QgcGNpX2NvbmZpZ190ICpjb25maWcpOworZXh0ZXJuIGludCBtYWNpb19oZWF0aHJv d19jb25maWdfY2IoY29uc3QgcGNpX2NvbmZpZ190ICpjb25maWcpOworZXh0ZXJuIGludCBtYWNp b19rZXlsYXJnb19jb25maWdfY2IoY29uc3QgcGNpX2NvbmZpZ190ICpjb25maWcpOwogZXh0ZXJu IGludCB2Z2FfY29uZmlnX2NiKGNvbnN0IHBjaV9jb25maWdfdCAqY29uZmlnKTsKIGV4dGVybiBp bnQgaG9zdF9jb25maWdfY2IoY29uc3QgcGNpX2NvbmZpZ190ICpjb25maWcpOwogZXh0ZXJuIGlu dCBicmlkZ2VfY29uZmlnX2NiKGNvbnN0IHBjaV9jb25maWdfdCAqY29uZmlnKTsK --001636c597b653c95b0462529550 Content-Type: plain/text; name="q_1_chrp_use_openbios.diff" Content-Disposition: attachment; filename="q_1_chrp_use_openbios.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fqw7iikq SW5kZXg6IHFlbXUvaHcvcHBjX2NocnAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvcHBj X2NocnAuYwkyMDA5LTAyLTA3IDExOjI0OjUyLjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ody9w cGNfY2hycC5jCTIwMDktMDItMDcgMTE6MjU6MzUuMDAwMDAwMDAwICswMDAwCkBAIC0zMiwxMCAr MzIsMTIgQEAKICNpbmNsdWRlICJuZXQuaCIKICNpbmNsdWRlICJzeXNlbXUuaCIKICNpbmNsdWRl ICJib2FyZHMuaCIKKyNpbmNsdWRlICJmd19jZmcuaCIKICNpbmNsdWRlICJlc2NjLmgiCiAKICNk ZWZpbmUgTUFYX0lERV9CVVMgMgogI2RlZmluZSBWR0FfQklPU19TSVpFIDY1NTM2CisjZGVmaW5l IENGR19BRERSIDB4ZjAwMDA1MTAKIAogLyogZGVidWcgVW5pTm9ydGggKi8KIC8vI2RlZmluZSBE RUJVR19VTklOCkBAIC0xMDQsNiArMTA2LDcgQEAKICAgICBpbnQgcHBjX2Jvb3RfZGV2aWNlOwog ICAgIGludCBpbmRleDsKICAgICBCbG9ja0RyaXZlclN0YXRlICpoZFtNQVhfSURFX0JVUyAqIE1B WF9JREVfREVWU107CisgICAgdm9pZCAqZndfY2ZnOwogICAgIHZvaWQgKmRiZG1hOwogCiAgICAg bGludXhfYm9vdCA9IChrZXJuZWxfZmlsZW5hbWUgIT0gTlVMTCk7CkBAIC0xNDMsMjAgKzE0Niwx NiBAQAogICAgIC8qIGFsbG9jYXRlIGFuZCBsb2FkIEJJT1MgKi8KICAgICBiaW9zX29mZnNldCA9 IHFlbXVfcmFtX2FsbG9jKEJJT1NfU0laRSk7CiAgICAgaWYgKGJpb3NfbmFtZSA9PSBOVUxMKQot ICAgICAgICBiaW9zX25hbWUgPSBCSU9TX0ZJTEVOQU1FOworICAgICAgICBiaW9zX25hbWUgPSBQ Uk9NX0ZJTEVOQU1FOwogICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlcy8lcyIsIGJp b3NfZGlyLCBiaW9zX25hbWUpOwotICAgIGJpb3Nfc2l6ZSA9IGxvYWRfaW1hZ2UoYnVmLCBwaHlz X3JhbV9iYXNlICsgYmlvc19vZmZzZXQpOworICAgIGNwdV9yZWdpc3Rlcl9waHlzaWNhbF9tZW1v cnkoUFJPTV9BRERSLCBCSU9TX1NJWkUsIGJpb3Nfb2Zmc2V0IHwgSU9fTUVNX1JPTSk7CisKKyAg ICAvKiBMb2FkIE9wZW5CSU9TIChFTEYpICovCisgICAgYmlvc19zaXplID0gbG9hZF9lbGYoYnVm LCAwLCBOVUxMLCBOVUxMLCBOVUxMKTsKICAgICBpZiAoYmlvc19zaXplIDwgMCB8fCBiaW9zX3Np emUgPiBCSU9TX1NJWkUpIHsKICAgICAgICAgY3B1X2Fib3J0KGVudiwgInFlbXU6IGNvdWxkIG5v dCBsb2FkIFBvd2VyUEMgYmlvcyAnJXMnXG4iLCBidWYpOwogICAgICAgICBleGl0KDEpOwogICAg IH0KLSAgICBiaW9zX3NpemUgPSAoYmlvc19zaXplICsgMHhmZmYpICYgfjB4ZmZmOwotICAgIGlm IChiaW9zX3NpemUgPiAweDAwMDgwMDAwKSB7Ci0gICAgICAgIC8qIEFzIHRoZSBOVlJBTSBpcyBs b2NhdGVkIGF0IDB4RkZGMDQwMDAsIHdlIGNhbm5vdCB1c2UgMSBNQiBCSU9TZXMgKi8KLSAgICAg ICAgY3B1X2Fib3J0KGVudiwgIk1hYzk5IGhhcmR3YXJlIGNhbiBub3QgaGFuZGxlIDEgTUIgQklP U1xuIik7Ci0gICAgfQotICAgIGNwdV9yZWdpc3Rlcl9waHlzaWNhbF9tZW1vcnkoKHVpbnQzMl90 KSgtYmlvc19zaXplKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpb3Nfc2l6 ZSwgYmlvc19vZmZzZXQgfCBJT19NRU1fUk9NKTsKIAogICAgIC8qIGFsbG9jYXRlIGFuZCBsb2Fk IFZHQSBCSU9TICovCiAgICAgdmdhX2Jpb3Nfb2Zmc2V0ID0gcWVtdV9yYW1fYWxsb2MoVkdBX0JJ T1NfU0laRSk7CkBAIC0zNDksOCArMzQ4LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAg Z3JhcGhpY193aWR0aCwgZ3JhcGhpY19oZWlnaHQsIGdyYXBoaWNfZGVwdGgpOwogICAgIC8qIE5v IFBDSSBpbml0OiB0aGUgQklPUyB3aWxsIGRvIGl0ICovCiAKLSAgICAvKiBTcGVjaWFsIHBvcnQg dG8gZ2V0IGRlYnVnIG1lc3NhZ2VzIGZyb20gT3Blbi1GaXJtd2FyZSAqLwotICAgIHJlZ2lzdGVy X2lvcG9ydF93cml0ZSgweDBGMDAsIDQsIDEsICZQUENfZGVidWdfd3JpdGUsIE5VTEwpOworICAg IGZ3X2NmZyA9IGZ3X2NmZ19pbml0KDAsIDAsIENGR19BRERSLCBDRkdfQUREUiArIDIpOworICAg IGZ3X2NmZ19hZGRfaTMyKGZ3X2NmZywgRldfQ0ZHX0lELCAxKTsKKyAgICBmd19jZmdfYWRkX2k2 NChmd19jZmcsIEZXX0NGR19SQU1fU0laRSwgKHVpbnQ2NF90KXJhbV9zaXplKTsKKyAgICBmd19j ZmdfYWRkX2kxNihmd19jZmcsIEZXX0NGR19NQUNISU5FX0lELCBBUkNIX01BQzk5KTsKIH0KIAog UUVNVU1hY2hpbmUgY29yZTk5X21hY2hpbmUgPSB7Cg== --001636c597b653c95b0462529550 Content-Type: plain/text; name="q_2_chrp_use_mac_nvram.diff" Content-Disposition: attachment; filename="q_2_chrp_use_mac_nvram.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fqw7imxf SW5kZXg6IHFlbXUvaHcvcHBjX2NocnAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvcHBj X2NocnAuYwkyMDA5LTAyLTA3IDExOjI1OjM1LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ody9w cGNfY2hycC5jCTIwMDktMDItMDcgMTE6MjU6MzcuMDAwMDAwMDAwICswMDAwCkBAIC05MywxMiAr OTMsOCBAQAogICAgIHJhbV9hZGRyX3QgcmFtX29mZnNldCwgdmdhX3JhbV9vZmZzZXQsIGJpb3Nf b2Zmc2V0LCB2Z2FfYmlvc19vZmZzZXQ7CiAgICAgdWludDMyX3Qga2VybmVsX2Jhc2UsIGtlcm5l bF9zaXplLCBpbml0cmRfYmFzZSwgaW5pdHJkX3NpemU7CiAgICAgUENJQnVzICpwY2lfYnVzOwot ICAgIG52cmFtX3QgbnZyYW07Ci0jaWYgMAogICAgIE1hY0lPTlZSQU1TdGF0ZSAqbnZyOwogICAg IGludCBudnJhbV9tZW1faW5kZXg7Ci0jZW5kaWYKLSAgICBtNDh0NTlfdCAqbTQ4dDU5OwogICAg IGludCB2Z2FfYmlvc19zaXplLCBiaW9zX3NpemU7CiAgICAgcWVtdV9pcnEgKmR1bW15X2lycTsK ICAgICBpbnQgcGljX21lbV9pbmRleCwgZGJkbWFfbWVtX2luZGV4LCBjdWRhX21lbV9pbmRleCwg ZXNjY19tZW1faW5kZXg7CkBAIC0zMjUsMjcgKzMyMSwxMSBAQAogCiAgICAgaWYgKGdyYXBoaWNf ZGVwdGggIT0gMTUgJiYgZ3JhcGhpY19kZXB0aCAhPSAzMiAmJiBncmFwaGljX2RlcHRoICE9IDgp CiAgICAgICAgIGdyYXBoaWNfZGVwdGggPSAxNTsKLSNpZiAwIC8qIFhYWDogdGhpcyBpcyB1Z2x5 IGJ1dCBuZWVkZWQgZm9yIG5vdywgb3IgT0hXIHdvbid0IGJvb3QgKi8KKwogICAgIC8qIFRoZSBO ZXdXb3JsZCBOVlJBTSBpcyBub3QgbG9jYXRlZCBpbiB0aGUgTWFjSU8gZGV2aWNlICovCiAgICAg bnZyID0gbWFjaW9fbnZyYW1faW5pdCgmbnZyYW1fbWVtX2luZGV4LCAweDIwMDAsIDEpOwogICAg IHBtYWNfZm9ybWF0X252cmFtX3BhcnRpdGlvbihudnIsIDB4MjAwMCk7CiAgICAgbWFjaW9fbnZy YW1fbWFwKG52ciwgMHhGRkYwNDAwMCk7Ci0gICAgbnZyYW0ub3BhcXVlID0gbnZyOwotICAgIG52 cmFtLnJlYWRfZm4gPSAmbWFjaW9fbnZyYW1fcmVhZDsKLSAgICBudnJhbS53cml0ZV9mbiA9ICZt YWNpb19udnJhbV93cml0ZTsKLSNlbHNlCi0gICAgbTQ4dDU5ID0gbTQ4dDU5X2luaXQoZHVtbXlf aXJxWzhdLCAweEZGRjA0MDAwLCAweDAwNzQsIE5WUkFNX1NJWkUsIDU5KTsKLSAgICBudnJhbS5v cGFxdWUgPSBtNDh0NTk7Ci0gICAgbnZyYW0ucmVhZF9mbiA9ICZtNDh0NTlfcmVhZDsKLSAgICBu dnJhbS53cml0ZV9mbiA9ICZtNDh0NTlfd3JpdGU7Ci0jZW5kaWYKLSAgICBQUENfTlZSQU1fc2V0 X3BhcmFtcygmbnZyYW0sIE5WUkFNX1NJWkUsICJNQUM5OSIsIHJhbV9zaXplLAotICAgICAgICAg ICAgICAgICAgICAgICAgIHBwY19ib290X2RldmljZSwga2VybmVsX2Jhc2UsIGtlcm5lbF9zaXpl LAotICAgICAgICAgICAgICAgICAgICAgICAgIGtlcm5lbF9jbWRsaW5lLAotICAgICAgICAgICAg ICAgICAgICAgICAgIGluaXRyZF9iYXNlLCBpbml0cmRfc2l6ZSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAvKiBYWFg6IG5lZWQgYW4gb3B0aW9uIHRvIGxvYWQgYSBOVlJBTSBpbWFnZSAqLwot ICAgICAgICAgICAgICAgICAgICAgICAgIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgZ3Jh cGhpY193aWR0aCwgZ3JhcGhpY19oZWlnaHQsIGdyYXBoaWNfZGVwdGgpOwogICAgIC8qIE5vIFBD SSBpbml0OiB0aGUgQklPUyB3aWxsIGRvIGl0ICovCiAKICAgICBmd19jZmcgPSBmd19jZmdfaW5p dCgwLCAwLCBDRkdfQUREUiwgQ0ZHX0FERFIgKyAyKTsK --001636c597b653c95b0462529550 Content-Type: plain/text; name="q_3_fix_unin_config.diff" Content-Disposition: attachment; filename="q_3_fix_unin_config.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fqw7irn6 SW5kZXg6IHFlbXUvaHcvdW5pbl9wY2kuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvdW5p bl9wY2kuYwkyMDA5LTAyLTA3IDExOjI0OjQ3LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ody91 bmluX3BjaS5jCTIwMDktMDItMDcgMTE6MjU6MzkuMDAwMDAwMDAwICswMDAwCkBAIC00NCwyMiAr NDQsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgdmFsKQogewogICAgIFVOSU5TdGF0ZSAqcyA9IG9wYXF1ZTsKLSAgICBpbnQgaTsKIAogICAg IFVOSU5fRFBSSU5URigiY29uZmlnX3dyaXRlbCBhZGRyICIgVEFSR0VUX0ZNVF9wbHggIiB2YWwg JXhcbiIsIGFkZHIsIHZhbCk7CiAjaWZkZWYgVEFSR0VUX1dPUkRTX0JJR0VORElBTgogICAgIHZh bCA9IGJzd2FwMzIodmFsKTsKICNlbmRpZgogCi0gICAgZm9yIChpID0gMTE7IGkgPCAzMjsgaSsr KSB7Ci0gICAgICAgIGlmICgodmFsICYgKDEgPDwgaSkpICE9IDApCi0gICAgICAgICAgICBicmVh azsKLSAgICB9Ci0jaWYgMAotICAgIHMtPmNvbmZpZ19yZWcgPSAweDgwMDAwMDAwIHwgKDEgPDwg MTYpIHwgKHZhbCAmIDB4N0ZDKSB8IChpIDw8IDExKTsKLSNlbHNlCi0gICAgcy0+Y29uZmlnX3Jl ZyA9IDB4ODAwMDAwMDAgfCAoMCA8PCAxNikgfCAodmFsICYgMHg3RkMpIHwgKGkgPDwgMTEpOwot I2VuZGlmCisgICAgcy0+Y29uZmlnX3JlZyA9IHZhbDsKIH0KIAogc3RhdGljIHVpbnQzMl90IHBj aV91bmluX21haW5fY29uZmlnX3JlYWRsICh2b2lkICpvcGFxdWUsCkBAIC02NywxMCArNTgsOCBA QAogewogICAgIFVOSU5TdGF0ZSAqcyA9IG9wYXF1ZTsKICAgICB1aW50MzJfdCB2YWw7Ci0gICAg aW50IGRldmZuOwogCi0gICAgZGV2Zm4gPSAocy0+Y29uZmlnX3JlZyA+PiA4KSAmIDB4RkY7Ci0g ICAgdmFsID0gKDEgPDwgKGRldmZuID4+IDMpKSB8ICgoZGV2Zm4gJiAweDA3KSA8PCA4KSB8IChz LT5jb25maWdfcmVnICYgMHhGQyk7CisgICAgdmFsID0gcy0+Y29uZmlnX3JlZzsKICNpZmRlZiBU QVJHRVRfV09SRFNfQklHRU5ESUFOCiAgICAgdmFsID0gYnN3YXAzMih2YWwpOwogI2VuZGlmCg== --001636c597b653c95b0462529550 Content-Type: plain/text; name="q_4_chrp_use_pmac_ide.diff" Content-Disposition: attachment; filename="q_4_chrp_use_pmac_ide.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fqw7ivvm SW5kZXg6IHFlbXUvaHcvcHBjX2NocnAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvcHBj X2NocnAuYwkyMDA5LTAyLTA3IDExOjI1OjM3LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ody9w cGNfY2hycC5jCTIwMDktMDItMDcgMTE6MjU6NDEuMDAwMDAwMDAwICswMDAwCkBAIC05OCw3ICs5 OCw3IEBACiAgICAgaW50IHZnYV9iaW9zX3NpemUsIGJpb3Nfc2l6ZTsKICAgICBxZW11X2lycSAq ZHVtbXlfaXJxOwogICAgIGludCBwaWNfbWVtX2luZGV4LCBkYmRtYV9tZW1faW5kZXgsIGN1ZGFf bWVtX2luZGV4LCBlc2NjX21lbV9pbmRleDsKLSAgICBpbnQgaWRlX21lbV9pbmRleFsyXTsKKyAg ICBpbnQgaWRlX21lbV9pbmRleFszXTsKICAgICBpbnQgcHBjX2Jvb3RfZGV2aWNlOwogICAgIGlu dCBpbmRleDsKICAgICBCbG9ja0RyaXZlclN0YXRlICpoZFtNQVhfSURFX0JVUyAqIE1BWF9JREVf REVWU107CkBAIC0yOTgsMTIgKzI5OCwxMCBAQAogICAgICAgICAgICAgaGRbaV0gPSBOVUxMOwog ICAgIH0KICAgICBkYmRtYSA9IERCRE1BX2luaXQoJmRiZG1hX21lbV9pbmRleCk7Ci0jaWYgMQog ICAgIGlkZV9tZW1faW5kZXhbMF0gPSBwbWFjX2lkZV9pbml0KCZoZFswXSwgcGljWzB4MTNdLCBk YmRtYSwgMHgxNCwgcGljWzB4MDFdKTsKLSAgICBpZGVfbWVtX2luZGV4WzFdID0gcG1hY19pZGVf aW5pdCgmaGRbMl0sIHBpY1sweDE0XSwgZGJkbWEsIDB4MTYsIHBpY1sweDAyXSk7Ci0jZWxzZQot ICAgIHBjaV9jbWQ2NDZfaWRlX2luaXQocGNpX2J1cywgJmhkWzBdLCAwKTsKLSNlbmRpZgorICAg IGlkZV9tZW1faW5kZXhbMV0gPSBwbWFjX2lkZV9pbml0KCZoZFsxXSwgcGljWzB4MTRdLCBkYmRt YSwgMHgxNSwgcGljWzB4MDJdKTsKKyAgICBpZGVfbWVtX2luZGV4WzJdID0gcG1hY19pZGVfaW5p dCgmaGRbMl0sIHBpY1sweDE1XSwgZGJkbWEsIDB4MTYsIHBpY1sweDAzXSk7CisKICAgICAvKiBj dWRhIGFsc28gaW5pdGlhbGl6ZSBBREIgKi8KICAgICBjdWRhX2luaXQoJmN1ZGFfbWVtX2luZGV4 LCBwaWNbMHgxOV0pOwogCg== --001636c597b653c95b0462529550 Content-Type: plain/text; name="q_5_load_32bit_bios.diff" Content-Disposition: attachment; filename="q_5_load_32bit_bios.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fqw7j0aq SW5kZXg6IHFlbXUvdGFyZ2V0LXBwYy9jcHUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvdGFy Z2V0LXBwYy9jcHUuaAkyMDA5LTAyLTA3IDExOjI0OjQxLjAwMDAwMDAwMCArMDAwMAorKysgcWVt dS90YXJnZXQtcHBjL2NwdS5oCTIwMDktMDItMDcgMTE6MjU6NDMuMDAwMDAwMDAwICswMDAwCkBA IC02Niw3ICs2Niw4IEBACiAKICNkZWZpbmUgVEFSR0VUX0hBU19JQ0UgMQogCi0jaWYgZGVmaW5l ZCAoVEFSR0VUX1BQQzY0KQorLyogTG9hZCBhIDMyIGJpdCBCSU9TIGFsc28gb24gNjQgYml0IG1h Y2hpbmVzICovCisjaWYgZGVmaW5lZCAoVEFSR0VUX1BQQzY0KSAmJiBkZWZpbmVkKENPTkZJR19V U0VSX09OTFkpCiAjZGVmaW5lIEVMRl9NQUNISU5FICAgICBFTV9QUEM2NAogI2Vsc2UKICNkZWZp bmUgRUxGX01BQ0hJTkUgICAgIEVNX1BQQwpJbmRleDogcWVtdS9ody9wcGNfb2xkd29ybGQuYwo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvcHBjX29sZHdvcmxkLmMJMjAwOS0wMi0wNyAxMToy NDo0MS4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvcHBjX29sZHdvcmxkLmMJMjAwOS0wMi0w NyAxMToyNTo0My4wMDAwMDAwMDAgKzAwMDAKQEAgLTE1MiwxMyArMTUyLDYgQEAKICAgICAgICAg cWVtdV9yZWdpc3Rlcl9yZXNldCgmY3B1X3BwY19yZXNldCwgZW52KTsKICAgICAgICAgZW52c1tp XSA9IGVudjsKICAgICB9Ci0gICAgaWYgKGVudi0+bmlwIDwgMHhGRkY4MDAwMCkgewotICAgICAg ICAvKiBTcGVjaWFsIHRlc3QgZm9yIFBvd2VyUEMgNjAxOgotICAgICAgICAgKiB0aGUgYm9vdCB2 ZWN0b3IgaXMgYXQgMHhGRkYwMDEwMCwgdGhlbiB3ZSBuZWVkIGEgMU1CIEJJT1MuCi0gICAgICAg ICAqIEJ1dCB0aGUgTlZSQU0gaXMgbG9jYXRlZCBhdCAweEZGRjA0MDAwLi4uCi0gICAgICAgICAq LwotICAgICAgICBjcHVfYWJvcnQoZW52LCAiRzMgQmVpZ2UgTWFjIGhhcmR3YXJlIGNhbiBub3Qg aGFuZGxlIDEgTUIgQklPU1xuIik7Ci0gICAgfQogCiAgICAgLyogYWxsb2NhdGUgUkFNICovCiAg ICAgaWYgKHJhbV9zaXplID4gKDIwNDcgPDwgMjApKSB7CkluZGV4OiBxZW11L2h3L3BwY19jaHJw LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2h3L3BwY19jaHJwLmMJMjAwOS0wMi0wNyAxMToy NTo0MS4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvcHBjX2NocnAuYwkyMDA5LTAyLTA3IDEx OjI1OjQzLjAwMDAwMDAwMCArMDAwMApAQCAtMTI0LDEzICsxMjQsNiBAQAogICAgICAgICBxZW11 X3JlZ2lzdGVyX3Jlc2V0KCZjcHVfcHBjX3Jlc2V0LCBlbnYpOwogICAgICAgICBlbnZzW2ldID0g ZW52OwogICAgIH0KLSAgICBpZiAoZW52LT5uaXAgPCAweEZGRjgwMDAwKSB7Ci0gICAgICAgIC8q IFNwZWNpYWwgdGVzdCBmb3IgUG93ZXJQQyA2MDE6Ci0gICAgICAgICAqIHRoZSBib290IHZlY3Rv ciBpcyBhdCAweEZGRjAwMTAwLCB0aGVuIHdlIG5lZWQgYSAxTUIgQklPUy4KLSAgICAgICAgICog QnV0IHRoZSBOVlJBTSBpcyBsb2NhdGVkIGF0IDB4RkZGMDQwMDAuLi4KLSAgICAgICAgICovCi0g ICAgICAgIGNwdV9hYm9ydChlbnYsICJNYWM5OSBoYXJkd2FyZSBjYW4gbm90IGhhbmRsZSAxIE1C IEJJT1NcbiIpOwotICAgIH0KIAogICAgIC8qIGFsbG9jYXRlIFJBTSAqLwogICAgIHJhbV9vZmZz ZXQgPSBxZW11X3JhbV9hbGxvYyhyYW1fc2l6ZSk7Cg== --001636c597b653c95b0462529550--