From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=49616 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OIOIZ-0003ft-JB for qemu-devel@nongnu.org; Sat, 29 May 2010 11:50:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OIHBG-0002jU-KX for qemu-devel@nongnu.org; Sat, 29 May 2010 04:14:07 -0400 Received: from mail-pw0-f45.google.com ([209.85.160.45]:63797) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OIHBG-0002jM-Cq for qemu-devel@nongnu.org; Sat, 29 May 2010 04:14:06 -0400 Received: by pwi7 with SMTP id 7so122112pwi.4 for ; Sat, 29 May 2010 01:14:05 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <201005282034.21254.paul@codesourcery.com> References: <201005282034.21254.paul@codesourcery.com> From: Blue Swirl Date: Sat, 29 May 2010 08:13:45 +0000 Message-ID: Subject: Re: [Qemu-devel] [PATCH] Compile dma only once Content-Type: multipart/mixed; boundary=000e0cd28aaa06a9040487b735b8 List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paul Brook Cc: qemu-devel@nongnu.org --000e0cd28aaa06a9040487b735b8 Content-Type: text/plain; charset=UTF-8 On Fri, May 28, 2010 at 7:34 PM, Paul Brook wrote: >> Use a qemu_irq to request CPU exit. > > Needing to request a CPU exit at all is just wrong. See previous discussions > about how any use of qemu_bh_schedule_idle is fundamentally broken. I agree for the device case. Is the attached patch then OK? But what about other uses (with the patch applied): User emulator signal delivery: /src/qemu/darwin-user/signal.c:216: cpu_exit(global_env); /src/qemu/linux-user/signal.c:507: cpu_exit(thread_env); qemu_notify_event(): /src/qemu/cpus.c:286: cpu_exit(env); /src/qemu/cpus.c:289: cpu_exit(next_cpu); Is that broken too and should be removed? cpu_signal(): /src/qemu/cpus.c:531: cpu_exit(cpu_single_env); vm_stop(): /src/qemu/cpus.c:733: cpu_exit(cpu_single_env); KVM IO window exit: /src/qemu/kvm-all.c:859: cpu_exit(env); Some exclusive ARM operation: /src/qemu/linux-user/main.c:152: cpu_exit(other); ARM/m68k semihosting: /src/qemu/gdbstub.c:2296: cpu_exit(s->c_cpu); --000e0cd28aaa06a9040487b735b8 Content-Type: application/x-patch; name="0001-dma-remove-DMA_schedule-and-related-cpu_request_exi.patch" Content-Disposition: attachment; filename="0001-dma-remove-DMA_schedule-and-related-cpu_request_exi.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g9s5pbpg0 RnJvbSAxMjk0MGU0YmY1N2FmNDgwMWZmYzIwOTA5NWI2YWRjYzA2OTMzMjBmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCbHVlIFN3aXJsIDxibGF1d2lyYmVsQGdtYWlsLmNvbT4KRGF0 ZTogU2F0LCAyOSBNYXkgMjAxMCAwNzo1OTo0MCArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIGRtYTog cmVtb3ZlIERNQV9zY2hlZHVsZSBhbmQgcmVsYXRlZCBjcHVfcmVxdWVzdF9leGl0IGlycQoKSXQn cyB3cm9uZyBmb3IgZGV2aWNlcyB0byByZXF1ZXN0IGNwdV9leGl0LiBSZW1vdmUgRE1BX3NjaGVk dWxlIGFuZApjcHVfcmVxdWVzdF9leGl0IGlycSwgdGh1cyBwYXJ0aWFsbHkgcmV2ZXJ0aW5nCjQ1 NTZiZDhiMjUxNGE1NWQ0OGMxNWIxYWRiMTc1MzdmNDk2NTc3NDQuCgpTaWduZWQtb2ZmLWJ5OiBC bHVlIFN3aXJsIDxibGF1d2lyYmVsQGdtYWlsLmNvbT4KLS0tCiBody9kbWEuYyAgICAgICAgfCAg IDE5ICsrKystLS0tLS0tLS0tLS0tLS0KIGh3L2ZkYy5jICAgICAgICB8ICAgIDEgLQogaHcvaXNh LmggICAgICAgIHwgICAgMyArLS0KIGh3L21pcHNfamF6ei5jICB8ICAgMTMgKy0tLS0tLS0tLS0t LQogaHcvbWlwc19tYWx0YS5jIHwgICAxMyArLS0tLS0tLS0tLS0tCiBody9wYy5jICAgICAgICAg fCAgIDEzICstLS0tLS0tLS0tLS0KIGh3L3BwY19wcmVwLmMgICB8ICAgMTMgKy0tLS0tLS0tLS0t LQogaHcvc3VuNG0uYyAgICAgIHwgICAgMSAtCiBody9zdW40dS5jICAgICAgfCAgICAxIC0KIDkg ZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA2OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9ody9kbWEuYyBiL2h3L2RtYS5jCmluZGV4IDViMjE1MjEuLjEwMTViNDEgMTAwNjQ0Ci0t LSBhL2h3L2RtYS5jCisrKyBiL2h3L2RtYS5jCkBAIC01Nyw3ICs1Nyw2IEBAIHN0YXRpYyBzdHJ1 Y3QgZG1hX2NvbnQgewogICAgIHVpbnQ4X3QgZmxpcF9mbG9wOwogICAgIGludCBkc2hpZnQ7CiAg ICAgc3RydWN0IGRtYV9yZWdzIHJlZ3NbNF07Ci0gICAgcWVtdV9pcnEgKmNwdV9yZXF1ZXN0X2V4 aXQ7CiB9IGRtYV9jb250cm9sbGVyc1syXTsKIAogZW51bSB7CkBAIC00NDIsMTQgKzQ0MSw2IEBA IGludCBETUFfd3JpdGVfbWVtb3J5IChpbnQgbmNoYW4sIHZvaWQgKmJ1ZiwgaW50IHBvcywgaW50 IGxlbikKICAgICByZXR1cm4gbGVuOwogfQogCi0vKiByZXF1ZXN0IHRoZSBlbXVsYXRvciB0byB0 cmFuc2ZlciBhIG5ldyBETUEgbWVtb3J5IGJsb2NrIEFTQVAgKi8KLXZvaWQgRE1BX3NjaGVkdWxl KGludCBuY2hhbikKLXsKLSAgICBzdHJ1Y3QgZG1hX2NvbnQgKmQgPSAmZG1hX2NvbnRyb2xsZXJz W25jaGFuID4gM107Ci0KLSAgICBxZW11X2lycV9wdWxzZSgqZC0+Y3B1X3JlcXVlc3RfZXhpdCk7 Ci19Ci0KIHN0YXRpYyB2b2lkIGRtYV9yZXNldCh2b2lkICpvcGFxdWUpCiB7CiAgICAgc3RydWN0 IGRtYV9jb250ICpkID0gb3BhcXVlOwpAQCAtNDY1LDE0ICs0NTYsMTIgQEAgc3RhdGljIGludCBk bWFfcGhvbnlfaGFuZGxlciAodm9pZCAqb3BhcXVlLCBpbnQgbmNoYW4sIGludCBkbWFfcG9zLCBp bnQgZG1hX2xlbikKIAogLyogZHNoaWZ0ID0gMDogOCBiaXQgRE1BLCAxID0gMTYgYml0IERNQSAq Lwogc3RhdGljIHZvaWQgZG1hX2luaXQyKHN0cnVjdCBkbWFfY29udCAqZCwgaW50IGJhc2UsIGlu dCBkc2hpZnQsCi0gICAgICAgICAgICAgICAgICAgICAgaW50IHBhZ2VfYmFzZSwgaW50IHBhZ2Vo X2Jhc2UsCi0gICAgICAgICAgICAgICAgICAgICAgcWVtdV9pcnEgKmNwdV9yZXF1ZXN0X2V4aXQp CisgICAgICAgICAgICAgICAgICAgICAgaW50IHBhZ2VfYmFzZSwgaW50IHBhZ2VoX2Jhc2UpCiB7 CiAgICAgc3RhdGljIGNvbnN0IGludCBwYWdlX3BvcnRfbGlzdFtdID0geyAweDEsIDB4MiwgMHgz LCAweDcgfTsKICAgICBpbnQgaTsKIAogICAgIGQtPmRzaGlmdCA9IGRzaGlmdDsKLSAgICBkLT5j cHVfcmVxdWVzdF9leGl0ID0gY3B1X3JlcXVlc3RfZXhpdDsKICAgICBmb3IgKGkgPSAwOyBpIDwg ODsgaSsrKSB7CiAgICAgICAgIHJlZ2lzdGVyX2lvcG9ydF93cml0ZSAoYmFzZSArIChpIDw8IGRz aGlmdCksIDEsIDEsIHdyaXRlX2NoYW4sIGQpOwogICAgICAgICByZWdpc3Rlcl9pb3BvcnRfcmVh ZCAoYmFzZSArIChpIDw8IGRzaGlmdCksIDEsIDEsIHJlYWRfY2hhbiwgZCk7CkBAIC01NDIsMTIg KzUzMSwxMiBAQCBzdGF0aWMgY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9uIHZtc3RhdGVfZG1hID0g ewogICAgIH0KIH07CiAKLXZvaWQgRE1BX2luaXQoaW50IGhpZ2hfcGFnZV9lbmFibGUsIHFlbXVf aXJxICpjcHVfcmVxdWVzdF9leGl0KQordm9pZCBETUFfaW5pdChpbnQgaGlnaF9wYWdlX2VuYWJs ZSkKIHsKICAgICBkbWFfaW5pdDIoJmRtYV9jb250cm9sbGVyc1swXSwgMHgwMCwgMCwgMHg4MCwK LSAgICAgICAgICAgICAgaGlnaF9wYWdlX2VuYWJsZSA/IDB4NDgwIDogLTEsIGNwdV9yZXF1ZXN0 X2V4aXQpOworICAgICAgICAgICAgICBoaWdoX3BhZ2VfZW5hYmxlID8gMHg0ODAgOiAtMSk7CiAg ICAgZG1hX2luaXQyKCZkbWFfY29udHJvbGxlcnNbMV0sIDB4YzAsIDEsIDB4ODgsCi0gICAgICAg ICAgICAgIGhpZ2hfcGFnZV9lbmFibGUgPyAweDQ4OCA6IC0xLCBjcHVfcmVxdWVzdF9leGl0KTsK KyAgICAgICAgICAgICAgaGlnaF9wYWdlX2VuYWJsZSA/IDB4NDg4IDogLTEpOwogICAgIHZtc3Rh dGVfcmVnaXN0ZXIgKDAsICZ2bXN0YXRlX2RtYSwgJmRtYV9jb250cm9sbGVyc1swXSk7CiAgICAg dm1zdGF0ZV9yZWdpc3RlciAoMSwgJnZtc3RhdGVfZG1hLCAmZG1hX2NvbnRyb2xsZXJzWzFdKTsK IApkaWZmIC0tZ2l0IGEvaHcvZmRjLmMgYi9ody9mZGMuYwppbmRleCA2MzA2NDk2Li5kNDUwNWI0 IDEwMDY0NAotLS0gYS9ody9mZGMuYworKysgYi9ody9mZGMuYwpAQCAtMTE3NCw3ICsxMTc0LDYg QEAgc3RhdGljIHZvaWQgZmRjdHJsX3N0YXJ0X3RyYW5zZmVyKEZEQ3RybCAqZmRjdHJsLCBpbnQg ZGlyZWN0aW9uKQogICAgICAgICAgICAgICogcmVjYWxsIHVzLi4uCiAgICAgICAgICAgICAgKi8K ICAgICAgICAgICAgIERNQV9ob2xkX0RSRVEoZmRjdHJsLT5kbWFfY2hhbm4pOwotICAgICAgICAg ICAgRE1BX3NjaGVkdWxlKGZkY3RybC0+ZG1hX2NoYW5uKTsKICAgICAgICAgICAgIHJldHVybjsK ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIEZMT1BQWV9FUlJPUigiZG1hX21vZGU9JWQg ZGlyZWN0aW9uPSVkXG4iLCBkbWFfbW9kZSwgZGlyZWN0aW9uKTsKZGlmZiAtLWdpdCBhL2h3L2lz YS5oIGIvaHcvaXNhLmgKaW5kZXggYWFmMDI3Mi4uOTY4MWRlMSAxMDA2NDQKLS0tIGEvaHcvaXNh LmgKKysrIGIvaHcvaXNhLmgKQEAgLTQwLDggKzQwLDcgQEAgaW50IERNQV9yZWFkX21lbW9yeSAo aW50IG5jaGFuLCB2b2lkICpidWYsIGludCBwb3MsIGludCBzaXplKTsKIGludCBETUFfd3JpdGVf bWVtb3J5IChpbnQgbmNoYW4sIHZvaWQgKmJ1ZiwgaW50IHBvcywgaW50IHNpemUpOwogdm9pZCBE TUFfaG9sZF9EUkVRIChpbnQgbmNoYW4pOwogdm9pZCBETUFfcmVsZWFzZV9EUkVRIChpbnQgbmNo YW4pOwotdm9pZCBETUFfc2NoZWR1bGUoaW50IG5jaGFuKTsKLXZvaWQgRE1BX2luaXQoaW50IGhp Z2hfcGFnZV9lbmFibGUsIHFlbXVfaXJxICpjcHVfcmVxdWVzdF9leGl0KTsKK3ZvaWQgRE1BX2lu aXQoaW50IGhpZ2hfcGFnZV9lbmFibGUpOwogdm9pZCBETUFfcmVnaXN0ZXJfY2hhbm5lbCAoaW50 IG5jaGFuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX3RyYW5zZmVyX2hhbmRsZXIg dHJhbnNmZXJfaGFuZGxlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm9wYXF1 ZSk7CmRpZmYgLS1naXQgYS9ody9taXBzX2phenouYyBiL2h3L21pcHNfamF6ei5jCmluZGV4IGVh ZDNhMDAuLjZlMGVjOGYgMTAwNjQ0Ci0tLSBhL2h3L21pcHNfamF6ei5jCisrKyBiL2h3L21pcHNf amF6ei5jCkBAIC0xMTQsMTUgKzExNCw2IEBAIHN0YXRpYyB2b2lkIGF1ZGlvX2luaXQocWVtdV9p cnEgKnBpYykKICNkZWZpbmUgTUFHTlVNX0JJT1NfU0laRV9NQVggMHg3ZTAwMAogI2RlZmluZSBN QUdOVU1fQklPU19TSVpFIChCSU9TX1NJWkUgPCBNQUdOVU1fQklPU19TSVpFX01BWCA/IEJJT1Nf U0laRSA6IE1BR05VTV9CSU9TX1NJWkVfTUFYKQogCi1zdGF0aWMgdm9pZCBjcHVfcmVxdWVzdF9l eGl0KHZvaWQgKm9wYXF1ZSwgaW50IGlycSwgaW50IGxldmVsKQotewotICAgIENQVVN0YXRlICpl bnYgPSBjcHVfc2luZ2xlX2VudjsKLQotICAgIGlmIChlbnYgJiYgbGV2ZWwpIHsKLSAgICAgICAg Y3B1X2V4aXQoZW52KTsKLSAgICB9Ci19Ci0KIHN0YXRpYwogdm9pZCBtaXBzX2phenpfaW5pdCAo cmFtX2FkZHJfdCByYW1fc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNw dV9tb2RlbCwKQEAgLTEzOSw3ICsxMzAsNiBAQCB2b2lkIG1pcHNfamF6el9pbml0IChyYW1fYWRk cl90IHJhbV9zaXplLAogICAgIFBJVFN0YXRlICpwaXQ7CiAgICAgRHJpdmVJbmZvICpmZHNbTUFY X0ZEXTsKICAgICBxZW11X2lycSBlc3BfcmVzZXQ7Ci0gICAgcWVtdV9pcnEgKmNwdV9leGl0X2ly cTsKICAgICByYW1fYWRkcl90IHJhbV9vZmZzZXQ7CiAgICAgcmFtX2FkZHJfdCBiaW9zX29mZnNl dDsKIApAQCAtMTk5LDggKzE4OSw3IEBAIHZvaWQgbWlwc19qYXp6X2luaXQgKHJhbV9hZGRyX3Qg cmFtX3NpemUsCiAgICAgaTgyNTkgPSBpODI1OV9pbml0KGVudi0+aXJxWzRdKTsKICAgICBpc2Ff YnVzX25ldyhOVUxMKTsKICAgICBpc2FfYnVzX2lycXMoaTgyNTkpOwotICAgIGNwdV9leGl0X2ly cSA9IHFlbXVfYWxsb2NhdGVfaXJxcyhjcHVfcmVxdWVzdF9leGl0LCBOVUxMLCAxKTsKLSAgICBE TUFfaW5pdCgwLCBjcHVfZXhpdF9pcnEpOworICAgIERNQV9pbml0KDApOwogICAgIHBpdCA9IHBp dF9pbml0KDB4NDAsIGk4MjU5WzBdKTsKICAgICBwY3Nwa19pbml0KHBpdCk7CiAKZGlmZiAtLWdp dCBhL2h3L21pcHNfbWFsdGEuYyBiL2h3L21pcHNfbWFsdGEuYwppbmRleCBhOGY5ZDE1Li43OTI3 MDliIDEwMDY0NAotLS0gYS9ody9taXBzX21hbHRhLmMKKysrIGIvaHcvbWlwc19tYWx0YS5jCkBA IC03NjMsMTUgKzc2Myw2IEBAIHN0YXRpYyB2b2lkIG1haW5fY3B1X3Jlc2V0KHZvaWQgKm9wYXF1 ZSkKICAgICB9CiB9CiAKLXN0YXRpYyB2b2lkIGNwdV9yZXF1ZXN0X2V4aXQodm9pZCAqb3BhcXVl LCBpbnQgaXJxLCBpbnQgbGV2ZWwpCi17Ci0gICAgQ1BVU3RhdGUgKmVudiA9IGNwdV9zaW5nbGVf ZW52OwotCi0gICAgaWYgKGVudiAmJiBsZXZlbCkgewotICAgICAgICBjcHVfZXhpdChlbnYpOwot ICAgIH0KLX0KLQogc3RhdGljCiB2b2lkIG1pcHNfbWFsdGFfaW5pdCAocmFtX2FkZHJfdCByYW1f c2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpib290X2RldmljZSwKQEAg LTc5MCw3ICs3ODEsNiBAQCB2b2lkIG1pcHNfbWFsdGFfaW5pdCAocmFtX2FkZHJfdCByYW1fc2l6 ZSwKICAgICBGREN0cmwgKmZsb3BweV9jb250cm9sbGVyOwogICAgIE1hbHRhRlBHQVN0YXRlICpt YWx0YV9mcGdhOwogICAgIHFlbXVfaXJxICppODI1OTsKLSAgICBxZW11X2lycSAqY3B1X2V4aXRf aXJxOwogICAgIGludCBwaWl4NF9kZXZmbjsKICAgICB1aW50OF90ICplZXByb21fYnVmOwogICAg IGkyY19idXMgKnNtYnVzOwpAQCAtOTUzLDggKzk0Myw3IEBAIHZvaWQgbWlwc19tYWx0YV9pbml0 IChyYW1fYWRkcl90IHJhbV9zaXplLAogICAgICAgICBxZGV2X2luaXRfbm9mYWlsKGVlcHJvbSk7 CiAgICAgfQogICAgIHBpdCA9IHBpdF9pbml0KDB4NDAsIGlzYV9yZXNlcnZlX2lycSgwKSk7Ci0g ICAgY3B1X2V4aXRfaXJxID0gcWVtdV9hbGxvY2F0ZV9pcnFzKGNwdV9yZXF1ZXN0X2V4aXQsIE5V TEwsIDEpOwotICAgIERNQV9pbml0KDAsIGNwdV9leGl0X2lycSk7CisgICAgRE1BX2luaXQoMCk7 CiAKICAgICAvKiBTdXBlciBJL08gKi8KICAgICBpc2FfZGV2ID0gaXNhX2NyZWF0ZV9zaW1wbGUo Imk4MDQyIik7CmRpZmYgLS1naXQgYS9ody9wYy5jIGIvaHcvcGMuYwppbmRleCBlN2YzMWQzLi5k MmZiOWJlIDEwMDY0NAotLS0gYS9ody9wYy5jCisrKyBiL2h3L3BjLmMKQEAgLTkxNCwxNSArOTE0 LDYgQEAgdm9pZCBwY192Z2FfaW5pdChQQ0lCdXMgKnBjaV9idXMpCiAgICAgfQogfQogCi1zdGF0 aWMgdm9pZCBjcHVfcmVxdWVzdF9leGl0KHZvaWQgKm9wYXF1ZSwgaW50IGlycSwgaW50IGxldmVs KQotewotICAgIENQVVN0YXRlICplbnYgPSBjcHVfc2luZ2xlX2VudjsKLQotICAgIGlmIChlbnYg JiYgbGV2ZWwpIHsKLSAgICAgICAgY3B1X2V4aXQoZW52KTsKLSAgICB9Ci19Ci0KIHZvaWQgcGNf YmFzaWNfZGV2aWNlX2luaXQocWVtdV9pcnEgKmlzYV9pcnEsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgIEZEQ3RybCAqKmZsb3BweV9jb250cm9sbGVyLAogICAgICAgICAgICAgICAgICAgICAg ICAgICBJU0FEZXZpY2UgKipydGNfc3RhdGUpCkBAIC05MzIsNyArOTIzLDYgQEAgdm9pZCBwY19i YXNpY19kZXZpY2VfaW5pdChxZW11X2lycSAqaXNhX2lycSwKICAgICBQSVRTdGF0ZSAqcGl0Owog ICAgIHFlbXVfaXJxICphMjBfbGluZTsKICAgICBJU0FEZXZpY2UgKmk4MDQyOwotICAgIHFlbXVf aXJxICpjcHVfZXhpdF9pcnE7CiAKICAgICByZWdpc3Rlcl9pb3BvcnRfd3JpdGUoMHg4MCwgMSwg MSwgaW9wb3J0ODBfd3JpdGUsIE5VTEwpOwogCkBAIC05NjUsOCArOTU1LDcgQEAgdm9pZCBwY19i YXNpY19kZXZpY2VfaW5pdChxZW11X2lycSAqaXNhX2lycSwKICAgICBpODA0Ml9zZXR1cF9hMjBf bGluZShpODA0MiwgYTIwX2xpbmUpOwogICAgIHZtbW91c2VfaW5pdChpODA0Mik7CiAKLSAgICBj cHVfZXhpdF9pcnEgPSBxZW11X2FsbG9jYXRlX2lycXMoY3B1X3JlcXVlc3RfZXhpdCwgTlVMTCwg MSk7Ci0gICAgRE1BX2luaXQoMCwgY3B1X2V4aXRfaXJxKTsKKyAgICBETUFfaW5pdCgwKTsKIAog ICAgIGZvcihpID0gMDsgaSA8IE1BWF9GRDsgaSsrKSB7CiAgICAgICAgIGZkW2ldID0gZHJpdmVf Z2V0KElGX0ZMT1BQWSwgMCwgaSk7CmRpZmYgLS1naXQgYS9ody9wcGNfcHJlcC5jIGIvaHcvcHBj X3ByZXAuYwppbmRleCAxNmM5OTUwLi5lOWM3MzcwIDEwMDY0NAotLS0gYS9ody9wcGNfcHJlcC5j CisrKyBiL2h3L3BwY19wcmVwLmMKQEAgLTU0NywxNSArNTQ3LDYgQEAgc3RhdGljIENQVVJlYWRN ZW1vcnlGdW5jICogY29uc3QgUFBDX3ByZXBfaW9fcmVhZFtdID0gewogCiAjZGVmaW5lIE5WUkFN X1NJWkUgICAgICAgIDB4MjAwMAogCi1zdGF0aWMgdm9pZCBjcHVfcmVxdWVzdF9leGl0KHZvaWQg Km9wYXF1ZSwgaW50IGlycSwgaW50IGxldmVsKQotewotICAgIENQVVN0YXRlICplbnYgPSBjcHVf c2luZ2xlX2VudjsKLQotICAgIGlmIChlbnYgJiYgbGV2ZWwpIHsKLSAgICAgICAgY3B1X2V4aXQo ZW52KTsKLSAgICB9Ci19Ci0KIC8qIFBvd2VyUEMgUFJFUCBoYXJkd2FyZSBpbml0aWFsaXNhdGlv biAqLwogc3RhdGljIHZvaWQgcHBjX3ByZXBfaW5pdCAocmFtX2FkZHJfdCByYW1fc2l6ZSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmJvb3RfZGV2aWNlLApAQCAtNTc0 LDcgKzU2NSw2IEBAIHN0YXRpYyB2b2lkIHBwY19wcmVwX2luaXQgKHJhbV9hZGRyX3QgcmFtX3Np emUsCiAgICAgdWludDMyX3Qga2VybmVsX2Jhc2UsIGtlcm5lbF9zaXplLCBpbml0cmRfYmFzZSwg aW5pdHJkX3NpemU7CiAgICAgUENJQnVzICpwY2lfYnVzOwogICAgIHFlbXVfaXJxICppODI1OTsK LSAgICBxZW11X2lycSAqY3B1X2V4aXRfaXJxOwogICAgIGludCBwcGNfYm9vdF9kZXZpY2U7CiAg ICAgRHJpdmVJbmZvICpoZFtNQVhfSURFX0JVUyAqIE1BWF9JREVfREVWU107CiAgICAgRHJpdmVJ bmZvICpmZFtNQVhfRkRdOwpAQCAtNzMwLDggKzcyMCw3IEBAIHN0YXRpYyB2b2lkIHBwY19wcmVw X2luaXQgKHJhbV9hZGRyX3QgcmFtX3NpemUsCiAgICAgfQogICAgIGlzYV9jcmVhdGVfc2ltcGxl KCJpODA0MiIpOwogCi0gICAgY3B1X2V4aXRfaXJxID0gcWVtdV9hbGxvY2F0ZV9pcnFzKGNwdV9y ZXF1ZXN0X2V4aXQsIE5VTEwsIDEpOwotICAgIERNQV9pbml0KDEsIGNwdV9leGl0X2lycSk7Cisg ICAgRE1BX2luaXQoMSk7CiAKICAgICAvLyAgICBTQjE2X2luaXQoKTsKIApkaWZmIC0tZ2l0IGEv aHcvc3VuNG0uYyBiL2h3L3N1bjRtLmMKaW5kZXggN2JhMGY3Ni4uOGUwNDBiOCAxMDA2NDQKLS0t IGEvaHcvc3VuNG0uYworKysgYi9ody9zdW40bS5jCkBAIC0xNTEsNyArMTUxLDYgQEAgaW50IERN QV93cml0ZV9tZW1vcnkgKGludCBuY2hhbiwgdm9pZCAqYnVmLCBpbnQgcG9zLCBpbnQgc2l6ZSkK IH0KIHZvaWQgRE1BX2hvbGRfRFJFUSAoaW50IG5jaGFuKSB7fQogdm9pZCBETUFfcmVsZWFzZV9E UkVRIChpbnQgbmNoYW4pIHt9Ci12b2lkIERNQV9zY2hlZHVsZShpbnQgbmNoYW4pIHt9CiAKIHZv aWQgRE1BX2luaXQoaW50IGhpZ2hfcGFnZV9lbmFibGUsIHFlbXVfaXJxICpjcHVfcmVxdWVzdF9l eGl0KQogewpkaWZmIC0tZ2l0IGEvaHcvc3VuNHUuYyBiL2h3L3N1bjR1LmMKaW5kZXggNDBiNWYx Zi4uZWU4MWY1NiAxMDA2NDQKLS0tIGEvaHcvc3VuNHUuYworKysgYi9ody9zdW40dS5jCkBAIC0x MDQsNyArMTA0LDYgQEAgaW50IERNQV93cml0ZV9tZW1vcnkgKGludCBuY2hhbiwgdm9pZCAqYnVm LCBpbnQgcG9zLCBpbnQgc2l6ZSkKIH0KIHZvaWQgRE1BX2hvbGRfRFJFUSAoaW50IG5jaGFuKSB7 fQogdm9pZCBETUFfcmVsZWFzZV9EUkVRIChpbnQgbmNoYW4pIHt9Ci12b2lkIERNQV9zY2hlZHVs ZShpbnQgbmNoYW4pIHt9CiAKIHZvaWQgRE1BX2luaXQoaW50IGhpZ2hfcGFnZV9lbmFibGUsIHFl bXVfaXJxICpjcHVfcmVxdWVzdF9leGl0KQogewotLSAKMS41LjYuNQoK --000e0cd28aaa06a9040487b735b8--