From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (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 B73A8823C3 for ; Wed, 22 May 2024 10:14:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716372865; cv=none; b=Uf3FehSQ37YmD7ENXZMqIihb9+rb/cTKlVAyNW0scLLnbZ0APlVuAZ0DLmrTGXETuS5nZjZRBJ4zUILpQ8iTfaMw4q9XAHKJIafkZ3i/L43KoINshaLwB78TdhwtKFQm9QRk7PJl7sLrqK2MeaXU1MecARWRnc5gPPSNT1j0e+Y= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716372865; c=relaxed/simple; bh=SY4PoGxkZbY9EB+8q6oKpL4YKpeUpsHiiyG7kK8YPgw=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=fwvWIEgVxjoX27JIJe1wCdUYgLtepW7LfwBFtrhLCC6SQcvIqSFjm8Ro6o5WZ7DFu6HGOMUlHteii8xVEiUbwTe9xYZ8X8n29eK1P0+ZuJIG2/2m4FJIWsvJ7n1b7TVXQXnWKRFWYtKU32BCWsm/u83ZLe8j/NlaGn5442fb7gU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=bXc6fDO5; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="bXc6fDO5" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1716372859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3swaZNhAm3tQcBfbWtUrlmE8bOex+h0YEsXyT/7SdNM=; b=bXc6fDO5IuvsPwpRHpXRspRMvn5yM/zn7ZtyZxyfbMgjsa+HlXP+/LhuWyl0rAUUSQb+VX HWC7S+7J8h6K8glkJzsjOs9pq/vEjJPTIxGZ84psmk0PswsizJzQrF+W6WcSdokbQsG4MQ v/IyvOX4BNymsY/td/GX5zlTgSMOvzo= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-339-d5EhlufyMVCqBOFbqorWyQ-1; Wed, 22 May 2024 06:14:09 -0400 X-MC-Unique: d5EhlufyMVCqBOFbqorWyQ-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4001B185A78E; Wed, 22 May 2024 10:14:09 +0000 (UTC) Received: from localhost (dhcp-192-239.str.redhat.com [10.33.192.239]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 90C3C1C0654B; Wed, 22 May 2024 10:14:08 +0000 (UTC) From: Cornelia Huck To: Oliver Upton Cc: "Russell King (Oracle)" , Marc Zyngier , Catalin Marinas , Will Deacon , James Morse , Suzuki K Poulose , Zenghui Yu , linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev Subject: Re: [PATCH RFC] KVM: arm64: allow ID_MMFR4_EL1 to be writable In-Reply-To: Organization: "Red Hat GmbH, Sitz: Werner-von-Siemens-Ring 12, D-85630 Grasbrunn, Handelsregister: Amtsgericht =?utf-8?Q?M=C3=BCnchen=2C?= HRB 153243, =?utf-8?Q?Gesch=C3=A4ftsf=C3=BChrer=3A?= Ryan Barnhart, Charles Cachera, Michael O'Neill, Amy Ross" References: <87jzk4h5ir.fsf@redhat.com> <875xvlhfci.fsf@redhat.com> User-Agent: Notmuch/0.38.3 (https://notmuchmail.org) Date: Wed, 22 May 2024 12:14:07 +0200 Message-ID: <87r0du6tn4.fsf@redhat.com> Precedence: bulk X-Mailing-List: kvmarm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.7 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Mon, May 13 2024, Oliver Upton wrote: [apologies for the late reply] > On Fri, May 10, 2024 at 05:11:09PM +0200, Cornelia Huck wrote: >> On Wed, May 08 2024, Oliver Upton wrote: >> > I'm willing to wager that the set of users who want to migrate state >> > from kernel N -> (N - 1) know the exact CPU definition they want to >> > expose to the guest, and in that case should be using a static set of >> > feature register values matching their intent. >>=20 >> I think the trouble starts when we introduce additional ranges of >> registers that can be controled via that interface -- old userspace will >> be able to figure out that there are more ranges available than what it >> is aware of, but will have no idea how to handle those additional ranges >> to get into a defined state (what is the actual range, for example?) > > Even though the UAPI was designed around supporting multiple ranges, I > do not see this being an issue for quite some time. We already fully > describe the Feature ID register range from the architecture. Yeah, we're probably fine for the time being, but something to keep in mind, I guess. > >> > >> > Beyond the CPU architecture, KVM presents hypercall features to the VM >> > which userspace can _opt-out_ of on a per-feature basis using the >> > feature bitmap registers described in [2]. Like the feature ID >> > registers, we've preallocated a range of indices to be used for >> > hypercall bitmaps. So if an unexpected bitmap register appears on a ne= w >> > kernel, userspace should write 0 to it to prevent new features from >> > silently creeping in. >>=20 >> Hm, the doc says: "The features for the registers that are untouched, >> probably because userspace isn=E2=80=99t aware of them, will be exposed = as is to >> the guest." Seems to indicate that it is not too hard to get this wrong = :) > > Sure, but keep in mind the full range of possible Feature ID registers is > already known to userspace. Many of these register encodings are reserved= , > RAZ to allow for future expansion of the architecture [*]. New registers > will come from one of these RAZ encodings. > > If userspace wants to assert complete control over the CPU feature set > exposed to the VM it should use a pre-baked value for every register in > the range Op0=3D3, Op1=3D0, CRn=3D0, CRm=3D{1-8}, Op2=3D{0-8}. > > [*] DDI0487J.a Table D18-2 Might make sense to spell that out? >From 1d952c816d3192a4c2f3d95339aa96d86d3d0406 Mon Sep 17 00:00:00 2001 From: Cornelia Huck Date: Wed, 22 May 2024 12:01:24 +0200 Subject: [PATCH] KVM: arm64: provide hint about vCPU feature stability Give userspace some advice on how to achieve a stable feature set. Signed-off-by: Cornelia Huck --- Documentation/virt/kvm/arm/vcpu-features.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/virt/kvm/arm/vcpu-features.rst b/Documentation/v= irt/kvm/arm/vcpu-features.rst index f7cc6d8d8b74..01973bf8815d 100644 --- a/Documentation/virt/kvm/arm/vcpu-features.rst +++ b/Documentation/virt/kvm/arm/vcpu-features.rst @@ -40,6 +40,10 @@ outlined by the architecture in DDI0487J.a D19.1.3 'Prin= ciples of the ID scheme for fields in ID register'. KVM does not allow ID register values t= hat exceed the capabilities of the system. =20 +As KVM will enable new features by default, userspace that wants to provid= e a +stable feature set regardless of the kernel version is advised to supply a +complete set of values for all of the ID registers. + .. warning:: It is **strongly recommended** that userspace modify the ID register va= lues before accessing the rest of the vCPU's CPU register state. KVM may use= the > >> > >> > The canonical reason for this behavior, though, is that KVM/arm64 >> > defaults to the maximum-possible feature set as discussed above. >>=20 >> /me contemplating "reverse" features, but too tired to think this >> through on a Friday afternoon. >>=20 > > Reverse as in a negative / removed feature? > > These tend to appear as negative ID register fields, to imply that the > feature set is less than what's provided for with a value of 0x0. KVM > probably couldn't start deprecating features in the default ID register > values but userspace could probe for features it can opt-out of using > the writable mask + trying to write -1 to a field. > > DDI0487J.a D19.1.3 covers this. Yes, that would make the most sense (explicit opt-out from userspace), the advice from above would still apply. 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 88D5BC25B77 for ; Wed, 22 May 2024 10:14:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=94DQt0m305YNJ1pCFnWc0uRrgxBltIBgmk7X26L0C4k=; b=MOo41QuVeP5XmM aYV69nagbpwzQdyyxL0qeIf98DhVcnwFtXfE7mIkpVKVQh/tWkh5AfJUdO+VYC1Nnwb+jy2wYi2ef hA8+Htc9Brs1HPpsIZkYdwOTW285AIG0o0PLN3rnt/2GTI1nSSeXiW/AQb7QauU7gz0xoHqhTYeP5 z+EgEiOx4pBddB5PXaxnPoO0VeMp63eLGA2OXPkj7ElkaDjwqJL/aR3/J05tI1bW3U4IPVcz08yP5 Echuqs2Ayz5xMbNc2z3uTn+1oIntX/OUJdD0BU936xH1P8C/ITKCQco0HeYiwS309xLuLJEZb+YeO PwB/nq7fFhuOMvN33a4g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s9izK-00000002cDW-0inG; Wed, 22 May 2024 10:14:26 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s9izI-00000002cCR-0BND for linux-arm-kernel@lists.infradead.org; Wed, 22 May 2024 10:14:25 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1716372859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3swaZNhAm3tQcBfbWtUrlmE8bOex+h0YEsXyT/7SdNM=; b=bXc6fDO5IuvsPwpRHpXRspRMvn5yM/zn7ZtyZxyfbMgjsa+HlXP+/LhuWyl0rAUUSQb+VX HWC7S+7J8h6K8glkJzsjOs9pq/vEjJPTIxGZ84psmk0PswsizJzQrF+W6WcSdokbQsG4MQ v/IyvOX4BNymsY/td/GX5zlTgSMOvzo= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-339-d5EhlufyMVCqBOFbqorWyQ-1; Wed, 22 May 2024 06:14:09 -0400 X-MC-Unique: d5EhlufyMVCqBOFbqorWyQ-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4001B185A78E; Wed, 22 May 2024 10:14:09 +0000 (UTC) Received: from localhost (dhcp-192-239.str.redhat.com [10.33.192.239]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 90C3C1C0654B; Wed, 22 May 2024 10:14:08 +0000 (UTC) From: Cornelia Huck To: Oliver Upton Cc: "Russell King (Oracle)" , Marc Zyngier , Catalin Marinas , Will Deacon , James Morse , Suzuki K Poulose , Zenghui Yu , linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev Subject: Re: [PATCH RFC] KVM: arm64: allow ID_MMFR4_EL1 to be writable In-Reply-To: Organization: "Red Hat GmbH, Sitz: Werner-von-Siemens-Ring 12, D-85630 Grasbrunn, Handelsregister: Amtsgericht =?utf-8?Q?M=C3=BCnchen=2C?= HRB 153243, =?utf-8?Q?Gesch=C3=A4ftsf=C3=BChrer=3A?= Ryan Barnhart, Charles Cachera, Michael O'Neill, Amy Ross" References: <87jzk4h5ir.fsf@redhat.com> <875xvlhfci.fsf@redhat.com> User-Agent: Notmuch/0.38.3 (https://notmuchmail.org) Date: Wed, 22 May 2024 12:14:07 +0200 Message-ID: <87r0du6tn4.fsf@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.7 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240522_031424_268360_4E101D3C X-CRM114-Status: GOOD ( 37.84 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gTW9uLCBNYXkgMTMgMjAyNCwgT2xpdmVyIFVwdG9uIDxvbGl2ZXIudXB0b25AbGludXguZGV2 PiB3cm90ZToKClthcG9sb2dpZXMgZm9yIHRoZSBsYXRlIHJlcGx5XQoKPiBPbiBGcmksIE1heSAx MCwgMjAyNCBhdCAwNToxMTowOVBNICswMjAwLCBDb3JuZWxpYSBIdWNrIHdyb3RlOgo+PiBPbiBX ZWQsIE1heSAwOCAyMDI0LCBPbGl2ZXIgVXB0b24gPG9saXZlci51cHRvbkBsaW51eC5kZXY+IHdy b3RlOgo+PiA+IEknbSB3aWxsaW5nIHRvIHdhZ2VyIHRoYXQgdGhlIHNldCBvZiB1c2VycyB3aG8g d2FudCB0byBtaWdyYXRlIHN0YXRlCj4+ID4gZnJvbSBrZXJuZWwgTiAtPiAoTiAtIDEpIGtub3cg dGhlIGV4YWN0IENQVSBkZWZpbml0aW9uIHRoZXkgd2FudCB0bwo+PiA+IGV4cG9zZSB0byB0aGUg Z3Vlc3QsIGFuZCBpbiB0aGF0IGNhc2Ugc2hvdWxkIGJlIHVzaW5nIGEgc3RhdGljIHNldCBvZgo+ PiA+IGZlYXR1cmUgcmVnaXN0ZXIgdmFsdWVzIG1hdGNoaW5nIHRoZWlyIGludGVudC4KPj4gCj4+ IEkgdGhpbmsgdGhlIHRyb3VibGUgc3RhcnRzIHdoZW4gd2UgaW50cm9kdWNlIGFkZGl0aW9uYWwg cmFuZ2VzIG9mCj4+IHJlZ2lzdGVycyB0aGF0IGNhbiBiZSBjb250cm9sZWQgdmlhIHRoYXQgaW50 ZXJmYWNlIC0tIG9sZCB1c2Vyc3BhY2Ugd2lsbAo+PiBiZSBhYmxlIHRvIGZpZ3VyZSBvdXQgdGhh dCB0aGVyZSBhcmUgbW9yZSByYW5nZXMgYXZhaWxhYmxlIHRoYW4gd2hhdCBpdAo+PiBpcyBhd2Fy ZSBvZiwgYnV0IHdpbGwgaGF2ZSBubyBpZGVhIGhvdyB0byBoYW5kbGUgdGhvc2UgYWRkaXRpb25h bCByYW5nZXMKPj4gdG8gZ2V0IGludG8gYSBkZWZpbmVkIHN0YXRlICh3aGF0IGlzIHRoZSBhY3R1 YWwgcmFuZ2UsIGZvciBleGFtcGxlPykKPgo+IEV2ZW4gdGhvdWdoIHRoZSBVQVBJIHdhcyBkZXNp Z25lZCBhcm91bmQgc3VwcG9ydGluZyBtdWx0aXBsZSByYW5nZXMsIEkKPiBkbyBub3Qgc2VlIHRo aXMgYmVpbmcgYW4gaXNzdWUgZm9yIHF1aXRlIHNvbWUgdGltZS4gV2UgYWxyZWFkeSBmdWxseQo+ IGRlc2NyaWJlIHRoZSBGZWF0dXJlIElEIHJlZ2lzdGVyIHJhbmdlIGZyb20gdGhlIGFyY2hpdGVj dHVyZS4KClllYWgsIHdlJ3JlIHByb2JhYmx5IGZpbmUgZm9yIHRoZSB0aW1lIGJlaW5nLCBidXQg c29tZXRoaW5nIHRvIGtlZXAgaW4KbWluZCwgSSBndWVzcy4KCj4KPj4gPgo+PiA+IEJleW9uZCB0 aGUgQ1BVIGFyY2hpdGVjdHVyZSwgS1ZNIHByZXNlbnRzIGh5cGVyY2FsbCBmZWF0dXJlcyB0byB0 aGUgVk0KPj4gPiB3aGljaCB1c2Vyc3BhY2UgY2FuIF9vcHQtb3V0XyBvZiBvbiBhIHBlci1mZWF0 dXJlIGJhc2lzIHVzaW5nIHRoZQo+PiA+IGZlYXR1cmUgYml0bWFwIHJlZ2lzdGVycyBkZXNjcmli ZWQgaW4gWzJdLiBMaWtlIHRoZSBmZWF0dXJlIElECj4+ID4gcmVnaXN0ZXJzLCB3ZSd2ZSBwcmVh bGxvY2F0ZWQgYSByYW5nZSBvZiBpbmRpY2VzIHRvIGJlIHVzZWQgZm9yCj4+ID4gaHlwZXJjYWxs IGJpdG1hcHMuIFNvIGlmIGFuIHVuZXhwZWN0ZWQgYml0bWFwIHJlZ2lzdGVyIGFwcGVhcnMgb24g YSBuZXcKPj4gPiBrZXJuZWwsIHVzZXJzcGFjZSBzaG91bGQgd3JpdGUgMCB0byBpdCB0byBwcmV2 ZW50IG5ldyBmZWF0dXJlcyBmcm9tCj4+ID4gc2lsZW50bHkgY3JlZXBpbmcgaW4uCj4+IAo+PiBI bSwgdGhlIGRvYyBzYXlzOiAiVGhlIGZlYXR1cmVzIGZvciB0aGUgcmVnaXN0ZXJzIHRoYXQgYXJl IHVudG91Y2hlZCwKPj4gcHJvYmFibHkgYmVjYXVzZSB1c2Vyc3BhY2UgaXNu4oCZdCBhd2FyZSBv ZiB0aGVtLCB3aWxsIGJlIGV4cG9zZWQgYXMgaXMgdG8KPj4gdGhlIGd1ZXN0LiIgU2VlbXMgdG8g aW5kaWNhdGUgdGhhdCBpdCBpcyBub3QgdG9vIGhhcmQgdG8gZ2V0IHRoaXMgd3JvbmcgOikKPgo+ IFN1cmUsIGJ1dCBrZWVwIGluIG1pbmQgdGhlIGZ1bGwgcmFuZ2Ugb2YgcG9zc2libGUgRmVhdHVy ZSBJRCByZWdpc3RlcnMgaXMKPiBhbHJlYWR5IGtub3duIHRvIHVzZXJzcGFjZS4gTWFueSBvZiB0 aGVzZSByZWdpc3RlciBlbmNvZGluZ3MgYXJlIHJlc2VydmVkLAo+IFJBWiB0byBhbGxvdyBmb3Ig ZnV0dXJlIGV4cGFuc2lvbiBvZiB0aGUgYXJjaGl0ZWN0dXJlIFsqXS4gTmV3IHJlZ2lzdGVycwo+ IHdpbGwgY29tZSBmcm9tIG9uZSBvZiB0aGVzZSBSQVogZW5jb2RpbmdzLgo+Cj4gSWYgdXNlcnNw YWNlIHdhbnRzIHRvIGFzc2VydCBjb21wbGV0ZSBjb250cm9sIG92ZXIgdGhlIENQVSBmZWF0dXJl IHNldAo+IGV4cG9zZWQgdG8gdGhlIFZNIGl0IHNob3VsZCB1c2UgYSBwcmUtYmFrZWQgdmFsdWUg Zm9yIGV2ZXJ5IHJlZ2lzdGVyIGluCj4gdGhlIHJhbmdlIE9wMD0zLCBPcDE9MCwgQ1JuPTAsIENS bT17MS04fSwgT3AyPXswLTh9Lgo+Cj4gWypdIERESTA0ODdKLmEgVGFibGUgRDE4LTIKCk1pZ2h0 IG1ha2Ugc2Vuc2UgdG8gc3BlbGwgdGhhdCBvdXQ/CgpGcm9tIDFkOTUyYzgxNmQzMTkyYTRjMmYz ZDk1MzM5YWE5NmQ4NmQzZDA0MDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IENvcm5l bGlhIEh1Y2sgPGNvaHVja0ByZWRoYXQuY29tPgpEYXRlOiBXZWQsIDIyIE1heSAyMDI0IDEyOjAx OjI0ICswMjAwClN1YmplY3Q6IFtQQVRDSF0gS1ZNOiBhcm02NDogcHJvdmlkZSBoaW50IGFib3V0 IHZDUFUgZmVhdHVyZSBzdGFiaWxpdHkKCkdpdmUgdXNlcnNwYWNlIHNvbWUgYWR2aWNlIG9uIGhv dyB0byBhY2hpZXZlIGEgc3RhYmxlIGZlYXR1cmUgc2V0LgoKU2lnbmVkLW9mZi1ieTogQ29ybmVs aWEgSHVjayA8Y29odWNrQHJlZGhhdC5jb20+Ci0tLQogRG9jdW1lbnRhdGlvbi92aXJ0L2t2bS9h cm0vdmNwdS1mZWF0dXJlcy5yc3QgfCA0ICsrKysKIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3ZpcnQva3ZtL2FybS92Y3B1LWZlYXR1 cmVzLnJzdCBiL0RvY3VtZW50YXRpb24vdmlydC9rdm0vYXJtL3ZjcHUtZmVhdHVyZXMucnN0Cmlu ZGV4IGY3Y2M2ZDhkOGI3NC4uMDE5NzNiZjg4MTVkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9u L3ZpcnQva3ZtL2FybS92Y3B1LWZlYXR1cmVzLnJzdAorKysgYi9Eb2N1bWVudGF0aW9uL3ZpcnQv a3ZtL2FybS92Y3B1LWZlYXR1cmVzLnJzdApAQCAtNDAsNiArNDAsMTAgQEAgb3V0bGluZWQgYnkg dGhlIGFyY2hpdGVjdHVyZSBpbiBEREkwNDg3Si5hIEQxOS4xLjMgJ1ByaW5jaXBsZXMgb2YgdGhl IElECiBzY2hlbWUgZm9yIGZpZWxkcyBpbiBJRCByZWdpc3RlcicuIEtWTSBkb2VzIG5vdCBhbGxv dyBJRCByZWdpc3RlciB2YWx1ZXMgdGhhdAogZXhjZWVkIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhl IHN5c3RlbS4KIAorQXMgS1ZNIHdpbGwgZW5hYmxlIG5ldyBmZWF0dXJlcyBieSBkZWZhdWx0LCB1 c2Vyc3BhY2UgdGhhdCB3YW50cyB0byBwcm92aWRlIGEKK3N0YWJsZSBmZWF0dXJlIHNldCByZWdh cmRsZXNzIG9mIHRoZSBrZXJuZWwgdmVyc2lvbiBpcyBhZHZpc2VkIHRvIHN1cHBseSBhCitjb21w bGV0ZSBzZXQgb2YgdmFsdWVzIGZvciBhbGwgb2YgdGhlIElEIHJlZ2lzdGVycy4KKwogLi4gd2Fy bmluZzo6CiAgICBJdCBpcyAqKnN0cm9uZ2x5IHJlY29tbWVuZGVkKiogdGhhdCB1c2Vyc3BhY2Ug bW9kaWZ5IHRoZSBJRCByZWdpc3RlciB2YWx1ZXMKICAgIGJlZm9yZSBhY2Nlc3NpbmcgdGhlIHJl c3Qgb2YgdGhlIHZDUFUncyBDUFUgcmVnaXN0ZXIgc3RhdGUuIEtWTSBtYXkgdXNlIHRoZQoKPgo+ PiA+Cj4+ID4gVGhlIGNhbm9uaWNhbCByZWFzb24gZm9yIHRoaXMgYmVoYXZpb3IsIHRob3VnaCwg aXMgdGhhdCBLVk0vYXJtNjQKPj4gPiBkZWZhdWx0cyB0byB0aGUgbWF4aW11bS1wb3NzaWJsZSBm ZWF0dXJlIHNldCBhcyBkaXNjdXNzZWQgYWJvdmUuCj4+IAo+PiAvbWUgY29udGVtcGxhdGluZyAi cmV2ZXJzZSIgZmVhdHVyZXMsIGJ1dCB0b28gdGlyZWQgdG8gdGhpbmsgdGhpcwo+PiB0aHJvdWdo IG9uIGEgRnJpZGF5IGFmdGVybm9vbi4KPj4gCj4KPiBSZXZlcnNlIGFzIGluIGEgbmVnYXRpdmUg LyByZW1vdmVkIGZlYXR1cmU/Cj4KPiBUaGVzZSB0ZW5kIHRvIGFwcGVhciBhcyBuZWdhdGl2ZSBJ RCByZWdpc3RlciBmaWVsZHMsIHRvIGltcGx5IHRoYXQgdGhlCj4gZmVhdHVyZSBzZXQgaXMgbGVz cyB0aGFuIHdoYXQncyBwcm92aWRlZCBmb3Igd2l0aCBhIHZhbHVlIG9mIDB4MC4gS1ZNCj4gcHJv YmFibHkgY291bGRuJ3Qgc3RhcnQgZGVwcmVjYXRpbmcgZmVhdHVyZXMgaW4gdGhlIGRlZmF1bHQg SUQgcmVnaXN0ZXIKPiB2YWx1ZXMgYnV0IHVzZXJzcGFjZSBjb3VsZCBwcm9iZSBmb3IgZmVhdHVy ZXMgaXQgY2FuIG9wdC1vdXQgb2YgdXNpbmcKPiB0aGUgd3JpdGFibGUgbWFzayArIHRyeWluZyB0 byB3cml0ZSAtMSB0byBhIGZpZWxkLgo+Cj4gRERJMDQ4N0ouYSBEMTkuMS4zIGNvdmVycyB0aGlz LgoKWWVzLCB0aGF0IHdvdWxkIG1ha2UgdGhlIG1vc3Qgc2Vuc2UgKGV4cGxpY2l0IG9wdC1vdXQg ZnJvbSB1c2Vyc3BhY2UpLAp0aGUgYWR2aWNlIGZyb20gYWJvdmUgd291bGQgc3RpbGwgYXBwbHku CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt LWtlcm5lbAo=