Received: by 2002:a05:7412:bbc7:b0:fc:a2b0:25d7 with SMTP id kh7csp809846rdb; Fri, 2 Feb 2024 04:59:27 -0800 (PST) X-Google-Smtp-Source: AGHT+IGg91r5zGwnKDDIagGHBv6fLs3NygwK9ed+lckCN7LnjifP0sAx/xgtT297LsS/FiR4Gqnd X-Received: by 2002:a05:6a20:8f1e:b0:19e:4f07:5b4c with SMTP id b30-20020a056a208f1e00b0019e4f075b4cmr1594940pzk.13.1706878767355; Fri, 02 Feb 2024 04:59:27 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706878767; cv=pass; d=google.com; s=arc-20160816; b=SasLGZt0txJthXWFfPANWZn7NBtDeGOZ69zj18aEij1pPiMAkAspxVqrR+220E841N N0zBPLF7kT3K31D2YzivCvbJxRr2Ii+MmaYJhtz93m0sO/Jh5Hb9FZIALyRZnUq57uVA zXBiCLvdMZdvbWhhj7QXs09BtFH524Coc2TI7xw/E9MXQalv7mpQ1d9+XGF3S7junQR2 VAs1g/DrBH/Hbj15E0JiiS+EAhriv/IluvRgJSKwm9SBiPEOuRevaZ3Fo8CkC1JZJByB 0NJGi6TeO80FPkIMLNSRqxYN39+6Jr0GZsggfPmYDelshm2fXJWkoyete3ROAU0M8F9d twXQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id:dkim-signature; bh=bmyzsqyOfr7+gv8Qlt2kMAJlY3EVtmoXixA7BGuuqdE=; fh=nrHXnu7Yz6xzBsk6FGyxtrUBehR1BlBAGCt3iyzCGOk=; b=C9kcH5V/GtNXpJLwsY9kYquW2Zy9ONGp0OqJN9k4FZm+nQ3Mr0vkWmSmMxx6QODz5B ybOd5ogTyh1Ioz+6EQu2u396z6uauAs0Ie6hsLh+fzSJw+U2JLmqfukJ8cS81ug827UG ZJ+06uOKuc61prV9RMoTABwo1gmRcNj/wGjKIFtDXlNZAWg0/0dNKBBWhc2LsCc7uS/3 9FT3ID8+pN93qkM1LS2PbxuXcOCu3V+UG9FWiJmCMTFhHD/4Ia8ysykdwWQwUnYRqa/M b9JJ/lFwbCzzoyXoG6pv2p9XM13i08q1yPFma6uJ9or4RmQ+tEaPJ7RFHM6CLs2cG+Ta PKlg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=gVIkgZ+N; arc=pass (i=1 spf=pass spfdomain=amazon.de dkim=pass dkdomain=amazon.com dmarc=pass fromdomain=amazon.com); spf=pass (google.com: domain of linux-kernel+bounces-49873-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-49873-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com X-Forwarded-Encrypted: i=1; AJvYcCWO4geYmhmCmJ7lG4TA6q6blneI5MTjf1HEK866rz0VM1eU929qOvNebADoraFrZWvznx+hwAFjm6a92VKUkl7wnzg8Dbp8719PP0aROQ== Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id du13-20020a056a002b4d00b006d9b38e0b0fsi1527919pfb.283.2024.02.02.04.59.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Feb 2024 04:59:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-49873-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=gVIkgZ+N; arc=pass (i=1 spf=pass spfdomain=amazon.de dkim=pass dkdomain=amazon.com dmarc=pass fromdomain=amazon.com); spf=pass (google.com: domain of linux-kernel+bounces-49873-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-49873-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id E0E9D287A59 for ; Fri, 2 Feb 2024 12:59:26 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 15609523F; Fri, 2 Feb 2024 12:59:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amazon.com header.i=@amazon.com header.b="gVIkgZ+N" Received: from smtp-fw-80007.amazon.com (smtp-fw-80007.amazon.com [99.78.197.218]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D000D1872; Fri, 2 Feb 2024 12:59:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=99.78.197.218 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706878754; cv=none; b=gvqbEDlSncT31IZ85o05k44iuMlsga86tP4U8FjY8NNvtZZqIQGG/i3lHrEzmBIYgNDPtrB2pxeVX8I7y9uvsHRDUPWTjm5KFqix3LUeWbdj7ULu2Lz6qeLC0thm710tP7S0SzdndaOq0dbHToRMke5PCuZfB1Kmw09hDYmvMU8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706878754; c=relaxed/simple; bh=bmyzsqyOfr7+gv8Qlt2kMAJlY3EVtmoXixA7BGuuqdE=; h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From: In-Reply-To:Content-Type; b=ZYOBjtwYflgWo/ROC8kMiKj6mfUUaPbcM2hAASv8z1/A6uRiIZIcff1QMj9CRmxH7+fOZu5Qz9cFI/h1tE0cvfMOfVWEH1VSY0elwOY7n+xYjWrZ75Tsn6JloFYYFUSmDgbDnWrjQJKjfUlnNCB1u+clOEyqMNtVSUuLbuvA8hg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amazon.com; spf=pass smtp.mailfrom=amazon.de; dkim=pass (1024-bit key) header.d=amazon.com header.i=@amazon.com header.b=gVIkgZ+N; arc=none smtp.client-ip=99.78.197.218 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amazon.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=amazon.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1706878753; x=1738414753; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=bmyzsqyOfr7+gv8Qlt2kMAJlY3EVtmoXixA7BGuuqdE=; b=gVIkgZ+NqDqi2kFK+NazxZBJYkrv+xwf2PRAlBfJpXsVes/eFU6cEc8+ wSgfPDl3TXUaiWomFA2iqR3E6OT2jvgB6kjiFiBdrS/r79DdlTxsEyA2e OanzqgVp/R+bSogjweoKkmhu1Q+1LzF5mVSs9PR/qqLovGZlcmEj+EzGQ k=; X-IronPort-AV: E=Sophos;i="6.05,238,1701129600"; d="scan'208";a="271450412" Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev) ([10.25.36.210]) by smtp-border-fw-80007.pdx80.corp.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2024 12:59:11 +0000 Received: from EX19MTAUWC002.ant.amazon.com [10.0.7.35:18284] by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.55.97:2525] with esmtp (Farcaster) id 285d43f6-e4ef-413a-9d97-de6ed578368f; Fri, 2 Feb 2024 12:59:10 +0000 (UTC) X-Farcaster-Flow-ID: 285d43f6-e4ef-413a-9d97-de6ed578368f Received: from EX19D020UWC004.ant.amazon.com (10.13.138.149) by EX19MTAUWC002.ant.amazon.com (10.250.64.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Fri, 2 Feb 2024 12:59:10 +0000 Received: from [0.0.0.0] (10.253.83.51) by EX19D020UWC004.ant.amazon.com (10.13.138.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Fri, 2 Feb 2024 12:58:56 +0000 Message-ID: <3bfbe6b3-d293-483f-9f30-b7d49440be22@amazon.com> Date: Fri, 2 Feb 2024 13:58:52 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 00/17] kexec: Allow preservation of ftrace buffers Content-Language: en-US To: Philipp Rudo CC: , , , , , , , , Eric Biederman , "H . Peter Anvin" , Andy Lutomirski , Peter Zijlstra , Steven Rostedt , Andrew Morton , "Mark Rutland" , Tom Lendacky , Ashish Kalra , James Gowans , Stanislav Kinsburskii , , , , Anthony Yznaga , Usama Arif , "David Woodhouse" , Benjamin Herrenschmidt , Rob Herring , "Krzysztof Kozlowski" , References: <20240117144704.602-1-graf@amazon.com> <20240129173450.038e46b7@rotkaeppchen> From: Alexander Graf In-Reply-To: <20240129173450.038e46b7@rotkaeppchen> X-ClientProxiedBy: EX19D033UWC001.ant.amazon.com (10.13.139.218) To EX19D020UWC004.ant.amazon.com (10.13.138.149) Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 SGkgUGhpbGlwcCwKCk9uIDI5LjAxLjI0IDE3OjM0LCBQaGlsaXBwIFJ1ZG8gd3JvdGU6Cj4gSGkg QWxleCwKPgo+IGFkZGluZyBsaW51eC1pbnRlZ3JpdHkgYXMgdGhlcmUgYXJlIHNvbWUgc3luZXJn aWVzIHdpdGggSU1BX0tFWEVDIChpbiBjYXNlIHdlCj4gZ2V0IEtITyB0byB3b3JrKS4KPgo+IEZp c3Qgb2YgYWxsIEkgYmVsaWV2ZSB0aGF0IGhhdmluZyBhIGdlbmVyaWMgZnJhbWV3b3JrIHRvIHBh c3MgaW5mb3JtYXRpb24gZnJvbQo+IG9uZSBrZXJuZWwgdG8gdGhlIG90aGVyIGFjcm9zcyBrZXhl YyB3b3VsZCBiZSBhIGdvb2QgdGhpbmcuIEJ1dCBJJ20gYWZyYWlkIHRoYXQKCgpUaGFua3MsIEkn bSBoYXBweSB0byBoZWFyIHRoYXQgeW91IGFncmVlIHdpdGggdGhlIGJhc2ljIG1vdGl2YXRpb24g OikuIApUaGVyZSBhcmUgZnVuZGFtZW50YWxseSAyIHByb2JsZW1zIHdpdGggcGFzc2luZyBkYXRh OgoKIMKgICogUGFzc2luZyBzdHJ1Y3R1cmVkIGRhdGEgaW4gYSBjcm9zcy1hcmNoaXRlY3R1cmUg d2F5CiDCoCAqIFBhc3NpbmcgbWVtb3J5CgpLSE8gdGFja2xlcyBib3RoLiBJdCBwcm9wb3NlcyBh IGNvbW1vbiBGRFQgYmFzZWQgZm9ybWF0IHRoYXQgYWxsb3dzIHVzIAp0byBwYXNzIHBlci1zdWJz eXN0ZW0gcHJvcGVydGllcy4gVGhhdCB3YXksIGEgc3Vic3lzdGVtIGRvZXMgbm90IG5lZWQgdG8g Cmtub3cgd2hldGhlciBpdCdzIHJ1bm5pbmcgb24gQVJNLCB4ODYsIFJJU0MtViBvciBzMzkweC4g SXQganVzdCBnYWlucyAKYXdhcmVuZXNzIGZvciBLSE8gYW5kIGNhbiBwYXNzIGRhdGEuCgpPbiB0 b3Agb2YgdGhhdCwgaXQgcHJvcG9zZXMgYSBzdGFuZGFyZGl6ZWQgIm1lbSIgcHJvcGVydHkgKGFu ZCBzb21lIAptYWdpYyBhcm91bmQgdGhhdCkgd2hpY2ggYWxsb3dzIHN1YnN5c3RlbXMgdG8gcGFz cyBtZW1vcnkuCgoKPiB5b3UgYXJlIGlnbm9yaW5nIHNvbWUgZnVuZGFtZW50YWwgcHJvYmxlbXMg d2hpY2ggbWFrZXMgaXQgZXh0cmVtZWx5IGhhcmQsIGlmCj4gbm90IGltcG9zc2libGUsIHRvIHJl bGlhYmx5IHRyYW5zZmVyIHRoZSBrZXJuZWwncyBzdGF0ZSBmcm9tIG9uZSBrZXJuZWwgdG8gdGhl Cj4gb3RoZXIuCj4KPiBPbmUgdGhpbmcgSSBkb24ndCB1bmRlcnN0YW5kIGlzIGhvdyByZXVzaW5n IHRoZSBzY3JhdGNoIGFyZWEgaXMgd29ya2luZy4gU3VyZQo+IHlvdSBwYXNzIGl0J3MgbG9jYXRp b24gdmlhIHRoZSBkdC9ib290X3BhcmFtcyBidXQgSSBkb24ndCBzZWUgYW55IGNvZGUgdGhhdAo+ IG1ha2VzIGl0IGEgQ01BIHJlZ2lvbi4gU28gSUlVQyB0aGUgc2NyYXRjaCBhcmVhIHdvbid0IGJl IGF2YWlsYWJsZSBmb3IgdGhlIDJuZAo+IGtlcm5lbC4gV2hpY2ggaXMgcHJvYmFibHkgZm9yIHRo ZSBiZXR0ZXIgYXMgSUlVQyB0aGUgMm5kIGtlcm5lbCBnZXRzIGxvYWRlZCBhbmQKPiBydW5zIGlu c2lkZSB0aGF0IGFyZWEgYW5kIEkgZG9uJ3QgYmVsaWV2ZSB0aGUgQ01BIGRlc2lnbiBldmVyIGNv bnNpZGVyZWQgdGhhdAo+IHRoZSBrZXJuZWwgaW1hZ2UgY291bGQgYmUgaW5jbHVkZWQgaW4gYSBD TUEgYXJlYS4KCgpUaGF0IG9uZSB0b29rIG1lIGEgbG90IHRvIGZpZ3VyZSBvdXQgc2Vuc2libHkg KHdpdGggcmVjdXJzaW9uIGFsbCB0aGUgCndheSBkb3duKSB3aGlsZSBidWlsZGluZyBLSE8gOiku IEkgaG9wZSBJIGRldGFpbGVkIGl0IHNlbnNpYmx5IGluIHRoZSAKZG9jdW1lbnRhdGlvbiAtIHBs ZWFzZSBsZXQgbWUga25vdyBob3cgdG8gaW1wcm92ZSBpdCBpbiBjYXNlIGl0J3MgCnVuY2xlYXI6 IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xrbWwvMjAyNDAxMTcxNDQ3MDQuNjAyLTgtZ3JhZkBh bWF6b24uY29tLwoKTGV0IG1lIGV4cGxhaW4gaW5saW5lIHVzaW5nIGRpZmZlcmVudCB3b3JkcyBh cyB3ZWxsIHdoYXQgaGFwcGVuczoKClRoZSBmaXJzdCAoYW5kIG9ubHkgdGhlIGZpcnN0KSBrZXJu ZWwgdGhhdCBib290cyBhbGxvY2F0ZXMgYSBDTUEgcmVnaW9uIAphcyAic2NyYXRjaCByZWdpb24i LiBJdCBsb2FkcyB0aGUgbmV3IGtlcm5lbCBpbnRvIHRoYXQgcmVnaW9uLiBJdCBwYXNzZXMgCnRo YXQgcmVnaW9uIGFzICJzY3JhdGNoIHJlZ2lvbiIgdG8gdGhlIG5leHQga2VybmVsLiBUaGUgbmV4 dCBrZXJuZWwgbm93IAp0YWtlcyBpdCBhbmQgbWFya3MgZXZlcnkgcGFnZSBibG9jayB0aGF0IHRo ZSBzY3JhdGNoIHJlZ2lvbiBzcGFucyBhcyBDTUE6CgpodHRwczovL2xvcmUua2VybmVsLm9yZy9s a21sLzIwMjQwMTE3MTQ0NzA0LjYwMi0zLWdyYWZAYW1hem9uLmNvbS8KClRoZSBDTUEgaGludCBk b2Vzbid0IG1lYW4gd2UgY3JlYXRlIGFuIGFjdHVhbCBDTUEgcmVnaW9uLiBJdCBtb3N0bHkgCm1l YW5zIHRoYXQgdGhlIGtlcm5lbCB3b24ndCB1c2UgdGhpcyBtZW1vcnkgZm9yIGFueSBrZXJuZWwg YWxsb2NhdGlvbnMuIApLZXJuZWwgYWxsb2NhdGlvbnMgdXAgdG8gdGhpcyBwb2ludCBhcmUgYWxs b2NhdGlvbnMgd2UgZG9uJ3QgbmVlZCB0byAKcGFzcyBvbiB3aXRoIEtITyBhZ2Fpbi4gS2VybmVs IGFsbG9jYXRpb25zIHBhc3QgdGhhdCBwb2ludCBtYXkgYmUgCmFsbG9jYXRpb25zIHRoYXQgd2Ug d2FudCB0byBwYXNzLCBzbyB3ZSBqdXN0IG5ldmVyIHBsYWNlIHRoZW0gaW50byB0aGUgCiJzY3Jh dGNoIHJlZ2lvbiIgYWdhaW4uCgpBbmQgYmVjYXVzZSB3ZSBub3cgYWxyZWFkeSBoYXZlIGEgc2Ny YXRjaCByZWdpb24gZnJvbSB0aGUgcHJldmlvdXMgCmtlcm5lbCwgd2Uga2VlcCByZXVzaW5nIHRo YXQgZm9yZXZlciB3aXRoIGFueSBuZXcgS0hPIGtleGVjLgoKCj4gU3RheWluZyBhdCByZXVzaW5n IHRoZSBzY3JhdGNoIGFyZWEuIE9uZSB0aGluZyB0aGF0IGlzIGJyb2tlbiBmb3Igc3VyZSBpcyB0 aGF0Cj4geW91IHJldXNlIHRoZSBzY3JhdGNoIGFyZWEgd2l0aG91dCBldmVyIGNoZWNraW5nIHRo ZSBraG9fc2NyYXRjaCBwYXJhbWV0ZXIgb2YKPiB0aGUgMm5kIGtlcm5lbCdzIGNvbW1hbmQgbGlu ZS4gUmVtZW1iZXIsIHdpdGgga2V4ZWMgeW91IGFyZSBkZWFsaW5nIHdpdGggdHdvCj4gZGlmZmVy ZW50IGtlcm5lbHMgd2l0aCB0d28gZGlmZmVyZW50IGNvbW1hbmQgbGluZXMuIE1lYW5pbmcgeW91 IGNhbiBvbmx5IHJldXNlCj4gdGhlIHNjcmF0Y2ggYXJlYSBpZiB0aGUgcmVxdWVzdGVkIHNpemUg aW4gdGhlIDJuZCBrZXJuZWwgaXMgaWRlbnRpY2FsIHRvIHRoZQo+IG9uZSBvZiB0aGUgMXN0IGtl cm5lbC4gSW4gYWxsIG90aGVyIGNhc2VzIHlvdSBuZWVkIHRvIGFkanVzdCB0aGUgc2NyYXRjaCBh cmVhJ3MKPiBzaXplIG9yIHJlc2VydmUgYSBuZXcgb25lLgoKCkhtLiBTbyB5b3UncmUgc2F5aW5n IGEgdXNlciBtYXkgd2FudCB0byBjaGFuZ2UgdGhlIHNpemUgb2YgdGhlIHNjcmF0Y2ggCmFyZWEg d2l0aCBhIEtITyBrZXhlYy4gVGhhdCdzIGluc2FuZWx5IHJpc2t5IGJlY2F1c2UgeW91IChhcyBy aWdodGZ1bGx5IApwb2ludGVkIG91dCBiZWxvdykgbWF5IGhhdmUgc2lnbmlmaWNhbnQgZnJhZ21l bnRhdGlvbiBhdCB0aGF0IHBvaW50LiBBbmQgCndlIHdpbGwgb25seSBrbm93IHdoZW4gd2UncmUg aW4gdGhlIG5ldyBrZXJuZWwgc28gaXQncyB0b28gbGF0ZSB0byAKYWJvcnQuIElNSE8gaXQncyBi ZXR0ZXIgdG8ganVzdCBkZWNsYXJlIHRoZSBzY3JhdGNoIHJlZ2lvbiBhcyBpbW11dGFibGUgCmR1 cmluZyBLSE8gdG8gYXZvaWQgdGhhdCBwaXRmYWxsLgoKCj4gVGhpcyBkaXJlY3RseSBsZWFkcyB0 byB0aGUgbmV4dCBwcm9ibGVtLiBJbiBraG9fcmVzZXJ2ZV9wcmV2aW91c19tZW0geW91IGFyZQo+ IHJldXNpbmcgdGhlIGRpZmZlcmVudCBtZW1vcnkgcmVnaW9ucyB3aGVyZXZlciB0aGUgMXN0IGtl cm5lbCBhbGxvY2F0ZWQgdGhlbS4KPiBCdXQgdGhhdCBhbHNvIG1lYW5zIHlvdSBhcmUgaGFuZGlu ZyBvdmVyIHRoZSAxc3Qga2VybmVsJ3MgbWVtb3J5Cj4gZnJhZ21lbnRhdGlvbiB0byB0aGUgMm5k IGtlcm5lbCBhbmQgeW91IGRvIHRoYXQgZXh0cmVtZWx5IGVhcmx5IGR1cmluZyBib290Lgo+IFdo aWNoIG1lYW5zIHRoYXQgdXNlcnMgd2hvIG5lZWQgdG8gYWxsb2NhdGUgbGFyZ2UgY29udGludW91 cyBwaHlzaWNhbCBtZW1vcnksCj4gbGlrZSB0aGUgc2NyYXRjaCBhcmVhIG9yIHRoZSBjcmFzaGtl cm5lbCBtZW1vcnksIHdpbGwgaGF2ZSBpbmNyZWFzaW5nIGNoYW5jZSB0bwo+IG5vdCBmaW5kIGEg c3VpdGFibGUgYXJlYS4gV2hpY2ggSU1ITyBpcyB1bmFjY2VwdGFibGUuCgoKQ29ycmVjdCA6KS4g SXQgYmFzaWNhbGx5IG1lYW5zIHlvdSB3YW50IHRvIHBhc3MgbGFyZ2UgYWxsb2NhdGlvbnMgZnJv bSAKdGhlIDFzdCBrZXJuZWwgdGhhdCB5b3Ugd2FudCB0byBwcmVzZXJ2ZSBvbiB0byB0aGUgbmV4 dC4gU28gaWYgdGhlIDFzdCAKa2VybmVsIGFsbG9jYXRlZCBhIGxhcmdlIGNyYXNoIGFyZWEsIGl0 J3Mgc2FmZXN0IHRvIHBhc3MgdGhhdCBhbGxvY2F0aW9uIAp1c2luZyBLSE8gdG8gZW5zdXJlIHRo ZSBuZXh0IGtlcm5lbCBhbHNvIGhhcyB0aGUgcmVnaW9uIGZ1bGx5IHJlc2VydmVkLiAKT3RoZXJ3 aXNlIHRoZSBuZXh0IGtlcm5lbCBtYXkgYWNjaWRlbnRhbGx5IHBsYWNlIGRhdGEgaW50byB0aGUg CnByZXZpb3VzbHkgcmVzZXJ2ZWQgY3Jhc2ggcmVnaW9uICh3aGljaCB3b3VsZCBiZSBjb250aWd1 b3VzbHkgZnJlZSBhdCAKZWFybHkgaW5pdCBvZiB0aGUgMm5kIGtlcm5lbCkgYW5kIGZyYWdtZW50 IGl0IGFnYWluLgoKCj4gRmluYWxseSwgYW5kIHRoYXQncyB0aGUgYmlnIGVsZXBoYW50IGluIHRo ZSByb29tLCBpcyB5b3VyIGxheCBoYW5kbGluZyBvZiB0aGUKPiB1bnN0YWJsZSBrZXJuZWwgaW50 ZXJuYWwgQUJJLiBSZW1lbWJlciwgeW91IGFyZSBkZWFsaW5nIHdpdGggdHdvIGRpZmZlcmVudAo+ IGtlcm5lbHMsIHRoYXQgYWxzbyBtZWFucyB0d28gZGlmZmVyZW50IHNvdXJjZSBsZXZlbHMgYW5k IHR3byBkaWZmZXJlbnQgY29uZmlncy4KPiBTbyBvbmx5IGJlY2F1c2UgYm90aCB0aGUgMXN0IGFu ZCAybmQga2VybmVsIGhhdmUgYSBlLmcuIHN0cnVjdCBidWZmZXJfcGFnZQo+IGRvZXNuJ3QgbWVh bnMgdGhhdCB0aGV5IGhhdmUgdGhlIHNhbWUgc3RydWN0IGJ1ZmZlcl9wYWdlLiBCdXQgdGhhdCdz IHdoYXQgeW91cgo+IGNvZGUgaW1wbGljaXRseSBhc3N1bWVzLiBGb3IgS0hPIGV2ZXIgdG8gbWFr ZSBpdCB1cHN0cmVhbSB5b3UgbmVlZCB0byBtYWtlIHN1cmUKPiB0aGF0IGJvdGgga2VybmVscyBh cmUgInNwZWFraW5nIHRoZSBzYW1lIGxhbmd1YWdlIi4KCgpXb3csIEkgaG9wZSBpdCBkaWRuJ3Qg Y29tZSBhY3Jvc3MgYXMgdGhhdCEgVGhlIHdob2xlIHBvaW50IG9mIHVzaW5nIEZEVCAKYW5kIGNv bXBhdGlibGUgc3RyaW5ncyBpbiBLSE8gaXMgdG8gc29sdmUgZXhhY3RseSB0aGF0IHByb2JsZW0u IEFueSB0aW1lIAphIHBhc3NlZCBvdmVyIGRhdGEgc3RydWN0dXJlIGNoYW5nZXMgaW5jb21wYXRp Ymx5LCB5b3Ugd291bGQgbmVlZCB0byAKbW9kaWZ5IHRoZSBjb21wYXRpYmxlIHN0cmluZyBvZiB0 aGUgc3Vic3lzdGVtIHRoYXQgb3ducyB0aGUgbm93IAppbmNvbXBhdGlibGUgZGF0YS4KClNvIGlu IHRoZSBleGFtcGxlIG9mIHN0cnVjdCBidWZmZXJfcGFnZSwgaXQgbWVhbnMgdGhhdCBpZiBhbnlv bmUgY2hhbmdlcyAKdGhlIGZldyBiaXRzIHdlIGNhcmUgYWJvdXQgaW4gc3RydWN0IGJ1ZmZlcl9w YWdlLCB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0IAp0aGUgbmV3IGtlcm5lbCBlbWl0cyAiZnRyYWNl LGNwdS12MiIgY29tcGF0aWJsZSBzdHJpbmdzLiBXZSBjYW4gYXQgdGhhdCAKcG9pbnQgY2hvb3Nl IHdoZXRoZXIgd2Ugd2FudCB0byBpbXBsZW1lbnQgY29tcGF0IGhhbmRsaW5nIGZvciAKImZ0cmFj ZSxjcHUtdjEiIHN0eWxlIHN0cnVjdCBidWZmZXJfcGFnZXMgb3Igb25seSBzdXBwb3J0IHNhbWUg dmVyc2lvbiAKaW5nZXN0aW9uLgoKVGhlIG9uZSB0aGluZyB0aGF0IHdlIGNvdWxkIGltcHJvdmUg b24gaGVyZSB0b2RheSBJTUhPIGlzIHRvIGhhdmUgCmNvbXBpbGUgdGltZSBlcnJvcnMgaWYgYW55 IHBhcnQgb2Ygc3RydWN0IGJ1ZmZlcl9wYWdlIGNoYW5nZXMgCnNlbWFudGljYWxseTogU28gd2Un ZCBjcmVhdGUgYSBmZXcgZGVmaW5lcyBmb3IgdGhlIGJpdHMgd2Ugd2FudCBpbiAKImZ0cmFjZSxj cHUtdjEiIGFzIHdlbGwgYXMgc2l6ZSBvZiBzdHJ1Y3QgYnVmZmVyX3BhZ2UgYW5kIHRoZW4gY29t cGFyZSAKdGhlbSB0byB3aGF0IHRoZSBzdHJ1Y3Qgb2Zmc2V0cyBhcmUgYXQgY29tcGlsZSB0aW1l IHRvIGVuc3VyZSB0aGV5IHN0YXkgCmlkZW50aWNhbC4KClBsZWFzZSBsZXQgbWUga25vdyBob3cg SSBjYW4gY2xhcmlmeSB0aGF0IG1vcmUgaW4gdGhlIGRvY3VtZW50YXRpb24uIEl0IApyZWFsbHkg aXMgdGhlIGFic29sdXRlIGNvcmUgb2YgS0hPLgoKCj4gUGVyc29uYWxseSBJIHNlZSB0d28gcG9z c2libGUgc29sdXRpb25zOgo+Cj4gMSkgWW91IGludHJvZHVjZSBhIHN0YWJsZSBpbnRlcm1lZGlh dGUgZm9ybWF0IGZvciBldmVyeSBzdWJzeXN0ZW0gc2ltaWxhciB0bwo+IHdoYXQgSU1BX0tFWEVD IGRvZXMuIFRoaXMgc2hvdWxkIHdvcmsgZm9yIHNpbXBsZSB0eXBlcyBsaWtlIHN0cnVjdCBidWZm ZXJfcGFnZQo+IGJ1dCBmb3IgY29tcGxleCBvbmVzIGxpa2Ugc3RydWN0IHZmaW9fZGV2aWNlIHRo YXQncyBiYXNpY2FsbHkgaW1wb3NzaWJsZS4KCgpJIGRvbid0IHNlZSB3aHkuIFRoZSBvbmx5IHJl YXNvbiBLSE8gcGFzc2VzIHN0cnVjdCBidWZmZXJfcGFnZSBhcyBtZW1vcnkgCmlzIGJlY2F1c2Ug d2Ugd2FudCB0byBiZSBhYmxlIHRvIHByb2R1Y2UgdHJhY2VzIGV2ZW4gYWZ0ZXIgS0hPIApzZXJp YWxpemF0aW9uIGlzIGRvbmUuIEZvciB2ZmlvX2RldmljZSwgSSB0aGluayBpdCdzIHBlcmZlY3Rs eSAKcmVhc29uYWJsZSB0byBzZXJpYWxpemUgYW55IGRhdGEgd2UgbmVlZCB0byBwcmVzZXJ2ZSBk aXJlY3RseSBpbnRvIEZEVCAKcHJvcGVydGllcy4KCgo+IDIpIFlvdSBhbHNvIGhhbmQgb3ZlciB0 aGUgQUJJIHZlcnNpb24gZm9yIGV2ZXJ5IGdpdmVuIHR5cGUgKGJhc2ljYWxseSBqdXN0IGEKPiBo YXNoIG92ZXIgYWxsIGZpZWxkcyBpbmNsdWRpbmcgYWxsIHRoZSBkZXBlbmRlbmNpZXMpLiBTbyB0 aGUgMm5kIGtlcm5lbCBjYW4KPiB2ZXJpZnkgdGhhdCB0aGUgZGF0YSBoYW5kZWQgb3ZlciBpcyBp biBhIGZvcm1hdCBpdCBjYW4gaGFuZGxlIGFuZCBpZiBub3QgYmFpbAo+IG91dCB3aXRoIGEgZGVz Y3JpcHRpdmUgZXJyb3IgbWVzc2FnZSByYXRoZXIgdGhhbiByZWFkaW5nIGdhcmJhZ2UuIFBsdXMg c2lkZSBpcwo+IHRoYXQgb25jZSBzdWNoIGEgc3lzdGVtIGlzIGluIHBsYWNlIHlvdSBjYW4gcmV1 c2UgaXQgdG8gYXV0b21hdGljYWxseSByZXNvbHZlCj4gYWxsIGRlcGVuZGVuY2llcyBzbyB5b3Ug bm8gbG9uZ2VyIG5lZWQgdG8gbWFudWFsbHkgc3RvcmUgdGhlIGJ1ZmZlcl9wYWdlIGFuZAo+IGl0 cyBidWZmZXJfZGF0YV9wYWdlIHNlcGFyYXRlbHkuCj4gRG93biBzaWRlIGlzIHRoYXQgdHJhdmVy c2luZyB0aGUgZGVidWdpbmZvIChpbmNsdWRpbmcgdGhlIG9uZXMgZnJvbSBtb2R1bGVzKSBpcwo+ IG5vdCBhIHNpbXBsZSB0YXNrIGFuZCBJIGV4cGVjdCB0aGF0IHN1Y2ggYSBzeXN0ZW0gd2lsbCBi ZSB3YXkgbW9yZSBjb21wbGV4IHRoYW4KPiB0aGUgcmVzdCBvZiBLSE8uIEluIGFkZGl0aW9uIHRo ZXJlIGFyZSBzb21lIGNhc2VzIHRoYXQgdGhlIHZlcnNpb25pbmcgd29uJ3QgYmUKPiBhYmxlIHRv IGNhcHR1cmUuIEZvciBleGFtcGxlIGlmIGEgdHlwZSBjb250YWlucyBhICJ2b2lkICoiLWZpZWxk LiBUaGVuIGFsdGhvdWdoCj4gdGhlIGRlZmluaXRpb24gb2YgdGhlIHR5cGUgaXMgaWRlbnRpY2Fs IGluIGJvdGgga2VybmVscyB0aGUgZmllbGQgY2FuIGJlIGNhc3QKPiB0byBkaWZmZXJlbnQgdHlw ZXMgd2hlbiB1c2VkLiBBbiBvdGhlciBwcm9ibGVtIHdpbGwgYmUgZnVuY3Rpb24gcG9pbnRlcnMg d2hpY2gKPiB5b3UgZmlyc3QgbmVlZCB0byByZXNvbHZlIGluIHRoZSAxc3Qga2VybmVsIGFuZCB0 aGVuIG1hcCB0byB0aGUgaWRlbnRpY2FsCj4gZnVuY3Rpb24gaW4gdGhlIDJuZCBrZXJuZWwuIFRo aXMgd2lsbCBiZWNvbWUgcGFydGljdWxhcmx5ICJmdW4iIHdoZW4gdGhlCj4gZnVuY3Rpb24gaXMg cGFydCBvZiBhIG1vZHVsZSB0aGF0IGlzbid0IGxvYWRlZCBhdCB0aGUgdGltZSB3aGVuIHlvdSB0 cnkgdG8KPiByZWNyZWF0ZSB0aGUga2VybmVsJ3Mgc3RhdGUuCgoKVGhlIHdob2xlIHBvaW50IG9m IEtITyBpcyB0byBsZWF2ZSBpdCB0byB0aGUgc3Vic3lzdGVtIHdoaWNoIHBhdGggdGhleSAKd2Fu dCB0byB0YWtlLiBUaGUgc3Vic3lzdGVtIGNhbiBlaXRoZXIgcGFzcyBiaW5hcnkgZGF0YSBhbmQg dmFsaWRhdGUgYXMgCnBhcnQgb2YgRkRUIHByb3BlcnRpZXMgKGxpa2UgY29tcGF0aWJsZSBzdHJp bmdzKS4gVGhhdCBkYXRhIGNhbiBiZSAKaWRlbnRpY2FsIHRvIHRvZGF5J3MgaW4ta2VybmVsIGRh dGEgc3RydWN0dXJlcyAodXN1YWxseSBhIGJhZCBpZGVhKSBvciAKY2FuIGJlIGEgbmV3IGludGVy bWVkaWF0ZSBkYXRhIGZvcm1hdC4gQnV0IHRoZSBzdWJzeXN0ZW0gY2FuIGFsc28gY2hvb3NlIAp0 byBmdWxseSBzZXJpYWxpemUgaW50byBGRFQgcHJvcGVydGllcyBhbmQgbm90IHBhc3MgYW55IG1l bW9yeSBhdCBhbGwgCmZvciBzdGF0ZSB0aGF0IHdvdWxkIGJlIGluIHN0cnVjdHMuIE9yIHNvbWV0 aGluZyBpbiBiZXR3ZWVuLgoKCj4gU28gdG8gc3VtbWFyaXplLCB3aGlsZSBpdCB3b3VsZCBiZSBu aWNlIHRvIGhhdmUgYSBnZW5lcmljIGZyYW1ld29yayBsaWtlIEtITyB0bwo+IHBhc3MgZGF0YSBm cm9tIG9uZSBrZXJuZWwgdG8gdGhlIG90aGVyIHZpYSBrZXhlYyB0aGVyZSBhcmUgZ29vZCByZWFz b25zIHdoeSBpdAo+IGRvZXNuJ3QgZXhpc3QsIHlldC4KCgpJIGhvcGUgbXkgZXhwbGFuYXRpb25z IGFib3ZlIGNsYXJpZnkgdGhpbmdzIGEgYml0LiBMZXQgbWUga25vdyBpZiB5b3UncmUgCmF0IEZP U0RFTSwgaGFwcHkgdG8gdGFsayBhYm91dCB0aGUgaW50ZXJuYWxzIHRoZXJlIGFzIHdlbGwgOikK CgpBbGV4CgoKCgoKQW1hem9uIERldmVsb3BtZW50IENlbnRlciBHZXJtYW55IEdtYkgKS3JhdXNl bnN0ci4gMzgKMTAxMTcgQmVybGluCkdlc2NoYWVmdHNmdWVocnVuZzogQ2hyaXN0aWFuIFNjaGxh ZWdlciwgSm9uYXRoYW4gV2Vpc3MKRWluZ2V0cmFnZW4gYW0gQW10c2dlcmljaHQgQ2hhcmxvdHRl bmJ1cmcgdW50ZXIgSFJCIDE0OTE3MyBCClNpdHo6IEJlcmxpbgpVc3QtSUQ6IERFIDI4OSAyMzcg ODc5CgoK