From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DE793C36001 for ; Thu, 20 Mar 2025 19:43:29 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tvLmY-0002ns-AG; Thu, 20 Mar 2025 15:42:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tvLmW-0002nG-Hl for qemu-devel@nongnu.org; Thu, 20 Mar 2025 15:42:20 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tvLmU-0008BR-Mq for qemu-devel@nongnu.org; Thu, 20 Mar 2025 15:42:20 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-225fbdfc17dso20400105ad.3 for ; Thu, 20 Mar 2025 12:42:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742499737; x=1743104537; darn=nongnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=EMwvOKF0/A4f2+Gdl9mtTGx9/d/FKbz7V7NF4P0ysdw=; b=v0MKgzOToKWvsoP2V7JgC06mwq7lq3pLQNt3jczw/mAolU1GNACUUGo8xMskdf05El VGreAsZC+EUVqtWhWPv5tjiYLO3UfD6vmnAhDtp7KAQ7m4siOAcc8KjW/vKk1rO6ZXbs 4Mp7j1jnhHr9P9/0QlkPYS3OXEFtKsn6kH0iTnk3xys+l2e2ogJL3M8yxXn4WPpL00Ap 5KkW7lE1x3WXovveO0R8AzJhoSo9LvYPLYb7XAF0+VekQxgOR503ozVENuOLclrb9XIW 1LtORInRMi3scKujN1WfqkhUSkzwyrFY5nQdqFrQT6QL9qKBEnZBIghlDfSRpG1XUCYo Ff7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742499737; x=1743104537; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=EMwvOKF0/A4f2+Gdl9mtTGx9/d/FKbz7V7NF4P0ysdw=; b=RnR9QvU3CoRryBcKp+0phSyfslWYEhSjX71oNa4rGtMRH8gtbFvFT+cUJjsBmY+wlj qsrgQ/2N2s/ZIsskj3ujX99LNNNtknY8rx/HAK7V5o9W7k6UT7OWmTfe2+lL2kZWPFyz sJQyZvP9Pj/DJ8Bi72OPvMHP82xWA8fSV6YR1RHO4qzuUlb9tf5ibTRLzfnvLa0xE8cq EIJp3RxdfaosZFQK4m7dZWzhFxOJf0Piy36dCD/c9kntve2cjS0fENLBKFrG75LeBHTt lYcAubu5BSHjXIGSKsk8BDqqXjMwA1loS3BX9xLbXu7GIadLbRCgrD6PHjw2uK033ldF zuAA== X-Forwarded-Encrypted: i=1; AJvYcCWLFWJkadTWa3emZ4hjxt3/qLo8uqmJr+ZZKcWwOOgEMKCBvuIDUKNPueJFsIahL4ZNgZS1QKHMaJIY@nongnu.org X-Gm-Message-State: AOJu0YxS2KCEevAvKmoRLMa9BCGM0q+hSUq7uzt0YMV9HO/imGJ1jsAn xk9zMEmY4XUPtk4n9UKyGNUZ1sPlj2o73uoNIubZhg+WqNvs6hqpV4+Gssa7f2U= X-Gm-Gg: ASbGncsjrfOmjuWBoIuu8V8b1dnLRg6AOIyrYJe6wJuGw7Bip9PGhDfzVHe3h0SUILq gO7g3CpWleE43NhBqJp3B72eTMC7ZTMVPak8I2/n7Y7+ru7wsMxAF8akc5Fz4EDVfGIhL2BA2fG XTU4a5wVmZTJJs/zuMLk8qbkObV939+qbpwNTlE5FXGKWphY1O9Tvx+6mY86sIf1BBHo6hJOMvG bGP4mRnS9HFcCliccb5WUAwn+AuHSvwUNF7EoSeA2tnCg/sE6fOEzfhVVxTXhP6enjkbNMjXu9C TzbtGfwLirqMv67b4kN+UE8HfSmySmtFCa89BuJqsy4sgliJAi0g7PeF/g== X-Google-Smtp-Source: AGHT+IGHbyMTZJwAJfgINZn4QN5cMJhWRDT34v/PV8RYWuQRK4dBFoqOf7d0VmKumM5SpPk3zoE9vQ== X-Received: by 2002:a05:6a00:a29:b0:736:39d4:ccf6 with SMTP id d2e1a72fcca58-739059763admr1262253b3a.8.1742499736767; Thu, 20 Mar 2025 12:42:16 -0700 (PDT) Received: from [192.168.1.67] ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-73905fa92d4sm211696b3a.23.2025.03.20.12.42.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 20 Mar 2025 12:42:16 -0700 (PDT) Message-ID: Date: Thu, 20 Mar 2025 12:42:15 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 04/10] target/arm: convert 64 bit gdbstub to new helper Content-Language: en-US To: =?UTF-8?Q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org Cc: Peter Maydell , Juan Quintela , Ilya Leoshkevich , Thomas Huth , Akihiko Odaki , qemu-ppc@nongnu.org, David Gibson , qemu-s390x@nongnu.org, Wainer dos Santos Moschetta , Peter Xu , Markus Armbruster , =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= , =?UTF-8?Q?C=C3=A9dric_Le_Goater?= , Daniel Henrique Barboza , David Hildenbrand , Yonggang Luo , Richard Henderson , Beraldo Leal , qemu-arm@nongnu.org, Greg Kurz , =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= , Nicholas Piggin , Paolo Bonzini , "Edgar E. Iglesias" References: <20250319182255.3096731-1-alex.bennee@linaro.org> <20250319182255.3096731-5-alex.bennee@linaro.org> From: Pierrick Bouvier In-Reply-To: <20250319182255.3096731-5-alex.bennee@linaro.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 Received-SPF: pass client-ip=2607:f8b0:4864:20::634; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x634.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org T24gMy8xOS8yNSAxMToyMiwgQWxleCBCZW5uw6llIHdyb3RlOg0KPiBGb3Igc29tZSBvZiB0 aGUgaGVscGVycyB3ZSBuZWVkIGEgdGVtcG9yYXJ5IHZhcmlhYmxlIHRvIGNvcHkgZnJvbQ0K PiBhbHRob3VnaCB3ZSBjb3VsZCBhZGQgc29tZSBoZWxwZXJzIHRvIHJldHVybiBwb2ludGVy cyBpbnRvIGVudiBpbg0KPiB0aG9zZSBjYXNlcyBpZiB3ZSB3YW50ZWQgdG8uDQo+IA0KPiBT aWduZWQtb2ZmLWJ5OiBBbGV4IEJlbm7DqWUgPGFsZXguYmVubmVlQGxpbmFyby5vcmc+DQo+ IC0tLQ0KPiAgIHRhcmdldC9hcm0vZ2Ric3R1YjY0LmMgfCA1MyArKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0NCj4gICAxIGZpbGUgY2hhbmdlZCwgMzMgaW5z ZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvdGFyZ2V0 L2FybS9nZGJzdHViNjQuYyBiL3RhcmdldC9hcm0vZ2Ric3R1YjY0LmMNCj4gaW5kZXggMWE0 ZGJlYzU2Ny4uNzkzMzMyYWYzMSAxMDA2NDQNCj4gLS0tIGEvdGFyZ2V0L2FybS9nZGJzdHVi NjQuYw0KPiArKysgYi90YXJnZXQvYXJtL2dkYnN0dWI2NC5jDQo+IEBAIC0yMCw3ICsyMCw3 IEBADQo+ICAgI2luY2x1ZGUgInFlbXUvbG9nLmgiDQo+ICAgI2luY2x1ZGUgImNwdS5oIg0K PiAgICNpbmNsdWRlICJpbnRlcm5hbHMuaCINCj4gLSNpbmNsdWRlICJnZGJzdHViL2hlbHBl cnMuaCINCj4gKyNpbmNsdWRlICJnZGJzdHViL3JlZ2lzdGVycy5oIg0KPiAgICNpbmNsdWRl ICJnZGJzdHViL2NvbW1hbmRzLmgiDQo+ICAgI2luY2x1ZGUgInRjZy9tdGVfaGVscGVyLmgi DQo+ICAgI2lmIGRlZmluZWQoQ09ORklHX1VTRVJfT05MWSkgJiYgZGVmaW5lZChDT05GSUdf TElOVVgpDQo+IEBAIC0zNSwxNSArMzUsMTYgQEAgaW50IGFhcmNoNjRfY3B1X2dkYl9yZWFk X3JlZ2lzdGVyKENQVVN0YXRlICpjcywgR0J5dGVBcnJheSAqbWVtX2J1ZiwgaW50IG4pDQo+ ICAgDQo+ICAgICAgIGlmIChuIDwgMzEpIHsNCj4gICAgICAgICAgIC8qIENvcmUgaW50ZWdl ciByZWdpc3Rlci4gICovDQo+IC0gICAgICAgIHJldHVybiBnZGJfZ2V0X3JlZzY0KG1lbV9i dWYsIGVudi0+eHJlZ3Nbbl0pOw0KPiArICAgICAgICByZXR1cm4gZ2RiX2dldF9yZWdpc3Rl cl92YWx1ZShNT19URVVPLCBtZW1fYnVmLCAodWludDhfdCAqKSAmZW52LT54cmVnc1tuXSk7 DQo+ICAgICAgIH0NCj4gICAgICAgc3dpdGNoIChuKSB7DQo+ICAgICAgIGNhc2UgMzE6DQo+ IC0gICAgICAgIHJldHVybiBnZGJfZ2V0X3JlZzY0KG1lbV9idWYsIGVudi0+eHJlZ3NbMzFd KTsNCj4gKyAgICAgICAgcmV0dXJuIGdkYl9nZXRfcmVnaXN0ZXJfdmFsdWUoTU9fVEVVTywg bWVtX2J1ZiwgKHVpbnQ4X3QgKikgJmVudi0+eHJlZ3NbMzFdKTsNCj4gICAgICAgY2FzZSAz MjoNCj4gLSAgICAgICAgcmV0dXJuIGdkYl9nZXRfcmVnNjQobWVtX2J1ZiwgZW52LT5wYyk7 DQo+ICsgICAgICAgIHJldHVybiBnZGJfZ2V0X3JlZ2lzdGVyX3ZhbHVlKE1PX1RFVU8sIG1l bV9idWYsICh1aW50OF90ICopICZlbnYtPnBjKTsNCg0KRm9yIHRoZSAzIG9jY3VycmVuY2Vz LCBzaG91bGQgaXQgYmUgTU9fVEVVUSBpbnN0ZWFkPw0KDQo+ICAgICAgIGNhc2UgMzM6DQo+ IC0gICAgICAgIHJldHVybiBnZGJfZ2V0X3JlZzMyKG1lbV9idWYsIHBzdGF0ZV9yZWFkKGVu dikpOw0KPiArICAgICAgICB1aW50MzJfdCBwc3RhdGUgPSBwc3RhdGVfcmVhZChlbnYpOw0K PiArICAgICAgICByZXR1cm4gZ2RiX2dldF9yZWdpc3Rlcl92YWx1ZShNT19URVVMLCBtZW1f YnVmLCAodWludDhfdCAqKSAmcHN0YXRlKTsNCj4gICAgICAgfQ0KPiAgICAgICAvKiBVbmtu b3duIHJlZ2lzdGVyLiAgKi8NCj4gICAgICAgcmV0dXJuIDA7DQo+IEBAIC04MiwyMyArODMs MjcgQEAgaW50IGFhcmNoNjRfZ2RiX2dldF9mcHVfcmVnKENQVVN0YXRlICpjcywgR0J5dGVB cnJheSAqYnVmLCBpbnQgcmVnKQ0KPiAgIHsNCj4gICAgICAgQVJNQ1BVICpjcHUgPSBBUk1f Q1BVKGNzKTsNCj4gICAgICAgQ1BVQVJNU3RhdGUgKmVudiA9ICZjcHUtPmVudjsNCj4gKyAg ICB1aW50MzJfdCBmcHI7DQo+ICAgDQo+ICAgICAgIHN3aXRjaCAocmVnKSB7DQo+ICAgICAg IGNhc2UgMCAuLi4gMzE6DQo+ICAgICAgIHsNCj4gICAgICAgICAgIC8qIDEyOCBiaXQgRlAg cmVnaXN0ZXIgLSBxdWFkcyBhcmUgaW4gTEUgb3JkZXIgKi8NCj4gICAgICAgICAgIHVpbnQ2 NF90ICpxID0gYWE2NF92ZnBfcXJlZyhlbnYsIHJlZyk7DQo+IC0gICAgICAgIHJldHVybiBn ZGJfZ2V0X3JlZzEyOChidWYsIHFbMV0sIHFbMF0pOw0KPiArICAgICAgICByZXR1cm4gZ2Ri X2dldF9yZWdpc3Rlcl92YWx1ZShNT19URVVPLCBidWYsICh1aW50OF90ICopIHEpOw0KPiAg ICAgICB9DQo+ICAgICAgIGNhc2UgMzI6DQo+ICAgICAgICAgICAvKiBGUFNSICovDQo+IC0g ICAgICAgIHJldHVybiBnZGJfZ2V0X3JlZzMyKGJ1ZiwgdmZwX2dldF9mcHNyKGVudikpOw0K PiArICAgICAgICBmcHIgPSB2ZnBfZ2V0X2Zwc3IoZW52KTsNCj4gKyAgICAgICAgYnJlYWs7 DQo+ICAgICAgIGNhc2UgMzM6DQo+ICAgICAgICAgICAvKiBGUENSICovDQo+IC0gICAgICAg IHJldHVybiBnZGJfZ2V0X3JlZzMyKGJ1ZiwgdmZwX2dldF9mcGNyKGVudikpOw0KPiArICAg ICAgICBmcHIgPSB2ZnBfZ2V0X2ZwY3IoZW52KTsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICAg ICAgIGRlZmF1bHQ6DQo+ICAgICAgICAgICByZXR1cm4gMDsNCj4gICAgICAgfQ0KPiArICAg IHJldHVybiBnZGJfZ2V0X3JlZ2lzdGVyX3ZhbHVlKE1PX1RFVUwsIGJ1ZiwgKHVpbnQ4X3Qg KikgJmZwcik7DQo+ICAgfQ0KPiAgIA0KPiAgIGludCBhYXJjaDY0X2dkYl9zZXRfZnB1X3Jl ZyhDUFVTdGF0ZSAqY3MsIHVpbnQ4X3QgKmJ1ZiwgaW50IHJlZykNCj4gQEAgLTEzMiwzMCAr MTM3LDM3IEBAIGludCBhYXJjaDY0X2dkYl9nZXRfc3ZlX3JlZyhDUFVTdGF0ZSAqY3MsIEdC eXRlQXJyYXkgKmJ1ZiwgaW50IHJlZykNCj4gICB7DQo+ICAgICAgIEFSTUNQVSAqY3B1ID0g QVJNX0NQVShjcyk7DQo+ICAgICAgIENQVUFSTVN0YXRlICplbnYgPSAmY3B1LT5lbnY7DQo+ ICsgICAgdWludDMyX3QgZnByOw0KPiAgIA0KPiAgICAgICBzd2l0Y2ggKHJlZykgew0KPiAg ICAgICAvKiBUaGUgZmlyc3QgMzIgcmVnaXN0ZXJzIGFyZSB0aGUgenJlZ3MgKi8NCj4gICAg ICAgY2FzZSAwIC4uLiAzMToNCj4gICAgICAgew0KPiAgICAgICAgICAgaW50IHZxLCBsZW4g PSAwOw0KPiArICAgICAgICBBUk1WZWN0b3JSZWcgKnpyZWcgPSAmZW52LT52ZnAuenJlZ3Nb cmVnXTsNCj4gKw0KPiAgICAgICAgICAgZm9yICh2cSA9IDA7IHZxIDwgY3B1LT5zdmVfbWF4 X3ZxOyB2cSsrKSB7DQo+IC0gICAgICAgICAgICBsZW4gKz0gZ2RiX2dldF9yZWcxMjgoYnVm LA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+dmZwLnpyZWdz W3JlZ10uZFt2cSAqIDIgKyAxXSwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBlbnYtPnZmcC56cmVnc1tyZWddLmRbdnEgKiAyXSk7DQo+ICsgICAgICAgICAgICBs ZW4gKz0gZ2RiX2dldF9yZWdpc3Rlcl92YWx1ZShNT19URVVRLCBidWYsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDhfdCAqKSAmenJlZy0+ ZFt2cSAqIDIgKyAxXSk7DQo+ICsgICAgICAgICAgICBsZW4gKz0gZ2RiX2dldF9yZWdpc3Rl cl92YWx1ZShNT19URVVRLCBidWYsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAodWludDhfdCAqKSAmenJlZy0+ZFt2cSAqIDJdKTsNCj4gICAgICAg ICAgIH0NCj4gICAgICAgICAgIHJldHVybiBsZW47DQo+ICAgICAgIH0NCj4gICAgICAgY2Fz ZSAzMjoNCj4gLSAgICAgICAgcmV0dXJuIGdkYl9nZXRfcmVnMzIoYnVmLCB2ZnBfZ2V0X2Zw c3IoZW52KSk7DQo+ICsgICAgICAgIGZwciA9IHZmcF9nZXRfZnBzcihlbnYpOw0KPiArICAg ICAgICByZXR1cm4gZ2RiX2dldF9yZWdpc3Rlcl92YWx1ZShNT19URVVMLCBidWYsICh1aW50 OF90ICopICZmcHIpOw0KPiAgICAgICBjYXNlIDMzOg0KPiAtICAgICAgICByZXR1cm4gZ2Ri X2dldF9yZWczMihidWYsIHZmcF9nZXRfZnBjcihlbnYpKTsNCj4gKyAgICAgICAgZnByID0g dmZwX2dldF9mcGNyKGVudik7DQo+ICsgICAgICAgIHJldHVybiBnZGJfZ2V0X3JlZ2lzdGVy X3ZhbHVlKE1PX1RFVUwsIGJ1ZiwgKHVpbnQ4X3QgKikgJmZwcik7DQo+ICAgICAgIC8qIHRo ZW4gMTYgcHJlZGljYXRlcyBhbmQgdGhlIGZmciAqLw0KPiAgICAgICBjYXNlIDM0IC4uLiA1 MDoNCj4gICAgICAgew0KPiAgICAgICAgICAgaW50IHByZWcgPSByZWcgLSAzNDsNCj4gICAg ICAgICAgIGludCB2cSwgbGVuID0gMDsNCj4gICAgICAgICAgIGZvciAodnEgPSAwOyB2cSA8 IGNwdS0+c3ZlX21heF92cTsgdnEgPSB2cSArIDQpIHsNCj4gLSAgICAgICAgICAgIGxlbiAr PSBnZGJfZ2V0X3JlZzY0KGJ1ZiwgZW52LT52ZnAucHJlZ3NbcHJlZ10ucFt2cSAvIDRdKTsN Cj4gKyAgICAgICAgICAgIGxlbiArPSBnZGJfZ2V0X3JlZ2lzdGVyX3ZhbHVlKE1PX1RFVVEs IGJ1ZiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1 aW50OF90ICopICZlbnYtPnZmcC5wcmVnc1twcmVnXS5wW3ZxIC8gNF0pOw0KPiAgICAgICAg ICAgfQ0KPiAgICAgICAgICAgcmV0dXJuIGxlbjsNCj4gICAgICAgfQ0KPiBAQCAtMTY1LDgg KzE3Nyw4IEBAIGludCBhYXJjaDY0X2dkYl9nZXRfc3ZlX3JlZyhDUFVTdGF0ZSAqY3MsIEdC eXRlQXJyYXkgKmJ1ZiwgaW50IHJlZykNCj4gICAgICAgICAgICAqIFdlIHJlcG9ydCBpbiBW ZWN0b3IgR3JhbnVsZXMgKFZHKSB3aGljaCBpcyA2NGJpdCBpbiBhIFogcmVnDQo+ICAgICAg ICAgICAgKiB3aGlsZSB0aGUgWkNSIHdvcmtzIGluIFZlY3RvciBRdWFkcyAoVlEpIHdoaWNo IGlzIDEyOGJpdCBjaHVua3MuDQo+ICAgICAgICAgICAgKi8NCj4gLSAgICAgICAgaW50IHZx ID0gc3ZlX3ZxbTFfZm9yX2VsKGVudiwgYXJtX2N1cnJlbnRfZWwoZW52KSkgKyAxOw0KPiAt ICAgICAgICByZXR1cm4gZ2RiX2dldF9yZWc2NChidWYsIHZxICogMik7DQo+ICsgICAgICAg IHVpbnQ2NF90IHZxID0gKHN2ZV92cW0xX2Zvcl9lbChlbnYsIGFybV9jdXJyZW50X2VsKGVu dikpICsgMSkgKiAyOw0KPiArICAgICAgICByZXR1cm4gZ2RiX2dldF9yZWdpc3Rlcl92YWx1 ZShNT19URVVMLCBidWYsICh1aW50OF90ICopICZ2cSk7DQo+ICAgICAgIH0NCg0KU2hvdWxk IGl0IGJlIE1PX1RFVVEgaW5zdGVhZD8NCg0KPiAgICAgICBkZWZhdWx0Og0KPiAgICAgICAg ICAgLyogZ2Ric3R1YiBhc2tlZCBmb3Igc29tZXRoaW5nIG91dCBvdXIgcmFuZ2UgKi8NCj4g QEAgLTI0OCwxMCArMjYwLDExIEBAIGludCBhYXJjaDY0X2dkYl9nZXRfcGF1dGhfcmVnKENQ VVN0YXRlICpjcywgR0J5dGVBcnJheSAqYnVmLCBpbnQgcmVnKQ0KPiAgICAgICAgICAgICAg IGJvb2wgaXNfZGF0YSA9ICEocmVnICYgMSk7DQo+ICAgICAgICAgICAgICAgYm9vbCBpc19o aWdoID0gcmVnICYgMjsNCj4gICAgICAgICAgICAgICBBUk1NTVVJZHggbW11X2lkeCA9IGFy bV9zdGFnZTFfbW11X2lkeChlbnYpOw0KPiAtICAgICAgICAgICAgQVJNVkFQYXJhbWV0ZXJz IHBhcmFtOw0KPiArICAgICAgICAgICAgQVJNVkFQYXJhbWV0ZXJzIHBhcmFtID0gYWE2NF92 YV9wYXJhbWV0ZXJzKGVudiwgLWlzX2hpZ2gsIG1tdV9pZHgsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfZGF0YSwgZmFs c2UpOw0KPiArICAgICAgICAgICAgdWludDY0X3QgcGF1dGhfbWFzayA9IHBhdXRoX3B0cl9t YXNrKHBhcmFtKTsNCj4gICANCj4gLSAgICAgICAgICAgIHBhcmFtID0gYWE2NF92YV9wYXJh bWV0ZXJzKGVudiwgLWlzX2hpZ2gsIG1tdV9pZHgsIGlzX2RhdGEsIGZhbHNlKTsNCj4gLSAg ICAgICAgICAgIHJldHVybiBnZGJfZ2V0X3JlZzY0KGJ1ZiwgcGF1dGhfcHRyX21hc2socGFy YW0pKTsNCj4gKyAgICAgICAgICAgIHJldHVybiBnZGJfZ2V0X3JlZ2lzdGVyX3ZhbHVlKE1P X1RFVVEsIGJ1ZiwgKHVpbnQ4X3QgKikgJnBhdXRoX21hc2spOw0KPiAgICAgICAgICAgfQ0K PiAgICAgICBkZWZhdWx0Og0KPiAgICAgICAgICAgcmV0dXJuIDA7DQo+IEBAIC0zOTksNyAr NDEyLDcgQEAgaW50IGFhcmNoNjRfZ2RiX2dldF90YWdfY3RsX3JlZyhDUFVTdGF0ZSAqY3Ms IEdCeXRlQXJyYXkgKmJ1ZiwgaW50IHJlZykNCj4gICANCj4gICAgICAgdGNmMCA9IGV4dHJh Y3Q2NChlbnYtPmNwMTUuc2N0bHJfZWxbMV0sIDM4LCAyKTsNCj4gICANCj4gLSAgICByZXR1 cm4gZ2RiX2dldF9yZWc2NChidWYsIHRjZjApOw0KPiArICAgIHJldHVybiBnZGJfZ2V0X3Jl Z2lzdGVyX3ZhbHVlKE1PX1RFVVEsIGJ1ZiwgKHVpbnQ4X3QgKikgJnRjZjApOw0KPiAgIH0N Cj4gICANCj4gICBpbnQgYWFyY2g2NF9nZGJfc2V0X3RhZ19jdGxfcmVnKENQVVN0YXRlICpj cywgdWludDhfdCAqYnVmLCBpbnQgcmVnKQ0KDQo=