From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750816AbVKIOMQ (ORCPT ); Wed, 9 Nov 2005 09:12:16 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750822AbVKIOMQ (ORCPT ); Wed, 9 Nov 2005 09:12:16 -0500 Received: from public.id2-vpn.continvity.gns.novell.com ([195.33.99.129]:60720 "EHLO emea1-mh.id2.novell.com") by vger.kernel.org with ESMTP id S1750816AbVKIOMQ (ORCPT ); Wed, 9 Nov 2005 09:12:16 -0500 Message-Id: <4372120B.76F0.0078.0@novell.com> X-Mailer: Novell GroupWise Internet Agent 7.0 Date: Wed, 09 Nov 2005 15:13:15 +0100 From: "Jan Beulich" To: "Andreas Kleen" Cc: , Subject: [PATCH 18/39] NLKD/x86-64 - INT1/INT3 handling changes References: <43720DAE.76F0.0078.0@novell.com> <43720E2E.76F0.0078.0@novell.com> <43720E72.76F0.0078.0@novell.com> <43720EAF.76F0.0078.0@novell.com> <43720F5E.76F0.0078.0@novell.com> <43720F95.76F0.0078.0@novell.com> <43720FBA.76F0.0078.0@novell.com> <43720FF6.76F0.0078.0@novell.com> <43721024.76F0.0078.0@novell.com> <4372105B.76F0.0078.0@novell.com> <437210D1.76F0.0078.0@novell.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=__PartB1938DEB.1__=" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org This is a MIME message. If you are reading this text, you may want to consider changing to a mail reader or gateway that understands how to properly handle MIME multipart messages. --=__PartB1938DEB.1__= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline This - switches the INT3 handler to run on an IST stack (to cope with breakpoints set by a kernel debugger on places where the kernel's %gs base hasn't been set up, yet); the IST stack used is shared with the INT1 handler's - allows nesting of INT1/INT3 handlers so that one can, with a kernel debugger, debug (at least) the user-mode portions of the INT1/INT3 handling; the nesting isn't actively enabled here since a kernel- debugger-free kernel doesn't need it From: Jan Beulich (actual patch attached) --=__PartB1938DEB.1__= Content-Type: application/octet-stream; name="linux-2.6.14-nlkd-x86_64-debug-stack.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="linux-2.6.14-nlkd-x86_64-debug-stack.patch" VGhpcwotIHN3aXRjaGVzIHRoZSBJTlQzIGhhbmRsZXIgdG8gcnVuIG9uIGFuIElTVCBzdGFjayAo dG8gY29wZSB3aXRoCiAgYnJlYWtwb2ludHMgc2V0IGJ5IGEga2VybmVsIGRlYnVnZ2VyIG9uIHBs YWNlcyB3aGVyZSB0aGUga2VybmVsJ3MKICAlZ3MgYmFzZSBoYXNuJ3QgYmVlbiBzZXQgdXAsIHll dCk7IHRoZSBJU1Qgc3RhY2sgdXNlZCBpcyBzaGFyZWQgd2l0aAogIHRoZSBJTlQxIGhhbmRsZXIn cwotIGFsbG93cyBuZXN0aW5nIG9mIElOVDEvSU5UMyBoYW5kbGVycyBzbyB0aGF0IG9uZSBjYW4s IHdpdGggYSBrZXJuZWwKICBkZWJ1Z2dlciwgZGVidWcgKGF0IGxlYXN0KSB0aGUgdXNlci1tb2Rl IHBvcnRpb25zIG9mIHRoZSBJTlQxL0lOVDMKICBoYW5kbGluZzsgdGhlIG5lc3RpbmcgaXNuJ3Qg YWN0aXZlbHkgZW5hYmxlZCBoZXJlIHNpbmNlIGEga2VybmVsLQogIGRlYnVnZ2VyLWZyZWUga2Vy bmVsIGRvZXNuJ3QgbmVlZCBpdAoKRnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQG5vdmVsbC5j b20+CgpJbmRleDogMi42LjE0LW5sa2QvYXJjaC94ODZfNjQva2VybmVsL2FzbS1vZmZzZXRzLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gMi42LjE0LW5sa2Qub3JpZy9hcmNoL3g4Nl82NC9rZXJuZWwvYXNtLW9m ZnNldHMuYwkyMDA1LTExLTA5IDExOjE4OjI2LjAwMDAwMDAwMCArMDEwMAorKysgMi42LjE0LW5s a2QvYXJjaC94ODZfNjQva2VybmVsL2FzbS1vZmZzZXRzLmMJMjAwNS0xMS0wNCAxNzoxNDowOC4w MDAwMDAwMDAgKzAxMDAKQEAgLTY0LDUgKzY0LDEwIEBAIGludCBtYWluKHZvaWQpCiAJREVGSU5F KHBiZV9hZGRyZXNzLCBvZmZzZXRvZihzdHJ1Y3QgcGJlLCBhZGRyZXNzKSk7CiAJREVGSU5FKHBi ZV9vcmlnX2FkZHJlc3MsIG9mZnNldG9mKHN0cnVjdCBwYmUsIG9yaWdfYWRkcmVzcykpOwogCURF RklORShwYmVfbmV4dCwgb2Zmc2V0b2Yoc3RydWN0IHBiZSwgbmV4dCkpOworCUJMQU5LKCk7CisJ REVGSU5FKEVYQ0VQVElPTl9TVEFDS19TSVpFLCBFWENFUFRJT05fU1RLU1opOworI2lmIERFQlVH X1NUS1NaID4gRVhDRVBUSU9OX1NUS1NaCisJREVGSU5FKERFQlVHX0lTVCwgREVCVUdfU1RBQ0sp OworI2VuZGlmCiAJcmV0dXJuIDA7CiB9CkluZGV4OiAyLjYuMTQtbmxrZC9hcmNoL3g4Nl82NC9r ZXJuZWwvZW50cnkuUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSAyLjYuMTQtbmxrZC5vcmlnL2FyY2gveDg2XzY0 L2tlcm5lbC9lbnRyeS5TCTIwMDUtMTEtMDkgMTE6MTg6MjYuMDAwMDAwMDAwICswMTAwCisrKyAy LjYuMTQtbmxrZC9hcmNoL3g4Nl82NC9rZXJuZWwvZW50cnkuUwkyMDA1LTExLTA5IDEwOjQ1OjI2 LjAwMDAwMDAwMCArMDEwMApAQCAtNjg1LDcgKzY4NSwxMCBAQCBFTkQoc3B1cmlvdXNfaW50ZXJy dXB0KQogCiAJLyogZXJyb3IgY29kZSBpcyBvbiB0aGUgc3RhY2sgYWxyZWFkeSAqLwogCS8qIGhh bmRsZSBOTUkgbGlrZSBleGNlcHRpb25zIHRoYXQgY2FuIGhhcHBlbiBldmVyeXdoZXJlICovCi0J Lm1hY3JvIHBhcmFub2lkZW50cnkgc3ltCisjaWZuZGVmIERFQlVHX0lTVAorIyBkZWZpbmUgREVC VUdfSVNUIDAKKyNlbmRpZgorCS5tYWNybyBwYXJhbm9pZGVudHJ5IHN5bSwgaXN0PTAKIAlTQVZF X0FMTAogCWNsZAogCW1vdmwgJDEsJWVieApAQCAtNjk1LDEwICs2OTgsMjAgQEAgRU5EKHNwdXJp b3VzX2ludGVycnVwdCkKIAlqcyAgICAxZgogCXN3YXBncwogCXhvcmwgICVlYngsJWVieAotMToJ bW92cSAlcnNwLCVyZGkKKzE6CisJLmlmIFxpc3QKKwltb3ZxCSVnczpwZGFfZGF0YV9vZmZzZXQs ICVyYnAKKwkuZW5kaWYKKwltb3ZxICVyc3AsJXJkaQogCW1vdnEgT1JJR19SQVgoJXJzcCksJXJz aQogCW1vdnEgJC0xLE9SSUdfUkFYKCVyc3ApCisJLmlmIFxpc3QKKwlzdWJxCSRFWENFUFRJT05f U1RBQ0tfU0laRSwgcGVyX2NwdV9faW5pdF90c3MgKyBUU1NfaXN0ICsgKFxpc3QgLSAxKSAqIDgo JXJicCkKKwkuZW5kaWYKIAljYWxsIFxzeW0KKwkuaWYgXGlzdAorCWFkZHEJJEVYQ0VQVElPTl9T VEFDS19TSVpFLCBwZXJfY3B1X19pbml0X3RzcyArIFRTU19pc3QgKyAoXGlzdCAtIDEpICogOCgl cmJwKQorCS5lbmRpZgogCWNsaQogCS5lbmRtCiAJCkBAIC05MjQsNyArOTM3LDcgQEAgS1BST0JF X0VOVFJZKGRlYnVnKQogIAlJTlRSX0ZSQU1FCiAJcHVzaHEgJDAKIAlDRklfQURKVVNUX0NGQV9P RkZTRVQgOAkJCi0JcGFyYW5vaWRlbnRyeSBkb19kZWJ1ZworCXBhcmFub2lkZW50cnkgZG9fZGVi dWcsIERFQlVHX0lTVAogCWptcCBwYXJhbm9pZF9leGl0CiAJQ0ZJX0VORFBST0MKIEVORChkZWJ1 ZykKQEAgLTk4MSw3ICs5OTQsMTIgQEAgcGFyYW5vaWRfc2NoZWR1bGU6CiBFTkQobm1pKQogCiBL UFJPQkVfRU5UUlkoaW50MykKLQl6ZXJvZW50cnkgZG9faW50MwkKKwlJTlRSX0ZSQU1FCisJcHVz aHEgJDAKKwlDRklfQURKVVNUX0NGQV9PRkZTRVQgOAorCXBhcmFub2lkZW50cnkgZG9faW50Mywg REVCVUdfSVNUCisJam1wIHBhcmFub2lkX2V4aXQKKwlDRklfRU5EUFJPQwogRU5EKGludDMpCiAJ LnByZXZpb3VzIC50ZXh0CiAKSW5kZXg6IDIuNi4xNC1ubGtkL2FyY2gveDg2XzY0L2tlcm5lbC9z ZXR1cDY0LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gMi42LjE0LW5sa2Qub3JpZy9hcmNoL3g4Nl82NC9rZXJu ZWwvc2V0dXA2NC5jCTIwMDUtMTEtMDkgMTE6MTg6MjYuMDAwMDAwMDAwICswMTAwCisrKyAyLjYu MTQtbmxrZC9hcmNoL3g4Nl82NC9rZXJuZWwvc2V0dXA2NC5jCTIwMDUtMTEtMDQgMTY6MTk6MzMu MDAwMDAwMDAwICswMTAwCkBAIC0xNDYsNyArMTQ2LDcgQEAgdm9pZCBwZGFfaW5pdChpbnQgY3B1 KQogCXBkYS0+aXJxc3RhY2twdHIgKz0gSVJRU1RBQ0tTSVpFLTY0OwogfSAKIAotY2hhciBib290 X2V4Y2VwdGlvbl9zdGFja3NbTl9FWENFUFRJT05fU1RBQ0tTICogRVhDRVBUSU9OX1NUS1NaXSAK K2NoYXIgYm9vdF9leGNlcHRpb25fc3RhY2tzWyhOX0VYQ0VQVElPTl9TVEFDS1MgLSAyKSAqIEVY Q0VQVElPTl9TVEtTWiArIERFQlVHX1NUS1NaXQogX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmJz cy5wYWdlX2FsaWduZWQiKSkpOwogCiAvKiBNYXkgbm90IGJlIG1hcmtlZCBfX2luaXQ6IHVzZWQg Ynkgc29mdHdhcmUgc3VzcGVuZCAqLwpAQCAtMjQzLDEzICsyNDMsMjcgQEAgdm9pZCBfX2NwdWlu aXQgY3B1X2luaXQgKHZvaWQpCiAJICovCiAJZm9yICh2ID0gMDsgdiA8IE5fRVhDRVBUSU9OX1NU QUNLUzsgdisrKSB7CiAJCWlmIChjcHUpIHsKLQkJCWVzdGFja3MgPSAoY2hhciAqKV9fZ2V0X2Zy ZWVfcGFnZXMoR0ZQX0FUT01JQywgCi0JCQkJCQkgICBFWENFUFRJT05fU1RBQ0tfT1JERVIpOwor CQkJc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBvcmRlcltOX0VYQ0VQVElPTl9TVEFDS1NdID0g eworCQkJCVswIC4uLiBOX0VYQ0VQVElPTl9TVEFDS1MgLSAxXSA9IEVYQ0VQVElPTl9TVEFDS19P UkRFUiwKKwkJCQlbREVCVUdfU1RBQ0sgLSAxXSA9IERFQlVHX1NUQUNLX09SREVSCisJCQl9Owor CisJCQllc3RhY2tzID0gKGNoYXIgKilfX2dldF9mcmVlX3BhZ2VzKEdGUF9BVE9NSUMsIG9yZGVy W3ZdKTsKIAkJCWlmICghZXN0YWNrcykKIAkJCQlwYW5pYygiQ2Fubm90IGFsbG9jYXRlIGV4Y2Vw dGlvbiBzdGFjayAlbGQgJWRcbiIsCiAJCQkJICAgICAgdiwgY3B1KTsgCiAJCX0KLQkJZXN0YWNr cyArPSBFWENFUFRJT05fU1RLU1o7CisJCXN3aXRjaCAodiArIDEpIHsKKyNpZiBERUJVR19TVEtT WiA+IEVYQ0VQVElPTl9TVEtTWgorCQljYXNlIERFQlVHX1NUQUNLOgorCQkJY3B1X3BkYVtjcHVd LmRlYnVnc3RhY2sgPSAodW5zaWduZWQgbG9uZyllc3RhY2tzOworCQkJZXN0YWNrcyArPSBERUJV R19TVEtTWjsKKwkJCWJyZWFrOworI2VuZGlmCisJCWRlZmF1bHQ6CisJCQllc3RhY2tzICs9IEVY Q0VQVElPTl9TVEtTWjsKKwkJCWJyZWFrOworCQl9CiAJCXQtPmlzdFt2XSA9ICh1bnNpZ25lZCBs b25nKWVzdGFja3M7CiAJfQogCkluZGV4OiAyLjYuMTQtbmxrZC9hcmNoL3g4Nl82NC9rZXJuZWwv dHJhcHMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSAyLjYuMTQtbmxrZC5vcmlnL2FyY2gveDg2XzY0L2tlcm5l bC90cmFwcy5jCTIwMDUtMTEtMDkgMTE6MTg6MjYuMDAwMDAwMDAwICswMTAwCisrKyAyLjYuMTQt bmxrZC9hcmNoL3g4Nl82NC9rZXJuZWwvdHJhcHMuYwkyMDA1LTExLTA5IDExOjE5OjM2LjAwMDAw MDAwMCArMDEwMApAQCAtMTIxLDE5ICsxMjEsMzEgQEAgaW50IHByaW50a19hZGRyZXNzKHVuc2ln bmVkIGxvbmcgYWRkcmVzcwogc3RhdGljIHVuc2lnbmVkIGxvbmcgKmluX2V4Y2VwdGlvbl9zdGFj ayh1bnNpZ25lZCBjcHUsIHVuc2lnbmVkIGxvbmcgc3RhY2ssCiAJCQkJCXVuc2lnbmVkICp1c2Vk cCwgY29uc3QgY2hhciAqKmlkcCkKIHsKLQlzdGF0aWMgY29uc3QgY2hhciBpZHNbTl9FWENFUFRJ T05fU1RBQ0tTXVs4XSA9IHsKKwlzdGF0aWMgY2hhciBpZHNbXVs4XSA9IHsKIAkJW0RFQlVHX1NU QUNLIC0gMV0gPSAiI0RCIiwKIAkJW05NSV9TVEFDSyAtIDFdID0gIk5NSSIsCiAJCVtET1VCTEVG QVVMVF9TVEFDSyAtIDFdID0gIiNERiIsCiAJCVtTVEFDS0ZBVUxUX1NUQUNLIC0gMV0gPSAiI1NT IiwKIAkJW01DRV9TVEFDSyAtIDFdID0gIiNNQyIsCisjaWYgREVCVUdfU1RLU1ogPiBFWENFUFRJ T05fU1RLU1oKKwkJW05fRVhDRVBUSU9OX1NUQUNLUyAuLi4gTl9FWENFUFRJT05fU1RBQ0tTICsg REVCVUdfU1RLU1ogLyBFWENFUFRJT05fU1RLU1ogLSAyXSA9ICIjREJbP10iCisjZW5kaWYKIAl9 OwogCXVuc2lnbmVkIGs7CiAKIAlmb3IgKGsgPSAwOyBrIDwgTl9FWENFUFRJT05fU1RBQ0tTOyBr KyspIHsKIAkJdW5zaWduZWQgbG9uZyBlbmQ7CiAKLQkJZW5kID0gcGVyX2NwdShpbml0X3Rzcywg Y3B1KS5pc3Rba107CisJCXN3aXRjaCAoayArIDEpIHsKKyNpZiBERUJVR19TVEtTWiA+IEVYQ0VQ VElPTl9TVEtTWgorCQljYXNlIERFQlVHX1NUQUNLOgorCQkJZW5kID0gY3B1X3BkYVtjcHVdLmRl YnVnc3RhY2sgKyBERUJVR19TVEtTWjsKKwkJCWJyZWFrOworI2VuZGlmCisJCWRlZmF1bHQ6CisJ CQllbmQgPSBwZXJfY3B1KGluaXRfdHNzLCBjcHUpLmlzdFtrXTsKKwkJCWJyZWFrOworCQl9CiAJ CWlmIChzdGFjayA+PSBlbmQpCiAJCQljb250aW51ZTsKIAkJaWYgKHN0YWNrID49IGVuZCAtIEVY Q0VQVElPTl9TVEtTWikgewpAQCAtMTQzLDYgKzE1NSwyMiBAQCBzdGF0aWMgdW5zaWduZWQgbG9u ZyAqaW5fZXhjZXB0aW9uX3N0YWNrCiAJCQkqaWRwID0gaWRzW2tdOwogCQkJcmV0dXJuICh1bnNp Z25lZCBsb25nICopZW5kOwogCQl9CisjaWYgREVCVUdfU1RLU1ogPiBFWENFUFRJT05fU1RLU1oK KwkJaWYgKGsgPT0gREVCVUdfU1RBQ0sgLSAxICYmIHN0YWNrID49IGVuZCAtIERFQlVHX1NUS1Na KSB7CisJCQl1bnNpZ25lZCBqID0gTl9FWENFUFRJT05fU1RBQ0tTIC0gMTsKKworCQkJZG8gewor CQkJCSsrajsKKwkJCQllbmQgLT0gRVhDRVBUSU9OX1NUS1NaOworCQkJCWlkc1tqXVs0XSA9ICcx JyArIChqIC0gTl9FWENFUFRJT05fU1RBQ0tTKTsKKwkJCX0gd2hpbGUgKHN0YWNrIDwgZW5kIC0g RVhDRVBUSU9OX1NUS1NaKTsKKwkJCWlmICgqdXNlZHAgJiAoMVUgPDwgaikpCisJCQkJYnJlYWs7 CisJCQkqdXNlZHAgfD0gMVUgPDwgajsKKwkJCSppZHAgPSBpZHNbal07CisJCQlyZXR1cm4gKHVu c2lnbmVkIGxvbmcgKillbmQ7CisJCX0KKyNlbmRpZgogCX0KIAlyZXR1cm4gTlVMTDsKIH0KQEAg LTY1Miw2ICs2ODAsNyBAQCBhc21saW5rYWdlIHZvaWQgZGVmYXVsdF9kb19ubWkoc3RydWN0IHB0 CiAJCWlvX2NoZWNrX2Vycm9yKHJlYXNvbiwgcmVncyk7CiB9CiAKKy8qIHJ1bnMgb24gSVNUIHN0 YWNrLiAqLwogYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcyBkb19pbnQzKHN0cnVjdCBwdF9yZWdz ICogcmVncywgbG9uZyBlcnJvcl9jb2RlKQogewogCWlmIChub3RpZnlfZGllKERJRV9JTlQzLCAi aW50MyIsIHJlZ3MsIGVycm9yX2NvZGUsIDMsIFNJR1RSQVApID09IE5PVElGWV9TVE9QKSB7CkBA IC05NDIsNyArOTcxLDcgQEAgdm9pZCBfX2luaXQgdHJhcF9pbml0KHZvaWQpCiAJc2V0X2ludHJf Z2F0ZSgwLCZkaXZpZGVfZXJyb3IpOwogCXNldF9pbnRyX2dhdGVfaXN0KDEsJmRlYnVnLERFQlVH X1NUQUNLKTsKIAlzZXRfaW50cl9nYXRlX2lzdCgyLCZubWksTk1JX1NUQUNLKTsKLQlzZXRfc3lz dGVtX2dhdGUoMywmaW50Myk7CisJc2V0X3N5c3RlbV9nYXRlX2lzdCgzLCZpbnQzLERFQlVHX1NU QUNLKTsgLyogaW50MyBjYW4gYmUgY2FsbGVkIGZyb20gYWxsICovCiAJc2V0X3N5c3RlbV9nYXRl KDQsJm92ZXJmbG93KTsJLyogaW50NCBjYW4gYmUgY2FsbGVkIGZyb20gYWxsICovCiAJc2V0X2lu dHJfZ2F0ZSg1LCZib3VuZHMpOwogCXNldF9pbnRyX2dhdGUoNiwmaW52YWxpZF9vcCk7CkluZGV4 OiAyLjYuMTQtbmxrZC9pbmNsdWRlL2FzbS14ODZfNjQvZGVzYy5oCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIDIu Ni4xNC1ubGtkLm9yaWcvaW5jbHVkZS9hc20teDg2XzY0L2Rlc2MuaAkyMDA1LTExLTA5IDExOjE4 OjI3LjAwMDAwMDAwMCArMDEwMAorKysgMi42LjE0LW5sa2QvaW5jbHVkZS9hc20teDg2XzY0L2Rl c2MuaAkyMDA1LTExLTA0IDE2OjE5OjM0LjAwMDAwMDAwMCArMDEwMApAQCAtMTExLDYgKzExMSwx MSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc2V0X3N5c3RlbV9nYXRlKGludCBuCiAJX3NldF9nYXRl KCZpZHRfdGFibGVbbnJdLCBHQVRFX0lOVEVSUlVQVCwgKHVuc2lnbmVkIGxvbmcpIGZ1bmMsIDMs IDApOyAKIH0gCiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRfc3lzdGVtX2dhdGVfaXN0KGludCBu ciwgdm9pZCAqZnVuYywgdW5zaWduZWQgaXN0KQoreworCV9zZXRfZ2F0ZSgmaWR0X3RhYmxlW25y XSwgR0FURV9JTlRFUlJVUFQsICh1bnNpZ25lZCBsb25nKSBmdW5jLCAzLCBpc3QpOworfQorCiBz dGF0aWMgaW5saW5lIHZvaWQgc2V0X3Rzc2xkdF9kZXNjcmlwdG9yKHZvaWQgKnB0ciwgdW5zaWdu ZWQgbG9uZyB0c3MsIHVuc2lnbmVkIHR5cGUsIAogCQkJCQkgdW5zaWduZWQgc2l6ZSkgCiB7IApJ bmRleDogMi42LjE0LW5sa2QvaW5jbHVkZS9hc20teDg2XzY0L3BkYS5oCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IDIuNi4xNC1ubGtkLm9yaWcvaW5jbHVkZS9hc20teDg2XzY0L3BkYS5oCTIwMDUtMTEtMDkgMTE6 MTg6MjcuMDAwMDAwMDAwICswMTAwCisrKyAyLjYuMTQtbmxrZC9pbmNsdWRlL2FzbS14ODZfNjQv cGRhLmgJMjAwNS0xMS0wNyAxMDozMzo0Mi4wMDAwMDAwMDAgKzAxMDAKQEAgLTEyLDYgKzEyLDEw IEBAIHN0cnVjdCB4ODY2NF9wZGEgewogCXVuc2lnbmVkIGxvbmcgZGF0YV9vZmZzZXQ7CS8qIFBl ciBjcHUgZGF0YSBvZmZzZXQgZnJvbSBsaW5rZXIgYWRkcmVzcyAqLwogCXVuc2lnbmVkIGxvbmcg a2VybmVsc3RhY2s7ICAvKiB0b3Agb2Yga2VybmVsIHN0YWNrIGZvciBjdXJyZW50ICovIAogCXVu c2lnbmVkIGxvbmcgb2xkcnNwOyAJICAgIC8qIHVzZXIgcnNwIGZvciBzeXN0ZW0gY2FsbCAqLwor I2lmZGVmIENPTkZJR19OTEtEIC8qIEJldHRlciB3b3VsZCBiZSBERUJVR19TVEtTWiA+IEVYQ0VQ VElPTl9TVEtTWiwgYnV0CisgICAgICAgICAgICAgICAgICAgICAgdGhpcyBmaWxlIGNhbid0IGlu Y2x1ZGUgcHJvY2Vzc29yLmguICovCisJdW5zaWduZWQgbG9uZyBkZWJ1Z3N0YWNrOyAgIC8qICNE Qi8jQlAgc3RhY2suICovCisjZW5kaWYKICAgICAgICAgaW50IGlycWNvdW50OwkJICAgIC8qIEly cSBuZXN0aW5nIGNvdW50ZXIuIFN0YXJ0cyB3aXRoIC0xICovICAJCiAJaW50IGNwdW51bWJlcjsJ CSAgICAvKiBMb2dpY2FsIENQVSBudW1iZXIgKi8KIAljaGFyICppcnFzdGFja3B0cjsJLyogdG9w IG9mIGlycXN0YWNrICovCkluZGV4OiAyLjYuMTQtbmxrZC9pbmNsdWRlL2FzbS14ODZfNjQvcHJv Y2Vzc29yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gMi42LjE0LW5sa2Qub3JpZy9pbmNsdWRlL2FzbS14ODZf NjQvcHJvY2Vzc29yLmgJMjAwNS0xMS0wOSAxMToxODoyNy4wMDAwMDAwMDAgKzAxMDAKKysrIDIu Ni4xNC1ubGtkL2luY2x1ZGUvYXNtLXg4Nl82NC9wcm9jZXNzb3IuaAkyMDA1LTExLTA3IDEwOjM2 OjA2LjAwMDAwMDAwMCArMDEwMApAQCAtMjcxLDggKzI3MSwxMCBAQCBzdHJ1Y3QgdGhyZWFkX3N0 cnVjdCB7CiAjZGVmaW5lIERFQlVHX1NUQUNLIDQgCiAjZGVmaW5lIE1DRV9TVEFDSyA1CiAjZGVm aW5lIE5fRVhDRVBUSU9OX1NUQUNLUyA1ICAvKiBodyBsaW1pdDogNyAqLwotI2RlZmluZSBFWENF UFRJT05fU1RLU1ogKFBBR0VfU0laRSA8PCBFWENFUFRJT05fU1RBQ0tfT1JERVIpCiAjZGVmaW5l IEVYQ0VQVElPTl9TVEFDS19PUkRFUiAwIAorI2RlZmluZSBFWENFUFRJT05fU1RLU1ogKFBBR0Vf U0laRSA8PCBFWENFUFRJT05fU1RBQ0tfT1JERVIpCisjZGVmaW5lIERFQlVHX1NUQUNLX09SREVS IEVYQ0VQVElPTl9TVEFDS19PUkRFUgorI2RlZmluZSBERUJVR19TVEtTWiAoUEFHRV9TSVpFIDw8 IERFQlVHX1NUQUNLX09SREVSKQogCiAjZGVmaW5lIHN0YXJ0X3RocmVhZChyZWdzLG5ld19yaXAs bmV3X3JzcCkgZG8geyBcCiAJYXNtIHZvbGF0aWxlKCJtb3ZsICUwLCUlZnM7IG1vdmwgJTAsJSVl czsgbW92bCAlMCwlJWRzIjogOiJyIiAoMCkpOwkgXAo= --=__PartB1938DEB.1__=--