Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp877221iob; Thu, 28 Apr 2022 12:48:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyoRQfVBwmdMrudhA41JK9FXKLMY9s7kb+RhPViK7O2NY+2vUz334OgPomL7l9YX/FbnpRR X-Received: by 2002:a05:6512:2311:b0:472:c48:5b3b with SMTP id o17-20020a056512231100b004720c485b3bmr14186869lfu.159.1651175306410; Thu, 28 Apr 2022 12:48:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651175306; cv=none; d=google.com; s=arc-20160816; b=Y2HMgcqAeRRDkXtuNwy4r6qa+HQn4O8RPg6S+i8C3hIa1w8eUVV6wPYB4YbJw9e2OI lyVDaUg6IfYzXdqJw39D3gBzcv1nJ4aGM8r/BF9hDvq1NLvhafja7eweqqZcNMqdS2US xY8iNKBdxLZ4XkeXlPX/A99KDJ2X7jvagiTHZd+JGjXwQJEOujc8l3cB44iGbja/zRDM 8MH7H5loQVzbspa+4t75j8X6b8nlCeKlMuFe6jgxq4FcYs9A+xGIqd7Y8OnSaBPcF4tR LWoFvlbgncpKhzmP9awBMKjVynErUBNOww48+wrBHtf0QW/WHVnRSJ3rmbxy9mLfOPsH aeMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent:references:in-reply-to :date:cc:to:from:subject:message-id:dkim-signature; bh=mz2lMN2cNK2YE4MnpxTB4rKJf0hyjVWWRBZnr8cKhBw=; b=0UUNthhqJPPi76p6JnMQh6oZCFN8irJzNIa2W+8j/+kw+rTMHF1zKN/nfWMoXN1KKJ tqTyMTsDprrBIIR6IwK92zUstABNB4RGMhr5T9wlow7ex5Nh3dX+4mLQwG6EMbE8OsBl GWJZr+wdbr4zJ8Jr6r45IIme68NKbuSi7ms8LDFYOez2t+Mv65A/oanEpklaGcUKtTiK 1p8wxNA1wr2wGYL0URLWh+mAXFtIqvfyEbPauN8ohTfvQqgH5I+9NQ+aYc3UajEWCbAB fn/xSBrNWSfiYgRmwZ/5zkbHWUpXBz7tSGlXGht4igp+74EFTHUmNiNeLQPVdEEpxXF0 keKw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=EEOeGDH8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e10-20020a05651c04ca00b0024db4feb4a8si7804456lji.285.2022.04.28.12.47.55; Thu, 28 Apr 2022 12:48:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=EEOeGDH8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236574AbiD1RUU (ORCPT + 99 others); Thu, 28 Apr 2022 13:20:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38594 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236510AbiD1RUS (ORCPT ); Thu, 28 Apr 2022 13:20:18 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 699125EBE3 for ; Thu, 28 Apr 2022 10:17:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1651166219; 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: in-reply-to:in-reply-to:references:references; bh=mz2lMN2cNK2YE4MnpxTB4rKJf0hyjVWWRBZnr8cKhBw=; b=EEOeGDH8c1TPuzFHpzH8vf+E2RsN4sxFOdeTYOLWZA4/F0tfl1sL25ZEe+/9Rq6xyuIpp9 cMEgvrYkhaGKaedaXvJBlpnqf/yoQsLo6ZQywPFi5/enXezMJRkVL6oveFYZEkZwBNTs5i qgGxNwHndH/Wk3pHVrFmzDoJN6VIsHM= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-628-kwi5_tcPM6Wrjpu3l64sdg-1; Thu, 28 Apr 2022 13:16:53 -0400 X-MC-Unique: kwi5_tcPM6Wrjpu3l64sdg-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 8CF591E15C01; Thu, 28 Apr 2022 17:16:52 +0000 (UTC) Received: from starship (unknown [10.40.192.41]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5123240E7F06; Thu, 28 Apr 2022 17:16:48 +0000 (UTC) Message-ID: <8f21a9d4b4ceb7c515f776b1a981c801e439c5f0.camel@redhat.com> Subject: Re: [syzbot] WARNING in kvm_mmu_uninit_tdp_mmu (2) From: Maxim Levitsky To: Sean Christopherson Cc: syzbot , bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, jmattson@google.com, joro@8bytes.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, mingo@redhat.com, pbonzini@redhat.com, syzkaller-bugs@googlegroups.com, tglx@linutronix.de, vkuznets@redhat.com, wanpengli@tencent.com, x86@kernel.org Date: Thu, 28 Apr 2022 20:16:47 +0300 In-Reply-To: References: <00000000000082452505dd503126@google.com> <13b3235ef66f22475fd4059df95ad0144548ccd1.camel@redhat.com> Content-Type: multipart/mixed; boundary="=-xYVjuuStPq3m473+k+4L" User-Agent: Evolution 3.36.5 (3.36.5-2.fc32) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.11.54.1 X-Spam-Status: No, score=-3.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=-xYVjuuStPq3m473+k+4L Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit On Thu, 2022-04-28 at 15:32 +0000, Sean Christopherson wrote: > On Tue, Apr 26, 2022, Maxim Levitsky wrote: > > I can reproduce this in a VM, by running and CTRL+C'in my ipi_stress test, > > Can you post your ipi_stress test? I'm curious to see if I can repro, and also > very curious as to what might be unique about your test. I haven't been able to > repro the syzbot test, nor have I been able to repro by killing VMs/tests. > This is the patch series (mostly attempt to turn svm to mini library, but I don't know if this is worth it. It was done so that ipi_stress could use nesting itself to wait for IPI from within a nested guest. I usually don't use it. This is more or less how I was running it lately (I have a wrapper script) ./x86/run x86/ipi_stress.flat \ -global kvm-pit.lost_tick_policy=discard \ -machine kernel-irqchip=on -name debug-threads=on \ \ -smp 8 \ -cpu host,x2apic=off,svm=off,-hypervisor \ -overcommit cpu-pm=on \ -m 4g -append "0 10000" Its not fully finised for upstream, I will get to it soon. 'cpu-pm=on' won't work for you as this fails due to non atomic memslot update bug for which I have a small hack in qemu, and it is on my backlog to fix it correctly. Mostly likely cpu_pm=off will also reproduce it. Test was run in a guest, natively this doesn't seem to reproduce. tdp mmu was used for both L0 and L1. Best regards, Maxim levitsky --=-xYVjuuStPq3m473+k+4L Content-Disposition: attachment; filename="0001-svm-move-svm-spec-definitions-to-lib-x86-svm.h.patch" Content-Type: text/x-patch; name="0001-svm-move-svm-spec-definitions-to-lib-x86-svm.h.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAzMjVhMmVmZjAxMTg0ZTgyZjFmODBhYzU3ODNlYjViYzUwNThlMWE4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBMZXZpdHNreSA8bWxldml0c2tAcmVkaGF0LmNvbT4K RGF0ZTogTW9uLCAyOCBNYXIgMjAyMiAxNDoyMzo1MyArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMS83 XSBzdm06IG1vdmUgc3ZtIHNwZWMgZGVmaW5pdGlvbnMgdG8gbGliL3g4Ni9zdm0uaAoKLS0tCiBs aWIveDg2L3N2bS5oIHwgMzY0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCiB4ODYvc3ZtLmggICAgIHwgMzU5ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMzY1IGluc2VydGlv bnMoKyksIDM1OCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIveDg2L3N2bS5o CgpkaWZmIC0tZ2l0IGEvbGliL3g4Ni9zdm0uaCBiL2xpYi94ODYvc3ZtLmgKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjM4YmI5MjI0Ci0tLSAvZGV2L251bGwKKysrIGIvbGli L3g4Ni9zdm0uaApAQCAtMCwwICsxLDM2NCBAQAorCisjaWZuZGVmIFNSQ19MSUJfWDg2X1NWTV9I XworI2RlZmluZSBTUkNfTElCX1g4Nl9TVk1fSF8KKworZW51bSB7CisgICAgSU5URVJDRVBUX0lO VFIsCisgICAgSU5URVJDRVBUX05NSSwKKyAgICBJTlRFUkNFUFRfU01JLAorICAgIElOVEVSQ0VQ VF9JTklULAorICAgIElOVEVSQ0VQVF9WSU5UUiwKKyAgICBJTlRFUkNFUFRfU0VMRUNUSVZFX0NS MCwKKyAgICBJTlRFUkNFUFRfU1RPUkVfSURUUiwKKyAgICBJTlRFUkNFUFRfU1RPUkVfR0RUUiwK KyAgICBJTlRFUkNFUFRfU1RPUkVfTERUUiwKKyAgICBJTlRFUkNFUFRfU1RPUkVfVFIsCisgICAg SU5URVJDRVBUX0xPQURfSURUUiwKKyAgICBJTlRFUkNFUFRfTE9BRF9HRFRSLAorICAgIElOVEVS Q0VQVF9MT0FEX0xEVFIsCisgICAgSU5URVJDRVBUX0xPQURfVFIsCisgICAgSU5URVJDRVBUX1JE VFNDLAorICAgIElOVEVSQ0VQVF9SRFBNQywKKyAgICBJTlRFUkNFUFRfUFVTSEYsCisgICAgSU5U RVJDRVBUX1BPUEYsCisgICAgSU5URVJDRVBUX0NQVUlELAorICAgIElOVEVSQ0VQVF9SU00sCisg ICAgSU5URVJDRVBUX0lSRVQsCisgICAgSU5URVJDRVBUX0lOVG4sCisgICAgSU5URVJDRVBUX0lO VkQsCisgICAgSU5URVJDRVBUX1BBVVNFLAorICAgIElOVEVSQ0VQVF9ITFQsCisgICAgSU5URVJD RVBUX0lOVkxQRywKKyAgICBJTlRFUkNFUFRfSU5WTFBHQSwKKyAgICBJTlRFUkNFUFRfSU9JT19Q Uk9ULAorICAgIElOVEVSQ0VQVF9NU1JfUFJPVCwKKyAgICBJTlRFUkNFUFRfVEFTS19TV0lUQ0gs CisgICAgSU5URVJDRVBUX0ZFUlJfRlJFRVpFLAorICAgIElOVEVSQ0VQVF9TSFVURE9XTiwKKyAg ICBJTlRFUkNFUFRfVk1SVU4sCisgICAgSU5URVJDRVBUX1ZNTUNBTEwsCisgICAgSU5URVJDRVBU X1ZNTE9BRCwKKyAgICBJTlRFUkNFUFRfVk1TQVZFLAorICAgIElOVEVSQ0VQVF9TVEdJLAorICAg IElOVEVSQ0VQVF9DTEdJLAorICAgIElOVEVSQ0VQVF9TS0lOSVQsCisgICAgSU5URVJDRVBUX1JE VFNDUCwKKyAgICBJTlRFUkNFUFRfSUNFQlAsCisgICAgSU5URVJDRVBUX1dCSU5WRCwKKyAgICBJ TlRFUkNFUFRfTU9OSVRPUiwKKyAgICBJTlRFUkNFUFRfTVdBSVQsCisgICAgSU5URVJDRVBUX01X QUlUX0NPTkQsCit9OworCitlbnVtIHsKKyAgICAgICAgVk1DQl9DTEVBTl9JTlRFUkNFUFRTID0g MSwgLyogSW50ZXJjZXB0IHZlY3RvcnMsIFRTQyBvZmZzZXQsIHBhdXNlIGZpbHRlciBjb3VudCAq LworICAgICAgICBWTUNCX0NMRUFOX1BFUk1fTUFQID0gMiwgICAvKiBJT1BNIEJhc2UgYW5kIE1T UlBNIEJhc2UgKi8KKyAgICAgICAgVk1DQl9DTEVBTl9BU0lEID0gNCwgICAgICAgLyogQVNJRCAq LworICAgICAgICBWTUNCX0NMRUFOX0lOVFIgPSA4LCAgICAgICAvKiBpbnRfY3RsLCBpbnRfdmVj dG9yICovCisgICAgICAgIFZNQ0JfQ0xFQU5fTlBUID0gMTYsICAgICAgIC8qIG5wdF9lbiwgbkNS MywgZ1BBVCAqLworICAgICAgICBWTUNCX0NMRUFOX0NSID0gMzIsICAgICAgICAvKiBDUjAsIENS MywgQ1I0LCBFRkVSICovCisgICAgICAgIFZNQ0JfQ0xFQU5fRFIgPSA2NCwgICAgICAgIC8qIERS NiwgRFI3ICovCisgICAgICAgIFZNQ0JfQ0xFQU5fRFQgPSAxMjgsICAgICAgIC8qIEdEVCwgSURU ICovCisgICAgICAgIFZNQ0JfQ0xFQU5fU0VHID0gMjU2LCAgICAgIC8qIENTLCBEUywgU1MsIEVT LCBDUEwgKi8KKyAgICAgICAgVk1DQl9DTEVBTl9DUjIgPSA1MTIsICAgICAgLyogQ1IyIG9ubHkg Ki8KKyAgICAgICAgVk1DQl9DTEVBTl9MQlIgPSAxMDI0LCAgICAgLyogREJHQ1RMLCBCUl9GUk9N LCBCUl9UTywgTEFTVF9FWF9GUk9NLCBMQVNUX0VYX1RPICovCisgICAgICAgIFZNQ0JfQ0xFQU5f QVZJQyA9IDIwNDgsICAgIC8qIEFQSUNfQkFSLCBBUElDX0JBQ0tJTkdfUEFHRSwKKyAgICAgICAg ICAgICAgICAgICAgICBQSFlTSUNBTF9UQUJMRSBwb2ludGVyLCBMT0dJQ0FMX1RBQkxFIHBvaW50 ZXIgKi8KKyAgICAgICAgVk1DQl9DTEVBTl9BTEwgPSA0MDk1LAorfTsKKworc3RydWN0IF9fYXR0 cmlidXRlX18gKChfX3BhY2tlZF9fKSkgdm1jYl9jb250cm9sX2FyZWEgeworICAgIHUxNiBpbnRl cmNlcHRfY3JfcmVhZDsKKyAgICB1MTYgaW50ZXJjZXB0X2NyX3dyaXRlOworICAgIHUxNiBpbnRl cmNlcHRfZHJfcmVhZDsKKyAgICB1MTYgaW50ZXJjZXB0X2RyX3dyaXRlOworICAgIHUzMiBpbnRl cmNlcHRfZXhjZXB0aW9uczsKKyAgICB1NjQgaW50ZXJjZXB0OworICAgIHU4IHJlc2VydmVkXzFb NDBdOworICAgIHUxNiBwYXVzZV9maWx0ZXJfdGhyZXNoOworICAgIHUxNiBwYXVzZV9maWx0ZXJf Y291bnQ7CisgICAgdTY0IGlvcG1fYmFzZV9wYTsKKyAgICB1NjQgbXNycG1fYmFzZV9wYTsKKyAg ICB1NjQgdHNjX29mZnNldDsKKyAgICB1MzIgYXNpZDsKKyAgICB1OCB0bGJfY3RsOworICAgIHU4 IHJlc2VydmVkXzJbM107CisgICAgdTMyIGludF9jdGw7CisgICAgdTMyIGludF92ZWN0b3I7Cisg ICAgdTMyIGludF9zdGF0ZTsKKyAgICB1OCByZXNlcnZlZF8zWzRdOworICAgIHUzMiBleGl0X2Nv ZGU7CisgICAgdTMyIGV4aXRfY29kZV9oaTsKKyAgICB1NjQgZXhpdF9pbmZvXzE7CisgICAgdTY0 IGV4aXRfaW5mb18yOworICAgIHUzMiBleGl0X2ludF9pbmZvOworICAgIHUzMiBleGl0X2ludF9p bmZvX2VycjsKKyAgICB1NjQgbmVzdGVkX2N0bDsKKyAgICB1OCByZXNlcnZlZF80WzE2XTsKKyAg ICB1MzIgZXZlbnRfaW5qOworICAgIHUzMiBldmVudF9pbmpfZXJyOworICAgIHU2NCBuZXN0ZWRf Y3IzOworICAgIHU2NCB2aXJ0X2V4dDsKKyAgICB1MzIgY2xlYW47CisgICAgdTMyIHJlc2VydmVk XzU7CisgICAgdTY0IG5leHRfcmlwOworICAgIHU4IGluc25fbGVuOworICAgIHU4IGluc25fYnl0 ZXNbMTVdOworICAgIHU4IHJlc2VydmVkXzZbODAwXTsKK307CisKKyNkZWZpbmUgVExCX0NPTlRS T0xfRE9fTk9USElORyAwCisjZGVmaW5lIFRMQl9DT05UUk9MX0ZMVVNIX0FMTF9BU0lEIDEKKwor I2RlZmluZSBWX1RQUl9NQVNLIDB4MGYKKworI2RlZmluZSBWX0lSUV9TSElGVCA4CisjZGVmaW5l IFZfSVJRX01BU0sgKDEgPDwgVl9JUlFfU0hJRlQpCisKKyNkZWZpbmUgVl9HSUZfRU5BQkxFRF9T SElGVCAyNQorI2RlZmluZSBWX0dJRl9FTkFCTEVEX01BU0sgKDEgPDwgVl9HSUZfRU5BQkxFRF9T SElGVCkKKworI2RlZmluZSBWX0dJRl9TSElGVCA5CisjZGVmaW5lIFZfR0lGX01BU0sgKDEgPDwg Vl9HSUZfU0hJRlQpCisKKyNkZWZpbmUgVl9JTlRSX1BSSU9fU0hJRlQgMTYKKyNkZWZpbmUgVl9J TlRSX1BSSU9fTUFTSyAoMHgwZiA8PCBWX0lOVFJfUFJJT19TSElGVCkKKworI2RlZmluZSBWX0lH Tl9UUFJfU0hJRlQgMjAKKyNkZWZpbmUgVl9JR05fVFBSX01BU0sgKDEgPDwgVl9JR05fVFBSX1NI SUZUKQorCisjZGVmaW5lIFZfSU5UUl9NQVNLSU5HX1NISUZUIDI0CisjZGVmaW5lIFZfSU5UUl9N QVNLSU5HX01BU0sgKDEgPDwgVl9JTlRSX01BU0tJTkdfU0hJRlQpCisKKyNkZWZpbmUgU1ZNX0lO VEVSUlVQVF9TSEFET1dfTUFTSyAxCisKKyNkZWZpbmUgU1ZNX0lPSU9fU1RSX1NISUZUIDIKKyNk ZWZpbmUgU1ZNX0lPSU9fUkVQX1NISUZUIDMKKyNkZWZpbmUgU1ZNX0lPSU9fU0laRV9TSElGVCA0 CisjZGVmaW5lIFNWTV9JT0lPX0FTSVpFX1NISUZUIDcKKworI2RlZmluZSBTVk1fSU9JT19UWVBF X01BU0sgMQorI2RlZmluZSBTVk1fSU9JT19TVFJfTUFTSyAoMSA8PCBTVk1fSU9JT19TVFJfU0hJ RlQpCisjZGVmaW5lIFNWTV9JT0lPX1JFUF9NQVNLICgxIDw8IFNWTV9JT0lPX1JFUF9TSElGVCkK KyNkZWZpbmUgU1ZNX0lPSU9fU0laRV9NQVNLICg3IDw8IFNWTV9JT0lPX1NJWkVfU0hJRlQpCisj ZGVmaW5lIFNWTV9JT0lPX0FTSVpFX01BU0sgKDcgPDwgU1ZNX0lPSU9fQVNJWkVfU0hJRlQpCisK KyNkZWZpbmUgU1ZNX1ZNX0NSX1ZBTElEX01BU0sgICAgMHgwMDFmVUxMCisjZGVmaW5lIFNWTV9W TV9DUl9TVk1fTE9DS19NQVNLIDB4MDAwOFVMTAorI2RlZmluZSBTVk1fVk1fQ1JfU1ZNX0RJU19N QVNLICAweDAwMTBVTEwKKworI2RlZmluZSBUU0NfUkFUSU9fREVGQVVMVCAgIDB4MDEwMDAwMDAw MFVMTAorCitzdHJ1Y3QgX19hdHRyaWJ1dGVfXyAoKF9fcGFja2VkX18pKSB2bWNiX3NlZyB7Cisg ICAgdTE2IHNlbGVjdG9yOworICAgIHUxNiBhdHRyaWI7CisgICAgdTMyIGxpbWl0OworICAgIHU2 NCBiYXNlOworfTsKKworc3RydWN0IF9fYXR0cmlidXRlX18gKChfX3BhY2tlZF9fKSkgdm1jYl9z YXZlX2FyZWEgeworICAgIHN0cnVjdCB2bWNiX3NlZyBlczsKKyAgICBzdHJ1Y3Qgdm1jYl9zZWcg Y3M7CisgICAgc3RydWN0IHZtY2Jfc2VnIHNzOworICAgIHN0cnVjdCB2bWNiX3NlZyBkczsKKyAg ICBzdHJ1Y3Qgdm1jYl9zZWcgZnM7CisgICAgc3RydWN0IHZtY2Jfc2VnIGdzOworICAgIHN0cnVj dCB2bWNiX3NlZyBnZHRyOworICAgIHN0cnVjdCB2bWNiX3NlZyBsZHRyOworICAgIHN0cnVjdCB2 bWNiX3NlZyBpZHRyOworICAgIHN0cnVjdCB2bWNiX3NlZyB0cjsKKyAgICB1OCByZXNlcnZlZF8x WzQzXTsKKyAgICB1OCBjcGw7CisgICAgdTggcmVzZXJ2ZWRfMls0XTsKKyAgICB1NjQgZWZlcjsK KyAgICB1OCByZXNlcnZlZF8zWzExMl07CisgICAgdTY0IGNyNDsKKyAgICB1NjQgY3IzOworICAg IHU2NCBjcjA7CisgICAgdTY0IGRyNzsKKyAgICB1NjQgZHI2OworICAgIHU2NCByZmxhZ3M7Cisg ICAgdTY0IHJpcDsKKyAgICB1OCByZXNlcnZlZF80Wzg4XTsKKyAgICB1NjQgcnNwOworICAgIHU4 IHJlc2VydmVkXzVbMjRdOworICAgIHU2NCByYXg7CisgICAgdTY0IHN0YXI7CisgICAgdTY0IGxz dGFyOworICAgIHU2NCBjc3RhcjsKKyAgICB1NjQgc2ZtYXNrOworICAgIHU2NCBrZXJuZWxfZ3Nf YmFzZTsKKyAgICB1NjQgc3lzZW50ZXJfY3M7CisgICAgdTY0IHN5c2VudGVyX2VzcDsKKyAgICB1 NjQgc3lzZW50ZXJfZWlwOworICAgIHU2NCBjcjI7CisgICAgdTggcmVzZXJ2ZWRfNlszMl07Cisg ICAgdTY0IGdfcGF0OworICAgIHU2NCBkYmdjdGw7CisgICAgdTY0IGJyX2Zyb207CisgICAgdTY0 IGJyX3RvOworICAgIHU2NCBsYXN0X2V4Y3BfZnJvbTsKKyAgICB1NjQgbGFzdF9leGNwX3RvOwor fTsKKworc3RydWN0IF9fYXR0cmlidXRlX18gKChfX3BhY2tlZF9fKSkgdm1jYiB7CisgICAgc3Ry dWN0IHZtY2JfY29udHJvbF9hcmVhIGNvbnRyb2w7CisgICAgc3RydWN0IHZtY2Jfc2F2ZV9hcmVh IHNhdmU7Cit9OworCisjZGVmaW5lIFNWTV9DUFVJRF9GRUFUVVJFX1NISUZUIDIKKyNkZWZpbmUg U1ZNX0NQVUlEX0ZVTkMgMHg4MDAwMDAwYQorCisjZGVmaW5lIFNWTV9WTV9DUl9TVk1fRElTQUJM RSA0CisKKyNkZWZpbmUgU1ZNX1NFTEVDVE9SX1NfU0hJRlQgNAorI2RlZmluZSBTVk1fU0VMRUNU T1JfRFBMX1NISUZUIDUKKyNkZWZpbmUgU1ZNX1NFTEVDVE9SX1BfU0hJRlQgNworI2RlZmluZSBT Vk1fU0VMRUNUT1JfQVZMX1NISUZUIDgKKyNkZWZpbmUgU1ZNX1NFTEVDVE9SX0xfU0hJRlQgOQor I2RlZmluZSBTVk1fU0VMRUNUT1JfREJfU0hJRlQgMTAKKyNkZWZpbmUgU1ZNX1NFTEVDVE9SX0df U0hJRlQgMTEKKworI2RlZmluZSBTVk1fU0VMRUNUT1JfVFlQRV9NQVNLICgweGYpCisjZGVmaW5l IFNWTV9TRUxFQ1RPUl9TX01BU0sgKDEgPDwgU1ZNX1NFTEVDVE9SX1NfU0hJRlQpCisjZGVmaW5l IFNWTV9TRUxFQ1RPUl9EUExfTUFTSyAoMyA8PCBTVk1fU0VMRUNUT1JfRFBMX1NISUZUKQorI2Rl ZmluZSBTVk1fU0VMRUNUT1JfUF9NQVNLICgxIDw8IFNWTV9TRUxFQ1RPUl9QX1NISUZUKQorI2Rl ZmluZSBTVk1fU0VMRUNUT1JfQVZMX01BU0sgKDEgPDwgU1ZNX1NFTEVDVE9SX0FWTF9TSElGVCkK KyNkZWZpbmUgU1ZNX1NFTEVDVE9SX0xfTUFTSyAoMSA8PCBTVk1fU0VMRUNUT1JfTF9TSElGVCkK KyNkZWZpbmUgU1ZNX1NFTEVDVE9SX0RCX01BU0sgKDEgPDwgU1ZNX1NFTEVDVE9SX0RCX1NISUZU KQorI2RlZmluZSBTVk1fU0VMRUNUT1JfR19NQVNLICgxIDw8IFNWTV9TRUxFQ1RPUl9HX1NISUZU KQorCisjZGVmaW5lIFNWTV9TRUxFQ1RPUl9XUklURV9NQVNLICgxIDw8IDEpCisjZGVmaW5lIFNW TV9TRUxFQ1RPUl9SRUFEX01BU0sgU1ZNX1NFTEVDVE9SX1dSSVRFX01BU0sKKyNkZWZpbmUgU1ZN X1NFTEVDVE9SX0NPREVfTUFTSyAoMSA8PCAzKQorCisjZGVmaW5lIElOVEVSQ0VQVF9DUjBfTUFT SyAxCisjZGVmaW5lIElOVEVSQ0VQVF9DUjNfTUFTSyAoMSA8PCAzKQorI2RlZmluZSBJTlRFUkNF UFRfQ1I0X01BU0sgKDEgPDwgNCkKKyNkZWZpbmUgSU5URVJDRVBUX0NSOF9NQVNLICgxIDw8IDgp CisKKyNkZWZpbmUgSU5URVJDRVBUX0RSMF9NQVNLIDEKKyNkZWZpbmUgSU5URVJDRVBUX0RSMV9N QVNLICgxIDw8IDEpCisjZGVmaW5lIElOVEVSQ0VQVF9EUjJfTUFTSyAoMSA8PCAyKQorI2RlZmlu ZSBJTlRFUkNFUFRfRFIzX01BU0sgKDEgPDwgMykKKyNkZWZpbmUgSU5URVJDRVBUX0RSNF9NQVNL ICgxIDw8IDQpCisjZGVmaW5lIElOVEVSQ0VQVF9EUjVfTUFTSyAoMSA8PCA1KQorI2RlZmluZSBJ TlRFUkNFUFRfRFI2X01BU0sgKDEgPDwgNikKKyNkZWZpbmUgSU5URVJDRVBUX0RSN19NQVNLICgx IDw8IDcpCisKKyNkZWZpbmUgU1ZNX0VWVElOSl9WRUNfTUFTSyAweGZmCisKKyNkZWZpbmUgU1ZN X0VWVElOSl9UWVBFX1NISUZUIDgKKyNkZWZpbmUgU1ZNX0VWVElOSl9UWVBFX01BU0sgKDcgPDwg U1ZNX0VWVElOSl9UWVBFX1NISUZUKQorCisjZGVmaW5lIFNWTV9FVlRJTkpfVFlQRV9JTlRSICgw IDw8IFNWTV9FVlRJTkpfVFlQRV9TSElGVCkKKyNkZWZpbmUgU1ZNX0VWVElOSl9UWVBFX05NSSAo MiA8PCBTVk1fRVZUSU5KX1RZUEVfU0hJRlQpCisjZGVmaW5lIFNWTV9FVlRJTkpfVFlQRV9FWEVQ VCAoMyA8PCBTVk1fRVZUSU5KX1RZUEVfU0hJRlQpCisjZGVmaW5lIFNWTV9FVlRJTkpfVFlQRV9T T0ZUICg0IDw8IFNWTV9FVlRJTkpfVFlQRV9TSElGVCkKKworI2RlZmluZSBTVk1fRVZUSU5KX1ZB TElEICgxIDw8IDMxKQorI2RlZmluZSBTVk1fRVZUSU5KX1ZBTElEX0VSUiAoMSA8PCAxMSkKKwor I2RlZmluZSBTVk1fRVhJVElOVElORk9fVkVDX01BU0sgU1ZNX0VWVElOSl9WRUNfTUFTSworI2Rl ZmluZSBTVk1fRVhJVElOVElORk9fVFlQRV9NQVNLIFNWTV9FVlRJTkpfVFlQRV9NQVNLCisKKyNk ZWZpbmUgU1ZNX0VYSVRJTlRJTkZPX1RZUEVfSU5UUiBTVk1fRVZUSU5KX1RZUEVfSU5UUgorI2Rl ZmluZSBTVk1fRVhJVElOVElORk9fVFlQRV9OTUkgU1ZNX0VWVElOSl9UWVBFX05NSQorI2RlZmlu ZSBTVk1fRVhJVElOVElORk9fVFlQRV9FWEVQVCBTVk1fRVZUSU5KX1RZUEVfRVhFUFQKKyNkZWZp bmUgU1ZNX0VYSVRJTlRJTkZPX1RZUEVfU09GVCBTVk1fRVZUSU5KX1RZUEVfU09GVAorCisjZGVm aW5lIFNWTV9FWElUSU5USU5GT19WQUxJRCBTVk1fRVZUSU5KX1ZBTElECisjZGVmaW5lIFNWTV9F WElUSU5USU5GT19WQUxJRF9FUlIgU1ZNX0VWVElOSl9WQUxJRF9FUlIKKworI2RlZmluZSBTVk1f RVhJVElORk9TSElGVF9UU19SRUFTT05fSVJFVCAzNgorI2RlZmluZSBTVk1fRVhJVElORk9TSElG VF9UU19SRUFTT05fSk1QIDM4CisjZGVmaW5lIFNWTV9FWElUSU5GT1NISUZUX1RTX0hBU19FUlJP Ul9DT0RFIDQ0CisKKyNkZWZpbmUgU1ZNX0VYSVRfUkVBRF9DUjAgICAweDAwMAorI2RlZmluZSBT Vk1fRVhJVF9SRUFEX0NSMyAgIDB4MDAzCisjZGVmaW5lIFNWTV9FWElUX1JFQURfQ1I0ICAgMHgw MDQKKyNkZWZpbmUgU1ZNX0VYSVRfUkVBRF9DUjggICAweDAwOAorI2RlZmluZSBTVk1fRVhJVF9X UklURV9DUjAgIDB4MDEwCisjZGVmaW5lIFNWTV9FWElUX1dSSVRFX0NSMyAgMHgwMTMKKyNkZWZp bmUgU1ZNX0VYSVRfV1JJVEVfQ1I0ICAweDAxNAorI2RlZmluZSBTVk1fRVhJVF9XUklURV9DUjgg IDB4MDE4CisjZGVmaW5lIFNWTV9FWElUX1JFQURfRFIwICAgMHgwMjAKKyNkZWZpbmUgU1ZNX0VY SVRfUkVBRF9EUjEgICAweDAyMQorI2RlZmluZSBTVk1fRVhJVF9SRUFEX0RSMiAgIDB4MDIyCisj ZGVmaW5lIFNWTV9FWElUX1JFQURfRFIzICAgMHgwMjMKKyNkZWZpbmUgU1ZNX0VYSVRfUkVBRF9E UjQgICAweDAyNAorI2RlZmluZSBTVk1fRVhJVF9SRUFEX0RSNSAgIDB4MDI1CisjZGVmaW5lIFNW TV9FWElUX1JFQURfRFI2ICAgMHgwMjYKKyNkZWZpbmUgU1ZNX0VYSVRfUkVBRF9EUjcgICAweDAy NworI2RlZmluZSBTVk1fRVhJVF9XUklURV9EUjAgIDB4MDMwCisjZGVmaW5lIFNWTV9FWElUX1dS SVRFX0RSMSAgMHgwMzEKKyNkZWZpbmUgU1ZNX0VYSVRfV1JJVEVfRFIyICAweDAzMgorI2RlZmlu ZSBTVk1fRVhJVF9XUklURV9EUjMgIDB4MDMzCisjZGVmaW5lIFNWTV9FWElUX1dSSVRFX0RSNCAg MHgwMzQKKyNkZWZpbmUgU1ZNX0VYSVRfV1JJVEVfRFI1ICAweDAzNQorI2RlZmluZSBTVk1fRVhJ VF9XUklURV9EUjYgIDB4MDM2CisjZGVmaW5lIFNWTV9FWElUX1dSSVRFX0RSNyAgMHgwMzcKKyNk ZWZpbmUgU1ZNX0VYSVRfRVhDUF9CQVNFICAgICAgMHgwNDAKKyNkZWZpbmUgU1ZNX0VYSVRfSU5U UiAgICAgICAweDA2MAorI2RlZmluZSBTVk1fRVhJVF9OTUkgICAgICAgIDB4MDYxCisjZGVmaW5l IFNWTV9FWElUX1NNSSAgICAgICAgMHgwNjIKKyNkZWZpbmUgU1ZNX0VYSVRfSU5JVCAgICAgICAw eDA2MworI2RlZmluZSBTVk1fRVhJVF9WSU5UUiAgICAgIDB4MDY0CisjZGVmaW5lIFNWTV9FWElU X0NSMF9TRUxfV1JJVEUgIDB4MDY1CisjZGVmaW5lIFNWTV9FWElUX0lEVFJfUkVBRCAgMHgwNjYK KyNkZWZpbmUgU1ZNX0VYSVRfR0RUUl9SRUFEICAweDA2NworI2RlZmluZSBTVk1fRVhJVF9MRFRS X1JFQUQgIDB4MDY4CisjZGVmaW5lIFNWTV9FWElUX1RSX1JFQUQgICAgMHgwNjkKKyNkZWZpbmUg U1ZNX0VYSVRfSURUUl9XUklURSAweDA2YQorI2RlZmluZSBTVk1fRVhJVF9HRFRSX1dSSVRFIDB4 MDZiCisjZGVmaW5lIFNWTV9FWElUX0xEVFJfV1JJVEUgMHgwNmMKKyNkZWZpbmUgU1ZNX0VYSVRf VFJfV1JJVEUgICAweDA2ZAorI2RlZmluZSBTVk1fRVhJVF9SRFRTQyAgICAgIDB4MDZlCisjZGVm aW5lIFNWTV9FWElUX1JEUE1DICAgICAgMHgwNmYKKyNkZWZpbmUgU1ZNX0VYSVRfUFVTSEYgICAg ICAweDA3MAorI2RlZmluZSBTVk1fRVhJVF9QT1BGICAgICAgIDB4MDcxCisjZGVmaW5lIFNWTV9F WElUX0NQVUlEICAgICAgMHgwNzIKKyNkZWZpbmUgU1ZNX0VYSVRfUlNNICAgICAgICAweDA3Mwor I2RlZmluZSBTVk1fRVhJVF9JUkVUICAgICAgIDB4MDc0CisjZGVmaW5lIFNWTV9FWElUX1NXSU5U ICAgICAgMHgwNzUKKyNkZWZpbmUgU1ZNX0VYSVRfSU5WRCAgICAgICAweDA3NgorI2RlZmluZSBT Vk1fRVhJVF9QQVVTRSAgICAgIDB4MDc3CisjZGVmaW5lIFNWTV9FWElUX0hMVCAgICAgICAgMHgw NzgKKyNkZWZpbmUgU1ZNX0VYSVRfSU5WTFBHICAgICAweDA3OQorI2RlZmluZSBTVk1fRVhJVF9J TlZMUEdBICAgIDB4MDdhCisjZGVmaW5lIFNWTV9FWElUX0lPSU8gICAgICAgMHgwN2IKKyNkZWZp bmUgU1ZNX0VYSVRfTVNSICAgICAgICAweDA3YworI2RlZmluZSBTVk1fRVhJVF9UQVNLX1NXSVRD SCAgICAweDA3ZAorI2RlZmluZSBTVk1fRVhJVF9GRVJSX0ZSRUVaRSAgICAweDA3ZQorI2RlZmlu ZSBTVk1fRVhJVF9TSFVURE9XTiAgIDB4MDdmCisjZGVmaW5lIFNWTV9FWElUX1ZNUlVOICAgICAg MHgwODAKKyNkZWZpbmUgU1ZNX0VYSVRfVk1NQ0FMTCAgICAweDA4MQorI2RlZmluZSBTVk1fRVhJ VF9WTUxPQUQgICAgIDB4MDgyCisjZGVmaW5lIFNWTV9FWElUX1ZNU0FWRSAgICAgMHgwODMKKyNk ZWZpbmUgU1ZNX0VYSVRfU1RHSSAgICAgICAweDA4NAorI2RlZmluZSBTVk1fRVhJVF9DTEdJICAg ICAgIDB4MDg1CisjZGVmaW5lIFNWTV9FWElUX1NLSU5JVCAgICAgMHgwODYKKyNkZWZpbmUgU1ZN X0VYSVRfUkRUU0NQICAgICAweDA4NworI2RlZmluZSBTVk1fRVhJVF9JQ0VCUCAgICAgIDB4MDg4 CisjZGVmaW5lIFNWTV9FWElUX1dCSU5WRCAgICAgMHgwODkKKyNkZWZpbmUgU1ZNX0VYSVRfTU9O SVRPUiAgICAweDA4YQorI2RlZmluZSBTVk1fRVhJVF9NV0FJVCAgICAgIDB4MDhiCisjZGVmaW5l IFNWTV9FWElUX01XQUlUX0NPTkQgMHgwOGMKKyNkZWZpbmUgU1ZNX0VYSVRfTlBGICAgICAgICAw eDQwMAorCisjZGVmaW5lIFNWTV9FWElUX0VSUiAgICAgICAgLTEKKworI2RlZmluZSBTVk1fQ1Iw X1NFTEVDVElWRV9NQVNLIChYODZfQ1IwX1RTIHwgWDg2X0NSMF9NUCkKKworI2RlZmluZSBTVk1f Q1IwX1JFU0VSVkVEX01BU0sgICAgICAgICAgIDB4ZmZmZmZmZmYwMDAwMDAwMFUKKyNkZWZpbmUg U1ZNX0NSM19MT05HX01CWl9NQVNLICAgICAgICAgICAweGZmZjAwMDAwMDAwMDAwMDBVCisjZGVm aW5lIFNWTV9DUjNfTE9OR19SRVNFUlZFRF9NQVNLICAgICAgMHgwMDAwMDAwMDAwMDAwZmU3VQor I2RlZmluZSBTVk1fQ1IzX1BBRV9MRUdBQ1lfUkVTRVJWRURfTUFTSyAgICAweDAwMDAwMDAwMDAw MDAwMDdVCisjZGVmaW5lIFNWTV9DUjRfTEVHQUNZX1JFU0VSVkVEX01BU0sgICAgICAgIDB4ZmYw OGUwMDBVCisjZGVmaW5lIFNWTV9DUjRfUkVTRVJWRURfTUFTSyAgICAgICAgICAgMHhmZmZmZmZm ZmZmMDhlMDAwVQorI2RlZmluZSBTVk1fRFI2X1JFU0VSVkVEX01BU0sgICAgICAgICAgIDB4ZmZm ZmZmZmZmZmZmMWZmMFUKKyNkZWZpbmUgU1ZNX0RSN19SRVNFUlZFRF9NQVNLICAgICAgICAgICAw eGZmZmZmZmZmMDAwMGNjMDBVCisjZGVmaW5lIFNWTV9FRkVSX1JFU0VSVkVEX01BU0sgICAgICAg ICAgMHhmZmZmZmZmZmZmZmYwMjAwVQorCisKKyNlbmRpZiAvKiBTUkNfTElCX1g4Nl9TVk1fSF8g Ki8KZGlmZiAtLWdpdCBhL3g4Ni9zdm0uaCBiL3g4Ni9zdm0uaAppbmRleCBlOTM4MjJiNi4uZmY1 ZmE5MWUgMTAwNjQ0Ci0tLSBhL3g4Ni9zdm0uaAorKysgYi94ODYvc3ZtLmgKQEAgLTIsMzY3ICsy LDEwIEBACiAjZGVmaW5lIFg4Nl9TVk1fSAogCiAjaW5jbHVkZSAibGliY2ZsYXQuaCIKKyNpbmNs dWRlIDx4ODYvc3ZtLmg+CiAKLWVudW0gewotCUlOVEVSQ0VQVF9JTlRSLAotCUlOVEVSQ0VQVF9O TUksCi0JSU5URVJDRVBUX1NNSSwKLQlJTlRFUkNFUFRfSU5JVCwKLQlJTlRFUkNFUFRfVklOVFIs Ci0JSU5URVJDRVBUX1NFTEVDVElWRV9DUjAsCi0JSU5URVJDRVBUX1NUT1JFX0lEVFIsCi0JSU5U RVJDRVBUX1NUT1JFX0dEVFIsCi0JSU5URVJDRVBUX1NUT1JFX0xEVFIsCi0JSU5URVJDRVBUX1NU T1JFX1RSLAotCUlOVEVSQ0VQVF9MT0FEX0lEVFIsCi0JSU5URVJDRVBUX0xPQURfR0RUUiwKLQlJ TlRFUkNFUFRfTE9BRF9MRFRSLAotCUlOVEVSQ0VQVF9MT0FEX1RSLAotCUlOVEVSQ0VQVF9SRFRT QywKLQlJTlRFUkNFUFRfUkRQTUMsCi0JSU5URVJDRVBUX1BVU0hGLAotCUlOVEVSQ0VQVF9QT1BG LAotCUlOVEVSQ0VQVF9DUFVJRCwKLQlJTlRFUkNFUFRfUlNNLAotCUlOVEVSQ0VQVF9JUkVULAot CUlOVEVSQ0VQVF9JTlRuLAotCUlOVEVSQ0VQVF9JTlZELAotCUlOVEVSQ0VQVF9QQVVTRSwKLQlJ TlRFUkNFUFRfSExULAotCUlOVEVSQ0VQVF9JTlZMUEcsCi0JSU5URVJDRVBUX0lOVkxQR0EsCi0J SU5URVJDRVBUX0lPSU9fUFJPVCwKLQlJTlRFUkNFUFRfTVNSX1BST1QsCi0JSU5URVJDRVBUX1RB U0tfU1dJVENILAotCUlOVEVSQ0VQVF9GRVJSX0ZSRUVaRSwKLQlJTlRFUkNFUFRfU0hVVERPV04s Ci0JSU5URVJDRVBUX1ZNUlVOLAotCUlOVEVSQ0VQVF9WTU1DQUxMLAotCUlOVEVSQ0VQVF9WTUxP QUQsCi0JSU5URVJDRVBUX1ZNU0FWRSwKLQlJTlRFUkNFUFRfU1RHSSwKLQlJTlRFUkNFUFRfQ0xH SSwKLQlJTlRFUkNFUFRfU0tJTklULAotCUlOVEVSQ0VQVF9SRFRTQ1AsCi0JSU5URVJDRVBUX0lD RUJQLAotCUlOVEVSQ0VQVF9XQklOVkQsCi0JSU5URVJDRVBUX01PTklUT1IsCi0JSU5URVJDRVBU X01XQUlULAotCUlOVEVSQ0VQVF9NV0FJVF9DT05ELAotfTsKLQotZW51bSB7Ci0gICAgICAgIFZN Q0JfQ0xFQU5fSU5URVJDRVBUUyA9IDEsIC8qIEludGVyY2VwdCB2ZWN0b3JzLCBUU0Mgb2Zmc2V0 LCBwYXVzZSBmaWx0ZXIgY291bnQgKi8KLSAgICAgICAgVk1DQl9DTEVBTl9QRVJNX01BUCA9IDIs ICAgLyogSU9QTSBCYXNlIGFuZCBNU1JQTSBCYXNlICovCi0gICAgICAgIFZNQ0JfQ0xFQU5fQVNJ RCA9IDQsICAgICAgIC8qIEFTSUQgKi8KLSAgICAgICAgVk1DQl9DTEVBTl9JTlRSID0gOCwgICAg ICAgLyogaW50X2N0bCwgaW50X3ZlY3RvciAqLwotICAgICAgICBWTUNCX0NMRUFOX05QVCA9IDE2 LCAgICAgICAvKiBucHRfZW4sIG5DUjMsIGdQQVQgKi8KLSAgICAgICAgVk1DQl9DTEVBTl9DUiA9 IDMyLCAgICAgICAgLyogQ1IwLCBDUjMsIENSNCwgRUZFUiAqLwotICAgICAgICBWTUNCX0NMRUFO X0RSID0gNjQsICAgICAgICAvKiBEUjYsIERSNyAqLwotICAgICAgICBWTUNCX0NMRUFOX0RUID0g MTI4LCAgICAgICAvKiBHRFQsIElEVCAqLwotICAgICAgICBWTUNCX0NMRUFOX1NFRyA9IDI1Niwg ICAgICAvKiBDUywgRFMsIFNTLCBFUywgQ1BMICovCi0gICAgICAgIFZNQ0JfQ0xFQU5fQ1IyID0g NTEyLCAgICAgIC8qIENSMiBvbmx5ICovCi0gICAgICAgIFZNQ0JfQ0xFQU5fTEJSID0gMTAyNCwg ICAgIC8qIERCR0NUTCwgQlJfRlJPTSwgQlJfVE8sIExBU1RfRVhfRlJPTSwgTEFTVF9FWF9UTyAq LwotICAgICAgICBWTUNCX0NMRUFOX0FWSUMgPSAyMDQ4LCAgICAvKiBBUElDX0JBUiwgQVBJQ19C QUNLSU5HX1BBR0UsCi0JCQkJICAgICAgUEhZU0lDQUxfVEFCTEUgcG9pbnRlciwgTE9HSUNBTF9U QUJMRSBwb2ludGVyICovCi0gICAgICAgIFZNQ0JfQ0xFQU5fQUxMID0gNDA5NSwKLX07Ci0KLXN0 cnVjdCBfX2F0dHJpYnV0ZV9fICgoX19wYWNrZWRfXykpIHZtY2JfY29udHJvbF9hcmVhIHsKLQl1 MTYgaW50ZXJjZXB0X2NyX3JlYWQ7Ci0JdTE2IGludGVyY2VwdF9jcl93cml0ZTsKLQl1MTYgaW50 ZXJjZXB0X2RyX3JlYWQ7Ci0JdTE2IGludGVyY2VwdF9kcl93cml0ZTsKLQl1MzIgaW50ZXJjZXB0 X2V4Y2VwdGlvbnM7Ci0JdTY0IGludGVyY2VwdDsKLQl1OCByZXNlcnZlZF8xWzQwXTsKLQl1MTYg cGF1c2VfZmlsdGVyX3RocmVzaDsKLQl1MTYgcGF1c2VfZmlsdGVyX2NvdW50OwotCXU2NCBpb3Bt X2Jhc2VfcGE7Ci0JdTY0IG1zcnBtX2Jhc2VfcGE7Ci0JdTY0IHRzY19vZmZzZXQ7Ci0JdTMyIGFz aWQ7Ci0JdTggdGxiX2N0bDsKLQl1OCByZXNlcnZlZF8yWzNdOwotCXUzMiBpbnRfY3RsOwotCXUz MiBpbnRfdmVjdG9yOwotCXUzMiBpbnRfc3RhdGU7Ci0JdTggcmVzZXJ2ZWRfM1s0XTsKLQl1MzIg ZXhpdF9jb2RlOwotCXUzMiBleGl0X2NvZGVfaGk7Ci0JdTY0IGV4aXRfaW5mb18xOwotCXU2NCBl eGl0X2luZm9fMjsKLQl1MzIgZXhpdF9pbnRfaW5mbzsKLQl1MzIgZXhpdF9pbnRfaW5mb19lcnI7 Ci0JdTY0IG5lc3RlZF9jdGw7Ci0JdTggcmVzZXJ2ZWRfNFsxNl07Ci0JdTMyIGV2ZW50X2luajsK LQl1MzIgZXZlbnRfaW5qX2VycjsKLQl1NjQgbmVzdGVkX2NyMzsKLQl1NjQgdmlydF9leHQ7Ci0J dTMyIGNsZWFuOwotCXUzMiByZXNlcnZlZF81OwotCXU2NCBuZXh0X3JpcDsKLQl1OCBpbnNuX2xl bjsKLQl1OCBpbnNuX2J5dGVzWzE1XTsKLQl1OCByZXNlcnZlZF82WzgwMF07Ci19OwotCi0jZGVm aW5lIFRMQl9DT05UUk9MX0RPX05PVEhJTkcgMAotI2RlZmluZSBUTEJfQ09OVFJPTF9GTFVTSF9B TExfQVNJRCAxCi0KLSNkZWZpbmUgVl9UUFJfTUFTSyAweDBmCi0KLSNkZWZpbmUgVl9JUlFfU0hJ RlQgOAotI2RlZmluZSBWX0lSUV9NQVNLICgxIDw8IFZfSVJRX1NISUZUKQotCi0jZGVmaW5lIFZf R0lGX0VOQUJMRURfU0hJRlQgMjUKLSNkZWZpbmUgVl9HSUZfRU5BQkxFRF9NQVNLICgxIDw8IFZf R0lGX0VOQUJMRURfU0hJRlQpCi0KLSNkZWZpbmUgVl9HSUZfU0hJRlQgOQotI2RlZmluZSBWX0dJ Rl9NQVNLICgxIDw8IFZfR0lGX1NISUZUKQotCi0jZGVmaW5lIFZfSU5UUl9QUklPX1NISUZUIDE2 Ci0jZGVmaW5lIFZfSU5UUl9QUklPX01BU0sgKDB4MGYgPDwgVl9JTlRSX1BSSU9fU0hJRlQpCi0K LSNkZWZpbmUgVl9JR05fVFBSX1NISUZUIDIwCi0jZGVmaW5lIFZfSUdOX1RQUl9NQVNLICgxIDw8 IFZfSUdOX1RQUl9TSElGVCkKLQotI2RlZmluZSBWX0lOVFJfTUFTS0lOR19TSElGVCAyNAotI2Rl ZmluZSBWX0lOVFJfTUFTS0lOR19NQVNLICgxIDw8IFZfSU5UUl9NQVNLSU5HX1NISUZUKQotCi0j ZGVmaW5lIFNWTV9JTlRFUlJVUFRfU0hBRE9XX01BU0sgMQotCi0jZGVmaW5lIFNWTV9JT0lPX1NU Ul9TSElGVCAyCi0jZGVmaW5lIFNWTV9JT0lPX1JFUF9TSElGVCAzCi0jZGVmaW5lIFNWTV9JT0lP X1NJWkVfU0hJRlQgNAotI2RlZmluZSBTVk1fSU9JT19BU0laRV9TSElGVCA3Ci0KLSNkZWZpbmUg U1ZNX0lPSU9fVFlQRV9NQVNLIDEKLSNkZWZpbmUgU1ZNX0lPSU9fU1RSX01BU0sgKDEgPDwgU1ZN X0lPSU9fU1RSX1NISUZUKQotI2RlZmluZSBTVk1fSU9JT19SRVBfTUFTSyAoMSA8PCBTVk1fSU9J T19SRVBfU0hJRlQpCi0jZGVmaW5lIFNWTV9JT0lPX1NJWkVfTUFTSyAoNyA8PCBTVk1fSU9JT19T SVpFX1NISUZUKQotI2RlZmluZSBTVk1fSU9JT19BU0laRV9NQVNLICg3IDw8IFNWTV9JT0lPX0FT SVpFX1NISUZUKQotCi0jZGVmaW5lIFNWTV9WTV9DUl9WQUxJRF9NQVNLCTB4MDAxZlVMTAotI2Rl ZmluZSBTVk1fVk1fQ1JfU1ZNX0xPQ0tfTUFTSyAweDAwMDhVTEwKLSNkZWZpbmUgU1ZNX1ZNX0NS X1NWTV9ESVNfTUFTSyAgMHgwMDEwVUxMCi0KLSNkZWZpbmUgVFNDX1JBVElPX0RFRkFVTFQgICAw eDAxMDAwMDAwMDBVTEwKLQotc3RydWN0IF9fYXR0cmlidXRlX18gKChfX3BhY2tlZF9fKSkgdm1j Yl9zZWcgewotCXUxNiBzZWxlY3RvcjsKLQl1MTYgYXR0cmliOwotCXUzMiBsaW1pdDsKLQl1NjQg YmFzZTsKLX07Ci0KLXN0cnVjdCBfX2F0dHJpYnV0ZV9fICgoX19wYWNrZWRfXykpIHZtY2Jfc2F2 ZV9hcmVhIHsKLQlzdHJ1Y3Qgdm1jYl9zZWcgZXM7Ci0Jc3RydWN0IHZtY2Jfc2VnIGNzOwotCXN0 cnVjdCB2bWNiX3NlZyBzczsKLQlzdHJ1Y3Qgdm1jYl9zZWcgZHM7Ci0Jc3RydWN0IHZtY2Jfc2Vn IGZzOwotCXN0cnVjdCB2bWNiX3NlZyBnczsKLQlzdHJ1Y3Qgdm1jYl9zZWcgZ2R0cjsKLQlzdHJ1 Y3Qgdm1jYl9zZWcgbGR0cjsKLQlzdHJ1Y3Qgdm1jYl9zZWcgaWR0cjsKLQlzdHJ1Y3Qgdm1jYl9z ZWcgdHI7Ci0JdTggcmVzZXJ2ZWRfMVs0M107Ci0JdTggY3BsOwotCXU4IHJlc2VydmVkXzJbNF07 Ci0JdTY0IGVmZXI7Ci0JdTggcmVzZXJ2ZWRfM1sxMTJdOwotCXU2NCBjcjQ7Ci0JdTY0IGNyMzsK LQl1NjQgY3IwOwotCXU2NCBkcjc7Ci0JdTY0IGRyNjsKLQl1NjQgcmZsYWdzOwotCXU2NCByaXA7 Ci0JdTggcmVzZXJ2ZWRfNFs4OF07Ci0JdTY0IHJzcDsKLQl1OCByZXNlcnZlZF81WzI0XTsKLQl1 NjQgcmF4OwotCXU2NCBzdGFyOwotCXU2NCBsc3RhcjsKLQl1NjQgY3N0YXI7Ci0JdTY0IHNmbWFz azsKLQl1NjQga2VybmVsX2dzX2Jhc2U7Ci0JdTY0IHN5c2VudGVyX2NzOwotCXU2NCBzeXNlbnRl cl9lc3A7Ci0JdTY0IHN5c2VudGVyX2VpcDsKLQl1NjQgY3IyOwotCXU4IHJlc2VydmVkXzZbMzJd OwotCXU2NCBnX3BhdDsKLQl1NjQgZGJnY3RsOwotCXU2NCBicl9mcm9tOwotCXU2NCBicl90bzsK LQl1NjQgbGFzdF9leGNwX2Zyb207Ci0JdTY0IGxhc3RfZXhjcF90bzsKLX07Ci0KLXN0cnVjdCBf X2F0dHJpYnV0ZV9fICgoX19wYWNrZWRfXykpIHZtY2IgewotCXN0cnVjdCB2bWNiX2NvbnRyb2xf YXJlYSBjb250cm9sOwotCXN0cnVjdCB2bWNiX3NhdmVfYXJlYSBzYXZlOwotfTsKLQotI2RlZmlu ZSBTVk1fQ1BVSURfRkVBVFVSRV9TSElGVCAyCi0jZGVmaW5lIFNWTV9DUFVJRF9GVU5DIDB4ODAw MDAwMGEKLQotI2RlZmluZSBTVk1fVk1fQ1JfU1ZNX0RJU0FCTEUgNAotCi0jZGVmaW5lIFNWTV9T RUxFQ1RPUl9TX1NISUZUIDQKLSNkZWZpbmUgU1ZNX1NFTEVDVE9SX0RQTF9TSElGVCA1Ci0jZGVm aW5lIFNWTV9TRUxFQ1RPUl9QX1NISUZUIDcKLSNkZWZpbmUgU1ZNX1NFTEVDVE9SX0FWTF9TSElG VCA4Ci0jZGVmaW5lIFNWTV9TRUxFQ1RPUl9MX1NISUZUIDkKLSNkZWZpbmUgU1ZNX1NFTEVDVE9S X0RCX1NISUZUIDEwCi0jZGVmaW5lIFNWTV9TRUxFQ1RPUl9HX1NISUZUIDExCi0KLSNkZWZpbmUg U1ZNX1NFTEVDVE9SX1RZUEVfTUFTSyAoMHhmKQotI2RlZmluZSBTVk1fU0VMRUNUT1JfU19NQVNL ICgxIDw8IFNWTV9TRUxFQ1RPUl9TX1NISUZUKQotI2RlZmluZSBTVk1fU0VMRUNUT1JfRFBMX01B U0sgKDMgPDwgU1ZNX1NFTEVDVE9SX0RQTF9TSElGVCkKLSNkZWZpbmUgU1ZNX1NFTEVDVE9SX1Bf TUFTSyAoMSA8PCBTVk1fU0VMRUNUT1JfUF9TSElGVCkKLSNkZWZpbmUgU1ZNX1NFTEVDVE9SX0FW TF9NQVNLICgxIDw8IFNWTV9TRUxFQ1RPUl9BVkxfU0hJRlQpCi0jZGVmaW5lIFNWTV9TRUxFQ1RP Ul9MX01BU0sgKDEgPDwgU1ZNX1NFTEVDVE9SX0xfU0hJRlQpCi0jZGVmaW5lIFNWTV9TRUxFQ1RP Ul9EQl9NQVNLICgxIDw8IFNWTV9TRUxFQ1RPUl9EQl9TSElGVCkKLSNkZWZpbmUgU1ZNX1NFTEVD VE9SX0dfTUFTSyAoMSA8PCBTVk1fU0VMRUNUT1JfR19TSElGVCkKLQotI2RlZmluZSBTVk1fU0VM RUNUT1JfV1JJVEVfTUFTSyAoMSA8PCAxKQotI2RlZmluZSBTVk1fU0VMRUNUT1JfUkVBRF9NQVNL IFNWTV9TRUxFQ1RPUl9XUklURV9NQVNLCi0jZGVmaW5lIFNWTV9TRUxFQ1RPUl9DT0RFX01BU0sg KDEgPDwgMykKLQotI2RlZmluZSBJTlRFUkNFUFRfQ1IwX01BU0sgMQotI2RlZmluZSBJTlRFUkNF UFRfQ1IzX01BU0sgKDEgPDwgMykKLSNkZWZpbmUgSU5URVJDRVBUX0NSNF9NQVNLICgxIDw8IDQp Ci0jZGVmaW5lIElOVEVSQ0VQVF9DUjhfTUFTSyAoMSA8PCA4KQotCi0jZGVmaW5lIElOVEVSQ0VQ VF9EUjBfTUFTSyAxCi0jZGVmaW5lIElOVEVSQ0VQVF9EUjFfTUFTSyAoMSA8PCAxKQotI2RlZmlu ZSBJTlRFUkNFUFRfRFIyX01BU0sgKDEgPDwgMikKLSNkZWZpbmUgSU5URVJDRVBUX0RSM19NQVNL ICgxIDw8IDMpCi0jZGVmaW5lIElOVEVSQ0VQVF9EUjRfTUFTSyAoMSA8PCA0KQotI2RlZmluZSBJ TlRFUkNFUFRfRFI1X01BU0sgKDEgPDwgNSkKLSNkZWZpbmUgSU5URVJDRVBUX0RSNl9NQVNLICgx IDw8IDYpCi0jZGVmaW5lIElOVEVSQ0VQVF9EUjdfTUFTSyAoMSA8PCA3KQotCi0jZGVmaW5lIFNW TV9FVlRJTkpfVkVDX01BU0sgMHhmZgotCi0jZGVmaW5lIFNWTV9FVlRJTkpfVFlQRV9TSElGVCA4 Ci0jZGVmaW5lIFNWTV9FVlRJTkpfVFlQRV9NQVNLICg3IDw8IFNWTV9FVlRJTkpfVFlQRV9TSElG VCkKLQotI2RlZmluZSBTVk1fRVZUSU5KX1RZUEVfSU5UUiAoMCA8PCBTVk1fRVZUSU5KX1RZUEVf U0hJRlQpCi0jZGVmaW5lIFNWTV9FVlRJTkpfVFlQRV9OTUkgKDIgPDwgU1ZNX0VWVElOSl9UWVBF X1NISUZUKQotI2RlZmluZSBTVk1fRVZUSU5KX1RZUEVfRVhFUFQgKDMgPDwgU1ZNX0VWVElOSl9U WVBFX1NISUZUKQotI2RlZmluZSBTVk1fRVZUSU5KX1RZUEVfU09GVCAoNCA8PCBTVk1fRVZUSU5K X1RZUEVfU0hJRlQpCi0KLSNkZWZpbmUgU1ZNX0VWVElOSl9WQUxJRCAoMSA8PCAzMSkKLSNkZWZp bmUgU1ZNX0VWVElOSl9WQUxJRF9FUlIgKDEgPDwgMTEpCi0KLSNkZWZpbmUgU1ZNX0VYSVRJTlRJ TkZPX1ZFQ19NQVNLIFNWTV9FVlRJTkpfVkVDX01BU0sKLSNkZWZpbmUgU1ZNX0VYSVRJTlRJTkZP X1RZUEVfTUFTSyBTVk1fRVZUSU5KX1RZUEVfTUFTSwotCi0jZGVmaW5lCVNWTV9FWElUSU5USU5G T19UWVBFX0lOVFIgU1ZNX0VWVElOSl9UWVBFX0lOVFIKLSNkZWZpbmUJU1ZNX0VYSVRJTlRJTkZP X1RZUEVfTk1JIFNWTV9FVlRJTkpfVFlQRV9OTUkKLSNkZWZpbmUJU1ZNX0VYSVRJTlRJTkZPX1RZ UEVfRVhFUFQgU1ZNX0VWVElOSl9UWVBFX0VYRVBUCi0jZGVmaW5lCVNWTV9FWElUSU5USU5GT19U WVBFX1NPRlQgU1ZNX0VWVElOSl9UWVBFX1NPRlQKLQotI2RlZmluZSBTVk1fRVhJVElOVElORk9f VkFMSUQgU1ZNX0VWVElOSl9WQUxJRAotI2RlZmluZSBTVk1fRVhJVElOVElORk9fVkFMSURfRVJS IFNWTV9FVlRJTkpfVkFMSURfRVJSCi0KLSNkZWZpbmUgU1ZNX0VYSVRJTkZPU0hJRlRfVFNfUkVB U09OX0lSRVQgMzYKLSNkZWZpbmUgU1ZNX0VYSVRJTkZPU0hJRlRfVFNfUkVBU09OX0pNUCAzOAot I2RlZmluZSBTVk1fRVhJVElORk9TSElGVF9UU19IQVNfRVJST1JfQ09ERSA0NAotCi0jZGVmaW5l CVNWTV9FWElUX1JFQURfQ1IwIAkweDAwMAotI2RlZmluZQlTVk1fRVhJVF9SRUFEX0NSMyAJMHgw MDMKLSNkZWZpbmUJU1ZNX0VYSVRfUkVBRF9DUjQgCTB4MDA0Ci0jZGVmaW5lCVNWTV9FWElUX1JF QURfQ1I4IAkweDAwOAotI2RlZmluZQlTVk1fRVhJVF9XUklURV9DUjAgCTB4MDEwCi0jZGVmaW5l CVNWTV9FWElUX1dSSVRFX0NSMyAJMHgwMTMKLSNkZWZpbmUJU1ZNX0VYSVRfV1JJVEVfQ1I0IAkw eDAxNAotI2RlZmluZQlTVk1fRVhJVF9XUklURV9DUjggCTB4MDE4Ci0jZGVmaW5lCVNWTV9FWElU X1JFQURfRFIwIAkweDAyMAotI2RlZmluZQlTVk1fRVhJVF9SRUFEX0RSMSAJMHgwMjEKLSNkZWZp bmUJU1ZNX0VYSVRfUkVBRF9EUjIgCTB4MDIyCi0jZGVmaW5lCVNWTV9FWElUX1JFQURfRFIzIAkw eDAyMwotI2RlZmluZQlTVk1fRVhJVF9SRUFEX0RSNCAJMHgwMjQKLSNkZWZpbmUJU1ZNX0VYSVRf UkVBRF9EUjUgCTB4MDI1Ci0jZGVmaW5lCVNWTV9FWElUX1JFQURfRFI2IAkweDAyNgotI2RlZmlu ZQlTVk1fRVhJVF9SRUFEX0RSNyAJMHgwMjcKLSNkZWZpbmUJU1ZNX0VYSVRfV1JJVEVfRFIwIAkw eDAzMAotI2RlZmluZQlTVk1fRVhJVF9XUklURV9EUjEgCTB4MDMxCi0jZGVmaW5lCVNWTV9FWElU X1dSSVRFX0RSMiAJMHgwMzIKLSNkZWZpbmUJU1ZNX0VYSVRfV1JJVEVfRFIzIAkweDAzMwotI2Rl ZmluZQlTVk1fRVhJVF9XUklURV9EUjQgCTB4MDM0Ci0jZGVmaW5lCVNWTV9FWElUX1dSSVRFX0RS NSAJMHgwMzUKLSNkZWZpbmUJU1ZNX0VYSVRfV1JJVEVfRFI2IAkweDAzNgotI2RlZmluZQlTVk1f RVhJVF9XUklURV9EUjcgCTB4MDM3Ci0jZGVmaW5lIFNWTV9FWElUX0VYQ1BfQkFTRSAgICAgIDB4 MDQwCi0jZGVmaW5lIFNWTV9FWElUX0lOVFIJCTB4MDYwCi0jZGVmaW5lIFNWTV9FWElUX05NSQkJ MHgwNjEKLSNkZWZpbmUgU1ZNX0VYSVRfU01JCQkweDA2MgotI2RlZmluZSBTVk1fRVhJVF9JTklU CQkweDA2MwotI2RlZmluZSBTVk1fRVhJVF9WSU5UUgkJMHgwNjQKLSNkZWZpbmUgU1ZNX0VYSVRf Q1IwX1NFTF9XUklURQkweDA2NQotI2RlZmluZSBTVk1fRVhJVF9JRFRSX1JFQUQJMHgwNjYKLSNk ZWZpbmUgU1ZNX0VYSVRfR0RUUl9SRUFECTB4MDY3Ci0jZGVmaW5lIFNWTV9FWElUX0xEVFJfUkVB RAkweDA2OAotI2RlZmluZSBTVk1fRVhJVF9UUl9SRUFECTB4MDY5Ci0jZGVmaW5lIFNWTV9FWElU X0lEVFJfV1JJVEUJMHgwNmEKLSNkZWZpbmUgU1ZNX0VYSVRfR0RUUl9XUklURQkweDA2YgotI2Rl ZmluZSBTVk1fRVhJVF9MRFRSX1dSSVRFCTB4MDZjCi0jZGVmaW5lIFNWTV9FWElUX1RSX1dSSVRF CTB4MDZkCi0jZGVmaW5lIFNWTV9FWElUX1JEVFNDCQkweDA2ZQotI2RlZmluZSBTVk1fRVhJVF9S RFBNQwkJMHgwNmYKLSNkZWZpbmUgU1ZNX0VYSVRfUFVTSEYJCTB4MDcwCi0jZGVmaW5lIFNWTV9F WElUX1BPUEYJCTB4MDcxCi0jZGVmaW5lIFNWTV9FWElUX0NQVUlECQkweDA3MgotI2RlZmluZSBT Vk1fRVhJVF9SU00JCTB4MDczCi0jZGVmaW5lIFNWTV9FWElUX0lSRVQJCTB4MDc0Ci0jZGVmaW5l IFNWTV9FWElUX1NXSU5UCQkweDA3NQotI2RlZmluZSBTVk1fRVhJVF9JTlZECQkweDA3NgotI2Rl ZmluZSBTVk1fRVhJVF9QQVVTRQkJMHgwNzcKLSNkZWZpbmUgU1ZNX0VYSVRfSExUCQkweDA3OAot I2RlZmluZSBTVk1fRVhJVF9JTlZMUEcJCTB4MDc5Ci0jZGVmaW5lIFNWTV9FWElUX0lOVkxQR0EJ MHgwN2EKLSNkZWZpbmUgU1ZNX0VYSVRfSU9JTwkJMHgwN2IKLSNkZWZpbmUgU1ZNX0VYSVRfTVNS CQkweDA3YwotI2RlZmluZSBTVk1fRVhJVF9UQVNLX1NXSVRDSAkweDA3ZAotI2RlZmluZSBTVk1f RVhJVF9GRVJSX0ZSRUVaRQkweDA3ZQotI2RlZmluZSBTVk1fRVhJVF9TSFVURE9XTgkweDA3Zgot I2RlZmluZSBTVk1fRVhJVF9WTVJVTgkJMHgwODAKLSNkZWZpbmUgU1ZNX0VYSVRfVk1NQ0FMTAkw eDA4MQotI2RlZmluZSBTVk1fRVhJVF9WTUxPQUQJCTB4MDgyCi0jZGVmaW5lIFNWTV9FWElUX1ZN U0FWRQkJMHgwODMKLSNkZWZpbmUgU1ZNX0VYSVRfU1RHSQkJMHgwODQKLSNkZWZpbmUgU1ZNX0VY SVRfQ0xHSQkJMHgwODUKLSNkZWZpbmUgU1ZNX0VYSVRfU0tJTklUCQkweDA4NgotI2RlZmluZSBT Vk1fRVhJVF9SRFRTQ1AJCTB4MDg3Ci0jZGVmaW5lIFNWTV9FWElUX0lDRUJQCQkweDA4OAotI2Rl ZmluZSBTVk1fRVhJVF9XQklOVkQJCTB4MDg5Ci0jZGVmaW5lIFNWTV9FWElUX01PTklUT1IJMHgw OGEKLSNkZWZpbmUgU1ZNX0VYSVRfTVdBSVQJCTB4MDhiCi0jZGVmaW5lIFNWTV9FWElUX01XQUlU X0NPTkQJMHgwOGMKLSNkZWZpbmUgU1ZNX0VYSVRfTlBGICAJCTB4NDAwCi0KLSNkZWZpbmUgU1ZN X0VYSVRfRVJSCQktMQotCi0jZGVmaW5lIFNWTV9DUjBfU0VMRUNUSVZFX01BU0sgKFg4Nl9DUjBf VFMgfCBYODZfQ1IwX01QKQotCi0jZGVmaW5lCVNWTV9DUjBfUkVTRVJWRURfTUFTSwkJCTB4ZmZm ZmZmZmYwMDAwMDAwMFUKLSNkZWZpbmUJU1ZNX0NSM19MT05HX01CWl9NQVNLCQkJMHhmZmYwMDAw MDAwMDAwMDAwVQotI2RlZmluZQlTVk1fQ1IzX0xPTkdfUkVTRVJWRURfTUFTSwkJMHgwMDAwMDAw MDAwMDAwZmU3VQotI2RlZmluZSBTVk1fQ1IzX1BBRV9MRUdBQ1lfUkVTRVJWRURfTUFTSwkweDAw MDAwMDAwMDAwMDAwMDdVCi0jZGVmaW5lCVNWTV9DUjRfTEVHQUNZX1JFU0VSVkVEX01BU0sJCTB4 ZmYwOGUwMDBVCi0jZGVmaW5lCVNWTV9DUjRfUkVTRVJWRURfTUFTSwkJCTB4ZmZmZmZmZmZmZjA4 ZTAwMFUKLSNkZWZpbmUJU1ZNX0RSNl9SRVNFUlZFRF9NQVNLCQkJMHhmZmZmZmZmZmZmZmYxZmYw VQotI2RlZmluZQlTVk1fRFI3X1JFU0VSVkVEX01BU0sJCQkweGZmZmZmZmZmMDAwMGNjMDBVCi0j ZGVmaW5lCVNWTV9FRkVSX1JFU0VSVkVEX01BU0sJCQkweGZmZmZmZmZmZmZmZjAyMDBVCiAKICNk ZWZpbmUgTVNSX0JJVE1BUF9TSVpFIDgxOTIKLQogI2RlZmluZSBMQlJfQ1RMX0VOQUJMRV9NQVNL IEJJVF9VTEwoMCkKIAogc3RydWN0IHN2bV90ZXN0IHsKLS0gCjIuMjYuMwoK --=-xYVjuuStPq3m473+k+4L Content-Disposition: attachment; filename*0=0002-move-some-svm-support-functions-into-lib-x86-svm_lib.pat; filename*1=ch Content-Type: text/x-patch; name="0002-move-some-svm-support-functions-into-lib-x86-svm_lib.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA0MTBmMDAyMGZlNzMzMGFmNGZjNDZkYmM3MjhlZWMwYmQ5NGMxYzgyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBMZXZpdHNreSA8bWxldml0c2tAcmVkaGF0LmNvbT4K RGF0ZTogTW9uLCAyOCBNYXIgMjAyMiAxNTozMjoyMSArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMi83 XSBtb3ZlIHNvbWUgc3ZtIHN1cHBvcnQgZnVuY3Rpb25zIGludG8gbGliL3g4Ni9zdm1fbGliLmgK Ci0tLQogbGliL3g4Ni9zdm1fbGliLmggfCA1MyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogeDg2L3N2bS5jICAgICAgICAgfCAzNSArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiB4ODYvc3ZtLmggICAgICAgICB8IDE4IC0tLS0tLS0tLS0tLS0t LS0KIHg4Ni9zdm1fdGVzdHMuYyAgIHwgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRp b25zKCspLCA1MiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIveDg2L3N2bV9s aWIuaAoKZGlmZiAtLWdpdCBhL2xpYi94ODYvc3ZtX2xpYi5oIGIvbGliL3g4Ni9zdm1fbGliLmgK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLmNkYzkzNDA4Ci0tLSAvZGV2L251 bGwKKysrIGIvbGliL3g4Ni9zdm1fbGliLmgKQEAgLTAsMCArMSw1MyBAQAorI2lmbmRlZiBTUkNf TElCX1g4Nl9TVk1fTElCX0hfCisjZGVmaW5lIFNSQ19MSUJfWDg2X1NWTV9MSUJfSF8KKworI2lu Y2x1ZGUgPHg4Ni9zdm0uaD4KKyNpbmNsdWRlICJwcm9jZXNzb3IuaCIKKworc3RhdGljIGlubGlu ZSBib29sIG5wdF9zdXBwb3J0ZWQodm9pZCkKK3sKKyAgICByZXR1cm4gdGhpc19jcHVfaGFzKFg4 Nl9GRUFUVVJFX05QVCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCB2Z2lmX3N1cHBvcnRlZCh2 b2lkKQoreworICAgIHJldHVybiB0aGlzX2NwdV9oYXMoWDg2X0ZFQVRVUkVfVkdJRik7Cit9CisK K3N0YXRpYyBpbmxpbmUgYm9vbCBsYnJ2X3N1cHBvcnRlZCh2b2lkKQoreworICAgIHJldHVybiB0 aGlzX2NwdV9oYXMoWDg2X0ZFQVRVUkVfTEJSVik7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCB0 c2Nfc2NhbGVfc3VwcG9ydGVkKHZvaWQpCit7CisgICAgcmV0dXJuIHRoaXNfY3B1X2hhcyhYODZf RkVBVFVSRV9UU0NSQVRFTVNSKTsKK30KKworc3RhdGljIGlubGluZSBib29sIHBhdXNlX2ZpbHRl cl9zdXBwb3J0ZWQodm9pZCkKK3sKKyAgICByZXR1cm4gdGhpc19jcHVfaGFzKFg4Nl9GRUFUVVJF X1BBVVNFRklMVEVSKTsKK30KKworc3RhdGljIGlubGluZSBib29sIHBhdXNlX3RocmVzaG9sZF9z dXBwb3J0ZWQodm9pZCkKK3sKKyAgICByZXR1cm4gdGhpc19jcHVfaGFzKFg4Nl9GRUFUVVJFX1BG VEhSRVNIT0xEKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHZtbWNhbGwodm9pZCkKK3sKKyAg ICBhc20gdm9sYXRpbGUgKCJ2bW1jYWxsIiA6IDogOiAibWVtb3J5Iik7Cit9CisKK3N0YXRpYyBp bmxpbmUgdm9pZCBzdGdpKHZvaWQpCit7CisgICAgYXNtIHZvbGF0aWxlICgic3RnaSIpOworfQor CitzdGF0aWMgaW5saW5lIHZvaWQgY2xnaSh2b2lkKQoreworICAgIGFzbSB2b2xhdGlsZSAoImNs Z2kiKTsKK30KKworCisjZW5kaWYgLyogU1JDX0xJQl9YODZfU1ZNX0xJQl9IXyAqLwpkaWZmIC0t Z2l0IGEveDg2L3N2bS5jIGIveDg2L3N2bS5jCmluZGV4IGY2ODk2ZjAyLi4wMDlkMmQ4YyAxMDA2 NDQKLS0tIGEveDg2L3N2bS5jCisrKyBiL3g4Ni9zdm0uYwpAQCAtMTQsNiArMTQsNyBAQAogI2lu Y2x1ZGUgImlzci5oIgogI2luY2x1ZGUgImFwaWMuaCIKICNpbmNsdWRlICJ2bWFsbG9jLmgiCisj aW5jbHVkZSAic3ZtX2xpYi5oIgogCiAvKiBmb3IgdGhlIG5lc3RlZCBwYWdlIHRhYmxlKi8KIHU2 NCAqcHRlWzIwNDhdOwpAQCAtNjUsMzEgKzY2LDYgQEAgYm9vbCBkZWZhdWx0X3N1cHBvcnRlZCh2 b2lkKQogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIHZnaWZfc3VwcG9ydGVkKHZvaWQpCi17 Ci0JcmV0dXJuIHRoaXNfY3B1X2hhcyhYODZfRkVBVFVSRV9WR0lGKTsKLX0KLQotYm9vbCBsYnJ2 X3N1cHBvcnRlZCh2b2lkKQotewotICAgIHJldHVybiB0aGlzX2NwdV9oYXMoWDg2X0ZFQVRVUkVf TEJSVik7Ci19Ci0KLWJvb2wgdHNjX3NjYWxlX3N1cHBvcnRlZCh2b2lkKQotewotICAgIHJldHVy biB0aGlzX2NwdV9oYXMoWDg2X0ZFQVRVUkVfVFNDUkFURU1TUik7Ci19Ci0KLWJvb2wgcGF1c2Vf ZmlsdGVyX3N1cHBvcnRlZCh2b2lkKQotewotICAgIHJldHVybiB0aGlzX2NwdV9oYXMoWDg2X0ZF QVRVUkVfUEFVU0VGSUxURVIpOwotfQotCi1ib29sIHBhdXNlX3RocmVzaG9sZF9zdXBwb3J0ZWQo dm9pZCkKLXsKLSAgICByZXR1cm4gdGhpc19jcHVfaGFzKFg4Nl9GRUFUVVJFX1BGVEhSRVNIT0xE KTsKLX0KLQogCiB2b2lkIGRlZmF1bHRfcHJlcGFyZShzdHJ1Y3Qgc3ZtX3Rlc3QgKnRlc3QpCiB7 CkBAIC0xMDUsMTAgKzgxLDYgQEAgYm9vbCBkZWZhdWx0X2ZpbmlzaGVkKHN0cnVjdCBzdm1fdGVz dCAqdGVzdCkKIAlyZXR1cm4gdHJ1ZTsgLyogb25lIHZtZXhpdCAqLwogfQogCi1ib29sIG5wdF9z dXBwb3J0ZWQodm9pZCkKLXsKLQlyZXR1cm4gdGhpc19jcHVfaGFzKFg4Nl9GRUFUVVJFX05QVCk7 Ci19CiAKIGludCBnZXRfdGVzdF9zdGFnZShzdHJ1Y3Qgc3ZtX3Rlc3QgKnRlc3QpCiB7CkBAIC0x MzksMTEgKzExMSw2IEBAIHN0YXRpYyB2b2lkIHZtY2Jfc2V0X3NlZyhzdHJ1Y3Qgdm1jYl9zZWcg KnNlZywgdTE2IHNlbGVjdG9yLAogCXNlZy0+YmFzZSA9IGJhc2U7CiB9CiAKLWlubGluZSB2b2lk IHZtbWNhbGwodm9pZCkKLXsKLQlhc20gdm9sYXRpbGUgKCJ2bW1jYWxsIiA6IDogOiAibWVtb3J5 Iik7Ci19Ci0KIHN0YXRpYyB0ZXN0X2d1ZXN0X2Z1bmMgZ3Vlc3RfbWFpbjsKIAogdm9pZCB0ZXN0 X3NldF9ndWVzdCh0ZXN0X2d1ZXN0X2Z1bmMgZnVuYykKZGlmZiAtLWdpdCBhL3g4Ni9zdm0uaCBi L3g4Ni9zdm0uaAppbmRleCBmZjVmYTkxZS4uMWViOThkZTMgMTAwNjQ0Ci0tLSBhL3g4Ni9zdm0u aAorKysgYi94ODYvc3ZtLmgKQEAgLTUyLDIxICs1MiwxNCBAQCB1NjQgKm5wdF9nZXRfcGRwZSh2 b2lkKTsKIHU2NCAqbnB0X2dldF9wbWw0ZSh2b2lkKTsKIGJvb2wgc21wX3N1cHBvcnRlZCh2b2lk KTsKIGJvb2wgZGVmYXVsdF9zdXBwb3J0ZWQodm9pZCk7Ci1ib29sIHZnaWZfc3VwcG9ydGVkKHZv aWQpOwotYm9vbCBsYnJ2X3N1cHBvcnRlZCh2b2lkKTsKLWJvb2wgdHNjX3NjYWxlX3N1cHBvcnRl ZCh2b2lkKTsKLWJvb2wgcGF1c2VfZmlsdGVyX3N1cHBvcnRlZCh2b2lkKTsKLWJvb2wgcGF1c2Vf dGhyZXNob2xkX3N1cHBvcnRlZCh2b2lkKTsKIHZvaWQgZGVmYXVsdF9wcmVwYXJlKHN0cnVjdCBz dm1fdGVzdCAqdGVzdCk7CiB2b2lkIGRlZmF1bHRfcHJlcGFyZV9naWZfY2xlYXIoc3RydWN0IHN2 bV90ZXN0ICp0ZXN0KTsKIGJvb2wgZGVmYXVsdF9maW5pc2hlZChzdHJ1Y3Qgc3ZtX3Rlc3QgKnRl c3QpOwotYm9vbCBucHRfc3VwcG9ydGVkKHZvaWQpOwogaW50IGdldF90ZXN0X3N0YWdlKHN0cnVj dCBzdm1fdGVzdCAqdGVzdCk7CiB2b2lkIHNldF90ZXN0X3N0YWdlKHN0cnVjdCBzdm1fdGVzdCAq dGVzdCwgaW50IHMpOwogdm9pZCBpbmNfdGVzdF9zdGFnZShzdHJ1Y3Qgc3ZtX3Rlc3QgKnRlc3Qp Owogdm9pZCB2bWNiX2lkZW50KHN0cnVjdCB2bWNiICp2bWNiKTsKIHN0cnVjdCByZWdzIGdldF9y ZWdzKHZvaWQpOwotdm9pZCB2bW1jYWxsKHZvaWQpOwogaW50IF9fc3ZtX3ZtcnVuKHU2NCByaXAp Owogdm9pZCBfX3N2bV9iYXJlX3ZtcnVuKHZvaWQpOwogaW50IHN2bV92bXJ1bih2b2lkKTsKQEAg LTc1LDE3ICs2OCw2IEBAIHZvaWQgdGVzdF9zZXRfZ3Vlc3QodGVzdF9ndWVzdF9mdW5jIGZ1bmMp OwogZXh0ZXJuIHN0cnVjdCB2bWNiICp2bWNiOwogZXh0ZXJuIHN0cnVjdCBzdm1fdGVzdCBzdm1f dGVzdHNbXTsKIAotc3RhdGljIGlubGluZSB2b2lkIHN0Z2kodm9pZCkKLXsKLSAgICBhc20gdm9s YXRpbGUgKCJzdGdpIik7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBjbGdpKHZvaWQpCi17Ci0g ICAgYXNtIHZvbGF0aWxlICgiY2xnaSIpOwotfQotCi0KIAogI2RlZmluZSBTQVZFX0dQUl9DICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAieGNoZyAlJXJieCwgcmVncysw eDhcblx0IiAgICAgICAgICAgICAgXApkaWZmIC0tZ2l0IGEveDg2L3N2bV90ZXN0cy5jIGIveDg2 L3N2bV90ZXN0cy5jCmluZGV4IDZhOWIwM2JkLi5iNmEwZDVlNiAxMDA2NDQKLS0tIGEveDg2L3N2 bV90ZXN0cy5jCisrKyBiL3g4Ni9zdm1fdGVzdHMuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1 ZGUgImlzci5oIgogI2luY2x1ZGUgImFwaWMuaCIKICNpbmNsdWRlICJkZWxheS5oIgorI2luY2x1 ZGUgInN2bV9saWIuaCIKIAogI2RlZmluZSBTVk1fRVhJVF9NQVhfRFJfSU5URVJDRVBUIDB4M2YK IAotLSAKMi4yNi4zCgo= --=-xYVjuuStPq3m473+k+4L Content-Disposition: attachment; filename="0003-svm-add-svm_suported.patch" Content-Type: text/x-patch; name="0003-svm-add-svm_suported.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAyOWM2NWNjNGJkMWY0YmVhY2E4ZDkyYWNiMGUxYTNjMzkxMjBlNTU2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBMZXZpdHNreSA8bWxldml0c2tAcmVkaGF0LmNvbT4K RGF0ZTogVGh1LCAzMSBNYXIgMjAyMiAwOTo1ODo1NCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMy83 XSBzdm06IGFkZCBzdm1fc3Vwb3J0ZWQKCi0tLQogbGliL3g4Ni9zdm1fbGliLmggfCA1ICsrKysr CiB4ODYvc3ZtLmMgICAgICAgICB8IDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliL3g4Ni9zdm1fbGliLmggYi9saWIv eDg2L3N2bV9saWIuaAppbmRleCBjZGM5MzQwOC4uMWMzNWQ0YTkgMTAwNjQ0Ci0tLSBhL2xpYi94 ODYvc3ZtX2xpYi5oCisrKyBiL2xpYi94ODYvc3ZtX2xpYi5oCkBAIC00LDYgKzQsMTEgQEAKICNp bmNsdWRlIDx4ODYvc3ZtLmg+CiAjaW5jbHVkZSAicHJvY2Vzc29yLmgiCiAKK3N0YXRpYyBpbmxp bmUgYm9vbCBzdm1fc3VwcG9ydGVkKHZvaWQpCit7CisgICAgcmV0dXJuIHRoaXNfY3B1X2hhcyhY ODZfRkVBVFVSRV9TVk0pOworfQorCiBzdGF0aWMgaW5saW5lIGJvb2wgbnB0X3N1cHBvcnRlZCh2 b2lkKQogewogICAgIHJldHVybiB0aGlzX2NwdV9oYXMoWDg2X0ZFQVRVUkVfTlBUKTsKZGlmZiAt LWdpdCBhL3g4Ni9zdm0uYyBiL3g4Ni9zdm0uYwppbmRleCAwMDlkMmQ4Yy4uN2E2NTQ0MjUgMTAw NjQ0Ci0tLSBhL3g4Ni9zdm0uYworKysgYi94ODYvc3ZtLmMKQEAgLTM3NSw3ICszNzUsNyBAQCBp bnQgbWFpbihpbnQgYWMsIGNoYXIgKiphdikKIAogCV9fc2V0dXBfdm0oJm9wdF9tYXNrKTsKIAot CWlmICghdGhpc19jcHVfaGFzKFg4Nl9GRUFUVVJFX1NWTSkpIHsKKwlpZiAoIXN2bV9zdXBwb3J0 ZWQoKSkgewogCQlwcmludGYoIlNWTSBub3QgYXZhaWxibGVcbiIpOwogCQlyZXR1cm4gcmVwb3J0 X3N1bW1hcnkoKTsKIAl9Ci0tIAoyLjI2LjMKCg== --=-xYVjuuStPq3m473+k+4L Content-Disposition: attachment; filename="0004-svm-move-setup_svm-to-svm_lib.c.patch" Content-Type: text/x-patch; name="0004-svm-move-setup_svm-to-svm_lib.c.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA1NmRmZTkwN2I4MGI5YzRlY2FhMDA0MmFjZmE1ZmVjYTEzZGE5OGNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBMZXZpdHNreSA8bWxldml0c2tAcmVkaGF0LmNvbT4K RGF0ZTogTW9uLCAyOCBNYXIgMjAyMiAxNjoxMzozMiArMDMwMApTdWJqZWN0OiBbUEFUQ0ggNC83 XSBzdm06IG1vdmUgc2V0dXBfc3ZtIHRvIHN2bV9saWIuYwoKLS0tCiBsaWIveDg2L3N2bS5oICAg ICAgIHwgICAyICsKIGxpYi94ODYvc3ZtX2xpYi5jICAgfCAxMzEgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi94ODYvc3ZtX2xpYi5oICAgfCAgMTIgKysr KwogeDg2L01ha2VmaWxlLng4Nl82NCB8ICAgMiArCiB4ODYvc3ZtLmMgICAgICAgICAgIHwgMTE1 ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ODYvc3ZtLmggICAgICAg ICAgIHwgICA1IC0tCiB4ODYvc3ZtX3Rlc3RzLmMgICAgIHwgIDE3ICsrKystLQogNyBmaWxlcyBj aGFuZ2VkLCAxNjEgaW5zZXJ0aW9ucygrKSwgMTIzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg MTAwNjQ0IGxpYi94ODYvc3ZtX2xpYi5jCgpkaWZmIC0tZ2l0IGEvbGliL3g4Ni9zdm0uaCBiL2xp Yi94ODYvc3ZtLmgKaW5kZXggMzhiYjkyMjQuLjIxZWZmMDkwIDEwMDY0NAotLS0gYS9saWIveDg2 L3N2bS5oCisrKyBiL2xpYi94ODYvc3ZtLmgKQEAgLTIsNiArMiw4IEBACiAjaWZuZGVmIFNSQ19M SUJfWDg2X1NWTV9IXwogI2RlZmluZSBTUkNfTElCX1g4Nl9TVk1fSF8KIAorI2luY2x1ZGUgImxp YmNmbGF0LmgiCisKIGVudW0gewogICAgIElOVEVSQ0VQVF9JTlRSLAogICAgIElOVEVSQ0VQVF9O TUksCmRpZmYgLS1naXQgYS9saWIveDg2L3N2bV9saWIuYyBiL2xpYi94ODYvc3ZtX2xpYi5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi44ZTU5ZDgxYwotLS0gL2Rldi9udWxs CisrKyBiL2xpYi94ODYvc3ZtX2xpYi5jCkBAIC0wLDAgKzEsMTMxIEBACisKKyNpbmNsdWRlICJz dm1fbGliLmgiCisjaW5jbHVkZSAibGliY2ZsYXQuaCIKKyNpbmNsdWRlICJwcm9jZXNzb3IuaCIK KyNpbmNsdWRlICJkZXNjLmgiCisjaW5jbHVkZSAibXNyLmgiCisjaW5jbHVkZSAidm0uaCIKKyNp bmNsdWRlICJzbXAuaCIKKyNpbmNsdWRlICJhbGxvY19wYWdlLmgiCisKKy8qIGZvciB0aGUgbmVz dGVkIHBhZ2UgdGFibGUqLworc3RhdGljIHU2NCAqcHRlWzIwNDhdOworc3RhdGljIHU2NCAqcGRl WzRdOworc3RhdGljIHU2NCAqcGRwZTsKK3N0YXRpYyB1NjQgKnBtbDRlOworCitzdGF0aWMgdTgg KmlvX2JpdG1hcDsKK3N0YXRpYyB1OCBpb19iaXRtYXBfYXJlYVsxNjM4NF07CisKK3N0YXRpYyB1 OCAqbXNyX2JpdG1hcDsKK3N0YXRpYyB1OCBtc3JfYml0bWFwX2FyZWFbTVNSX0JJVE1BUF9TSVpF ICsgUEFHRV9TSVpFXTsKKworCit1NjQgKm5wdF9nZXRfcHRlKHU2NCBhZGRyZXNzKQoreworICAg IGludCBpMSwgaTI7CisKKyAgICBhZGRyZXNzID4+PSAxMjsKKyAgICBpMSA9IChhZGRyZXNzID4+ IDkpICYgMHg3ZmY7CisgICAgaTIgPSBhZGRyZXNzICYgMHgxZmY7CisKKyAgICByZXR1cm4gJnB0 ZVtpMV1baTJdOworfQorCit1NjQgKm5wdF9nZXRfcGRlKHU2NCBhZGRyZXNzKQoreworICAgIGlu dCBpMSwgaTI7CisKKyAgICBhZGRyZXNzID4+PSAyMTsKKyAgICBpMSA9IChhZGRyZXNzID4+IDkp ICYgMHgzOworICAgIGkyID0gYWRkcmVzcyAmIDB4MWZmOworCisgICAgcmV0dXJuICZwZGVbaTFd W2kyXTsKK30KKwordTY0ICpucHRfZ2V0X3BkcGUodm9pZCkKK3sKKyAgICByZXR1cm4gcGRwZTsK K30KKwordTY0ICpucHRfZ2V0X3BtbDRlKHZvaWQpCit7CisgICAgcmV0dXJuIHBtbDRlOworfQor Cit1OCogc3ZtX2dldF9tc3JfYml0bWFwKHZvaWQpCit7CisgICAgcmV0dXJuIG1zcl9iaXRtYXA7 Cit9CisKK3U4KiBzdm1fZ2V0X2lvX2JpdG1hcCh2b2lkKQoreworICAgIHJldHVybiBpb19iaXRt YXA7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9hZGRpdGlvbmFsX3ZjcHVfbXNyKHZvaWQgKm1zcl9l ZmVyKQoreworICAgIHZvaWQgKmhzYXZlID0gYWxsb2NfcGFnZSgpOworCisgICAgd3Jtc3IoTVNS X1ZNX0hTQVZFX1BBLCB2aXJ0X3RvX3BoeXMoaHNhdmUpKTsKKyAgICB3cm1zcihNU1JfRUZFUiwg KHVsb25nKW1zcl9lZmVyIHwgRUZFUl9TVk1FKTsKK30KKwordm9pZCBzZXR1cF9zdm0odm9pZCkK K3sKKyAgICB2b2lkICpoc2F2ZSA9IGFsbG9jX3BhZ2UoKTsKKyAgICB1NjQgKnBhZ2UsIGFkZHJl c3M7CisgICAgaW50IGksajsKKworICAgIHdybXNyKE1TUl9WTV9IU0FWRV9QQSwgdmlydF90b19w aHlzKGhzYXZlKSk7CisgICAgd3Jtc3IoTVNSX0VGRVIsIHJkbXNyKE1TUl9FRkVSKSB8IEVGRVJf U1ZNRSk7CisKKyAgICBpb19iaXRtYXAgPSAodm9pZCAqKSBBTElHTigodWxvbmcpaW9fYml0bWFw X2FyZWEsIFBBR0VfU0laRSk7CisKKyAgICBtc3JfYml0bWFwID0gKHZvaWQgKikgQUxJR04oKHVs b25nKW1zcl9iaXRtYXBfYXJlYSwgUEFHRV9TSVpFKTsKKworICAgIGlmICghbnB0X3N1cHBvcnRl ZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBmb3IgKGkgPSAxOyBpIDwgY3B1X2NvdW50KCk7 IGkrKykKKyAgICAgICAgb25fY3B1KGksICh2b2lkICopc2V0X2FkZGl0aW9uYWxfdmNwdV9tc3Is ICh2b2lkICopcmRtc3IoTVNSX0VGRVIpKTsKKworICAgIHByaW50ZigiTlBUIGRldGVjdGVkIC0g cnVubmluZyBhbGwgdGVzdHMgd2l0aCBOUFQgZW5hYmxlZFxuIik7CisKKyAgICAvKgorICAgICog TmVzdGVkIHBhZ2luZyBzdXBwb3J0ZWQgLSBCdWlsZCBhIG5lc3RlZCBwYWdlIHRhYmxlCisgICAg KiBCdWlsZCB0aGUgcGFnZS10YWJsZSBib3R0b20tdXAgYW5kIG1hcCBldmVyeXRoaW5nIHdpdGgg NGsKKyAgICAqIHBhZ2VzIHRvIGdldCBlbm91Z2ggZ3JhbnVsYXJpdHkgZm9yIHRoZSBOUFQgdW5p dC10ZXN0cy4KKyAgICAqLworCisgICAgYWRkcmVzcyA9IDA7CisKKyAgICAvKiBQVEUgbGV2ZWwg Ki8KKyAgICBmb3IgKGkgPSAwOyBpIDwgMjA0ODsgKytpKSB7CisgICAgICAgIHBhZ2UgPSBhbGxv Y19wYWdlKCk7CisKKyAgICAgICAgZm9yIChqID0gMDsgaiA8IDUxMjsgKytqLCBhZGRyZXNzICs9 IDQwOTYpCisgICAgICAgICAgICAgICAgcGFnZVtqXSA9IGFkZHJlc3MgfCAweDA2N1VMTDsKKwor ICAgICAgICBwdGVbaV0gPSBwYWdlOworICAgIH0KKworICAgIC8qIFBERSBsZXZlbCAqLworICAg IGZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKKyAgICAgICAgcGFnZSA9IGFsbG9jX3BhZ2UoKTsK KworICAgICAgICBmb3IgKGogPSAwOyBqIDwgNTEyOyArK2opCisgICAgICAgICAgICBwYWdlW2pd ID0gKHU2NClwdGVbKGkgKiA1MTIpICsgal0gfCAweDAyN1VMTDsKKworICAgICAgICBwZGVbaV0g PSBwYWdlOworICAgIH0KKworICAgIC8qIFBEUGUgbGV2ZWwgKi8KKyAgICBwZHBlICAgPSBhbGxv Y19wYWdlKCk7CisgICAgZm9yIChpID0gMDsgaSA8IDQ7ICsraSkKKyAgICAgICAgcGRwZVtpXSA9 ICgodTY0KShwZGVbaV0pKSB8IDB4Mjc7CisKKyAgICAvKiBQTUw0ZSBsZXZlbCAqLworICAgIHBt bDRlICAgID0gYWxsb2NfcGFnZSgpOworICAgIHBtbDRlWzBdID0gKCh1NjQpcGRwZSkgfCAweDI3 OworfQpkaWZmIC0tZ2l0IGEvbGliL3g4Ni9zdm1fbGliLmggYi9saWIveDg2L3N2bV9saWIuaApp bmRleCAxYzM1ZDRhOS4uZjVlODNiODUgMTAwNjQ0Ci0tLSBhL2xpYi94ODYvc3ZtX2xpYi5oCisr KyBiL2xpYi94ODYvc3ZtX2xpYi5oCkBAIC01NCw1ICs1NCwxNyBAQCBzdGF0aWMgaW5saW5lIHZv aWQgY2xnaSh2b2lkKQogICAgIGFzbSB2b2xhdGlsZSAoImNsZ2kiKTsKIH0KIAordm9pZCBzZXR1 cF9zdm0odm9pZCk7CisKK3U2NCAqbnB0X2dldF9wdGUodTY0IGFkZHJlc3MpOwordTY0ICpucHRf Z2V0X3BkZSh1NjQgYWRkcmVzcyk7Cit1NjQgKm5wdF9nZXRfcGRwZSh2b2lkKTsKK3U2NCAqbnB0 X2dldF9wbWw0ZSh2b2lkKTsKKwordTgqIHN2bV9nZXRfbXNyX2JpdG1hcCh2b2lkKTsKK3U4KiBz dm1fZ2V0X2lvX2JpdG1hcCh2b2lkKTsKKworI2RlZmluZSBNU1JfQklUTUFQX1NJWkUgODE5Mgor CiAKICNlbmRpZiAvKiBTUkNfTElCX1g4Nl9TVk1fTElCX0hfICovCmRpZmYgLS1naXQgYS94ODYv TWFrZWZpbGUueDg2XzY0IGIveDg2L01ha2VmaWxlLng4Nl82NAppbmRleCBmMThjMWUyMC4uMzAy YWNmNTggMTAwNjQ0Ci0tLSBhL3g4Ni9NYWtlZmlsZS54ODZfNjQKKysrIGIveDg2L01ha2VmaWxl Lng4Nl82NApAQCAtMTcsNiArMTcsOCBAQCBDT01NT05fQ0ZMQUdTICs9IC1tbm8tcmVkLXpvbmUg LW1uby1zc2UgLW1uby1zc2UyICQoZmNmX3Byb3RlY3Rpb25fZnVsbCkKIGNmbGF0b2JqcyArPSBs aWIveDg2L3NldGptcDY0Lm8KIGNmbGF0b2JqcyArPSBsaWIveDg2L2ludGVsLWlvbW11Lm8KIGNm bGF0b2JqcyArPSBsaWIveDg2L3VzZXJtb2RlLm8KK2NmbGF0b2JqcyArPSBsaWIveDg2L3N2bV9s aWIubworCiAKIHRlc3RzID0gJChURVNUX0RJUikvYXBpYy4kKGV4ZSkgXAogCSAgJChURVNUX0RJ UikvZW11bGF0b3IuJChleGUpICQoVEVTVF9ESVIpL2lkdF90ZXN0LiQoZXhlKSBcCmRpZmYgLS1n aXQgYS94ODYvc3ZtLmMgYi94ODYvc3ZtLmMKaW5kZXggN2E2NTQ0MjUuLjIzZTY1MjYxIDEwMDY0 NAotLS0gYS94ODYvc3ZtLmMKKysrIGIveDg2L3N2bS5jCkBAIC0xNiw0NiArMTYsOCBAQAogI2lu Y2x1ZGUgInZtYWxsb2MuaCIKICNpbmNsdWRlICJzdm1fbGliLmgiCiAKLS8qIGZvciB0aGUgbmVz dGVkIHBhZ2UgdGFibGUqLwotdTY0ICpwdGVbMjA0OF07Ci11NjQgKnBkZVs0XTsKLXU2NCAqcGRw ZTsKLXU2NCAqcG1sNGU7Ci0KIHN0cnVjdCB2bWNiICp2bWNiOwogCi11NjQgKm5wdF9nZXRfcHRl KHU2NCBhZGRyZXNzKQotewotCWludCBpMSwgaTI7Ci0KLQlhZGRyZXNzID4+PSAxMjsKLQlpMSA9 IChhZGRyZXNzID4+IDkpICYgMHg3ZmY7Ci0JaTIgPSBhZGRyZXNzICYgMHgxZmY7Ci0KLQlyZXR1 cm4gJnB0ZVtpMV1baTJdOwotfQotCi11NjQgKm5wdF9nZXRfcGRlKHU2NCBhZGRyZXNzKQotewot CWludCBpMSwgaTI7Ci0KLQlhZGRyZXNzID4+PSAyMTsKLQlpMSA9IChhZGRyZXNzID4+IDkpICYg MHgzOwotCWkyID0gYWRkcmVzcyAmIDB4MWZmOwotCi0JcmV0dXJuICZwZGVbaTFdW2kyXTsKLX0K LQotdTY0ICpucHRfZ2V0X3BkcGUodm9pZCkKLXsKLQlyZXR1cm4gcGRwZTsKLX0KLQotdTY0ICpu cHRfZ2V0X3BtbDRlKHZvaWQpCi17Ci0JcmV0dXJuIHBtbDRlOwotfQotCiBib29sIHNtcF9zdXBw b3J0ZWQodm9pZCkKIHsKIAlyZXR1cm4gY3B1X2NvdW50KCkgPiAxOwpAQCAtMTI0LDEyICs4Niw2 IEBAIHN0YXRpYyB2b2lkIHRlc3RfdGh1bmsoc3RydWN0IHN2bV90ZXN0ICp0ZXN0KQogCXZtbWNh bGwoKTsKIH0KIAotdTggKmlvX2JpdG1hcDsKLXU4IGlvX2JpdG1hcF9hcmVhWzE2Mzg0XTsKLQot dTggKm1zcl9iaXRtYXA7Ci11OCBtc3JfYml0bWFwX2FyZWFbTVNSX0JJVE1BUF9TSVpFICsgUEFH RV9TSVpFXTsKLQogdm9pZCB2bWNiX2lkZW50KHN0cnVjdCB2bWNiICp2bWNiKQogewogCXU2NCB2 bWNiX3BoeXMgPSB2aXJ0X3RvX3BoeXModm1jYik7CkBAIC0xNjUsMTIgKzEyMSwxMiBAQCB2b2lk IHZtY2JfaWRlbnQoc3RydWN0IHZtY2IgKnZtY2IpCiAJY3RybC0+aW50ZXJjZXB0ID0gKDFVTEwg PDwgSU5URVJDRVBUX1ZNUlVOKSB8CiAJCQkgICgxVUxMIDw8IElOVEVSQ0VQVF9WTU1DQUxMKSB8 CiAJCQkgICgxVUxMIDw8IElOVEVSQ0VQVF9TSFVURE9XTik7Ci0JY3RybC0+aW9wbV9iYXNlX3Bh ID0gdmlydF90b19waHlzKGlvX2JpdG1hcCk7Ci0JY3RybC0+bXNycG1fYmFzZV9wYSA9IHZpcnRf dG9fcGh5cyhtc3JfYml0bWFwKTsKKwljdHJsLT5pb3BtX2Jhc2VfcGEgPSB2aXJ0X3RvX3BoeXMo c3ZtX2dldF9pb19iaXRtYXAoKSk7CisJY3RybC0+bXNycG1fYmFzZV9wYSA9IHZpcnRfdG9fcGh5 cyhzdm1fZ2V0X21zcl9iaXRtYXAoKSk7CiAKIAlpZiAobnB0X3N1cHBvcnRlZCgpKSB7CiAJCWN0 cmwtPm5lc3RlZF9jdGwgPSAxOwotCQljdHJsLT5uZXN0ZWRfY3IzID0gKHU2NClwbWw0ZTsKKwkJ Y3RybC0+bmVzdGVkX2NyMyA9ICh1NjQpbnB0X2dldF9wbWw0ZSgpOwogCQljdHJsLT50bGJfY3Rs ID0gVExCX0NPTlRST0xfRkxVU0hfQUxMX0FTSUQ7CiAJfQogfQpAQCAtMjU5LDcyICsyMTUsNyBA QCBzdGF0aWMgbm9pbmxpbmUgdm9pZCB0ZXN0X3J1bihzdHJ1Y3Qgc3ZtX3Rlc3QgKnRlc3QpCiAJ ICAgIHRlc3QtPm9uX3ZjcHVfZG9uZSA9IHRydWU7CiB9CiAKLXN0YXRpYyB2b2lkIHNldF9hZGRp dGlvbmFsX3ZjcHVfbXNyKHZvaWQgKm1zcl9lZmVyKQotewotCXZvaWQgKmhzYXZlID0gYWxsb2Nf cGFnZSgpOwotCi0Jd3Jtc3IoTVNSX1ZNX0hTQVZFX1BBLCB2aXJ0X3RvX3BoeXMoaHNhdmUpKTsK LQl3cm1zcihNU1JfRUZFUiwgKHVsb25nKW1zcl9lZmVyIHwgRUZFUl9TVk1FKTsKLX0KLQotc3Rh dGljIHZvaWQgc2V0dXBfc3ZtKHZvaWQpCi17Ci0Jdm9pZCAqaHNhdmUgPSBhbGxvY19wYWdlKCk7 Ci0JdTY0ICpwYWdlLCBhZGRyZXNzOwotCWludCBpLGo7Ci0KLQl3cm1zcihNU1JfVk1fSFNBVkVf UEEsIHZpcnRfdG9fcGh5cyhoc2F2ZSkpOwotCXdybXNyKE1TUl9FRkVSLCByZG1zcihNU1JfRUZF UikgfCBFRkVSX1NWTUUpOwotCi0JaW9fYml0bWFwID0gKHZvaWQgKikgQUxJR04oKHVsb25nKWlv X2JpdG1hcF9hcmVhLCBQQUdFX1NJWkUpOwotCi0JbXNyX2JpdG1hcCA9ICh2b2lkICopIEFMSUdO KCh1bG9uZyltc3JfYml0bWFwX2FyZWEsIFBBR0VfU0laRSk7Ci0KLQlpZiAoIW5wdF9zdXBwb3J0 ZWQoKSkKLQkJcmV0dXJuOwotCi0JZm9yIChpID0gMTsgaSA8IGNwdV9jb3VudCgpOyBpKyspCi0J CW9uX2NwdShpLCAodm9pZCAqKXNldF9hZGRpdGlvbmFsX3ZjcHVfbXNyLCAodm9pZCAqKXJkbXNy KE1TUl9FRkVSKSk7Ci0KLQlwcmludGYoIk5QVCBkZXRlY3RlZCAtIHJ1bm5pbmcgYWxsIHRlc3Rz IHdpdGggTlBUIGVuYWJsZWRcbiIpOwotCi0JLyoKLQkqIE5lc3RlZCBwYWdpbmcgc3VwcG9ydGVk IC0gQnVpbGQgYSBuZXN0ZWQgcGFnZSB0YWJsZQotCSogQnVpbGQgdGhlIHBhZ2UtdGFibGUgYm90 dG9tLXVwIGFuZCBtYXAgZXZlcnl0aGluZyB3aXRoIDRrCi0JKiBwYWdlcyB0byBnZXQgZW5vdWdo IGdyYW51bGFyaXR5IGZvciB0aGUgTlBUIHVuaXQtdGVzdHMuCi0JKi8KLQotCWFkZHJlc3MgPSAw OwogCi0JLyogUFRFIGxldmVsICovCi0JZm9yIChpID0gMDsgaSA8IDIwNDg7ICsraSkgewotCQlw YWdlID0gYWxsb2NfcGFnZSgpOwotCi0JCWZvciAoaiA9IDA7IGogPCA1MTI7ICsraiwgYWRkcmVz cyArPSA0MDk2KQotCSAgICAJCXBhZ2Vbal0gPSBhZGRyZXNzIHwgMHgwNjdVTEw7Ci0KLQkJcHRl W2ldID0gcGFnZTsKLQl9Ci0KLQkvKiBQREUgbGV2ZWwgKi8KLQlmb3IgKGkgPSAwOyBpIDwgNDsg KytpKSB7Ci0JCXBhZ2UgPSBhbGxvY19wYWdlKCk7Ci0KLQlmb3IgKGogPSAwOyBqIDwgNTEyOyAr K2opCi0JICAgIHBhZ2Vbal0gPSAodTY0KXB0ZVsoaSAqIDUxMikgKyBqXSB8IDB4MDI3VUxMOwot Ci0JCXBkZVtpXSA9IHBhZ2U7Ci0JfQotCi0JLyogUERQZSBsZXZlbCAqLwotCXBkcGUgICA9IGFs bG9jX3BhZ2UoKTsKLQlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKQotCQlwZHBlW2ldID0gKCh1NjQp KHBkZVtpXSkpIHwgMHgyNzsKLQotCS8qIFBNTDRlIGxldmVsICovCi0JcG1sNGUgICAgPSBhbGxv Y19wYWdlKCk7Ci0JcG1sNGVbMF0gPSAoKHU2NClwZHBlKSB8IDB4Mjc7Ci19CiAKIGludCBtYXRj aGVkOwogCmRpZmYgLS1naXQgYS94ODYvc3ZtLmggYi94ODYvc3ZtLmgKaW5kZXggMWViOThkZTMu LjdmZWNiNDI5IDEwMDY0NAotLS0gYS94ODYvc3ZtLmgKKysrIGIveDg2L3N2bS5oCkBAIC01LDcg KzUsNiBAQAogI2luY2x1ZGUgPHg4Ni9zdm0uaD4KIAogCi0jZGVmaW5lIE1TUl9CSVRNQVBfU0la RSA4MTkyCiAjZGVmaW5lIExCUl9DVExfRU5BQkxFX01BU0sgQklUX1VMTCgwKQogCiBzdHJ1Y3Qg c3ZtX3Rlc3QgewpAQCAtNDYsMTAgKzQ1LDYgQEAgc3RydWN0IHJlZ3MgewogCiB0eXBlZGVmIHZv aWQgKCp0ZXN0X2d1ZXN0X2Z1bmMpKHN0cnVjdCBzdm1fdGVzdCAqKTsKIAotdTY0ICpucHRfZ2V0 X3B0ZSh1NjQgYWRkcmVzcyk7Ci11NjQgKm5wdF9nZXRfcGRlKHU2NCBhZGRyZXNzKTsKLXU2NCAq bnB0X2dldF9wZHBlKHZvaWQpOwotdTY0ICpucHRfZ2V0X3BtbDRlKHZvaWQpOwogYm9vbCBzbXBf c3VwcG9ydGVkKHZvaWQpOwogYm9vbCBkZWZhdWx0X3N1cHBvcnRlZCh2b2lkKTsKIHZvaWQgZGVm YXVsdF9wcmVwYXJlKHN0cnVjdCBzdm1fdGVzdCAqdGVzdCk7CmRpZmYgLS1naXQgYS94ODYvc3Zt X3Rlc3RzLmMgYi94ODYvc3ZtX3Rlc3RzLmMKaW5kZXggYjZhMGQ1ZTYuLjA3YWMwMWZmIDEwMDY0 NAotLS0gYS94ODYvc3ZtX3Rlc3RzLmMKKysrIGIveDg2L3N2bV90ZXN0cy5jCkBAIC0zMDksMTQg KzMwOSwxMyBAQCBzdGF0aWMgYm9vbCBjaGVja19uZXh0X3JpcChzdHJ1Y3Qgc3ZtX3Rlc3QgKnRl c3QpCiAgICAgcmV0dXJuIGFkZHJlc3MgPT0gdm1jYi0+Y29udHJvbC5uZXh0X3JpcDsKIH0KIAot ZXh0ZXJuIHU4ICptc3JfYml0bWFwOwogCiBzdGF0aWMgdm9pZCBwcmVwYXJlX21zcl9pbnRlcmNl cHQoc3RydWN0IHN2bV90ZXN0ICp0ZXN0KQogewogICAgIGRlZmF1bHRfcHJlcGFyZSh0ZXN0KTsK ICAgICB2bWNiLT5jb250cm9sLmludGVyY2VwdCB8PSAoMVVMTCA8PCBJTlRFUkNFUFRfTVNSX1BS T1QpOwogICAgIHZtY2ItPmNvbnRyb2wuaW50ZXJjZXB0X2V4Y2VwdGlvbnMgfD0gKDFVTEwgPDwg R1BfVkVDVE9SKTsKLSAgICBtZW1zZXQobXNyX2JpdG1hcCwgMHhmZiwgTVNSX0JJVE1BUF9TSVpF KTsKKyAgICBtZW1zZXQoc3ZtX2dldF9tc3JfYml0bWFwKCksIDB4ZmYsIE1TUl9CSVRNQVBfU0la RSk7CiB9CiAKIHN0YXRpYyB2b2lkIHRlc3RfbXNyX2ludGVyY2VwdChzdHJ1Y3Qgc3ZtX3Rlc3Qg KnRlc3QpCkBAIC00MjcsNyArNDI2LDcgQEAgc3RhdGljIGJvb2wgbXNyX2ludGVyY2VwdF9maW5p c2hlZChzdHJ1Y3Qgc3ZtX3Rlc3QgKnRlc3QpCiAKIHN0YXRpYyBib29sIGNoZWNrX21zcl9pbnRl cmNlcHQoc3RydWN0IHN2bV90ZXN0ICp0ZXN0KQogewotICAgIG1lbXNldChtc3JfYml0bWFwLCAw LCBNU1JfQklUTUFQX1NJWkUpOworICAgIG1lbXNldChzdm1fZ2V0X21zcl9iaXRtYXAoKSwgMCwg TVNSX0JJVE1BUF9TSVpFKTsKICAgICByZXR1cm4gKHRlc3QtPnNjcmF0Y2ggPT0gLTIpOwogfQog CkBAIC01MzksMTAgKzUzOCwxMCBAQCBzdGF0aWMgYm9vbCBjaGVja19tb2RlX3N3aXRjaChzdHJ1 Y3Qgc3ZtX3Rlc3QgKnRlc3QpCiAJcmV0dXJuIHRlc3QtPnNjcmF0Y2ggPT0gMjsKIH0KIAotZXh0 ZXJuIHU4ICppb19iaXRtYXA7Ci0KIHN0YXRpYyB2b2lkIHByZXBhcmVfaW9pbyhzdHJ1Y3Qgc3Zt X3Rlc3QgKnRlc3QpCiB7CisgICAgdTggKmlvX2JpdG1hcCA9IHN2bV9nZXRfaW9fYml0bWFwKCk7 CisKICAgICB2bWNiLT5jb250cm9sLmludGVyY2VwdCB8PSAoMVVMTCA8PCBJTlRFUkNFUFRfSU9J T19QUk9UKTsKICAgICB0ZXN0LT5zY3JhdGNoID0gMDsKICAgICBtZW1zZXQoaW9fYml0bWFwLCAw LCA4MTkyKTsKQEAgLTU1MSw2ICs1NTAsOCBAQCBzdGF0aWMgdm9pZCBwcmVwYXJlX2lvaW8oc3Ry dWN0IHN2bV90ZXN0ICp0ZXN0KQogCiBzdGF0aWMgdm9pZCB0ZXN0X2lvaW8oc3RydWN0IHN2bV90 ZXN0ICp0ZXN0KQogeworICAgIHU4ICppb19iaXRtYXAgPSBzdm1fZ2V0X2lvX2JpdG1hcCgpOwor CiAgICAgLy8gc3RhZ2UgMCwgdGVzdCBJTyBwYXNzCiAgICAgaW5iKDB4NTAwMCk7CiAgICAgb3V0 YigweDAsIDB4NTAwMCk7CkBAIC02MjMsNiArNjI0LDcgQEAgZmFpbDoKIHN0YXRpYyBib29sIGlv aW9fZmluaXNoZWQoc3RydWN0IHN2bV90ZXN0ICp0ZXN0KQogewogICAgIHVuc2lnbmVkIHBvcnQs IHNpemU7CisgICAgdTggKmlvX2JpdG1hcCA9IHN2bV9nZXRfaW9fYml0bWFwKCk7CiAKICAgICAv KiBPbmx5IGV4cGVjdCBJT0lPIGludGVyY2VwdHMgKi8KICAgICBpZiAodm1jYi0+Y29udHJvbC5l eGl0X2NvZGUgPT0gU1ZNX0VYSVRfVk1NQ0FMTCkKQEAgLTY0Nyw2ICs2NDksOCBAQCBzdGF0aWMg Ym9vbCBpb2lvX2ZpbmlzaGVkKHN0cnVjdCBzdm1fdGVzdCAqdGVzdCkKIAogc3RhdGljIGJvb2wg Y2hlY2tfaW9pbyhzdHJ1Y3Qgc3ZtX3Rlc3QgKnRlc3QpCiB7CisgICAgdTggKmlvX2JpdG1hcCA9 IHN2bV9nZXRfaW9fYml0bWFwKCk7CisKICAgICBtZW1zZXQoaW9fYml0bWFwLCAwLCA4MTkzKTsK ICAgICByZXR1cm4gdGVzdC0+c2NyYXRjaCAhPSAtMTsKIH0KQEAgLTI1MTQsNyArMjUxOCw4IEBA IHN0YXRpYyB2b2lkIHRlc3RfbXNycG1faW9wbV9iaXRtYXBfYWRkcnModm9pZCkKIHsKIAl1NjQg c2F2ZWRfaW50ZXJjZXB0ID0gdm1jYi0+Y29udHJvbC5pbnRlcmNlcHQ7CiAJdTY0IGFkZHJfYmV5 b25kX2xpbWl0ID0gMXVsbCA8PCBjcHVpZF9tYXhwaHlhZGRyKCk7Ci0JdTY0IGFkZHIgPSB2aXJ0 X3RvX3BoeXMobXNyX2JpdG1hcCkgJiAofigoMXVsbCA8PCAxMikgLSAxKSk7CisJdTY0IGFkZHIg PSB2aXJ0X3RvX3BoeXMoc3ZtX2dldF9tc3JfYml0bWFwKCkpICYgKH4oKDF1bGwgPDwgMTIpIC0g MSkpOworCXU4ICppb19iaXRtYXAgPSBzdm1fZ2V0X2lvX2JpdG1hcCgpOwogCiAJVEVTVF9CSVRN QVBfQUREUihzYXZlZF9pbnRlcmNlcHQsIElOVEVSQ0VQVF9NU1JfUFJPVCwKIAkJCWFkZHJfYmV5 b25kX2xpbWl0IC0gMiAqIFBBR0VfU0laRSwgU1ZNX0VYSVRfRVJSLAotLSAKMi4yNi4zCgo= --=-xYVjuuStPq3m473+k+4L Content-Disposition: attachment; filename="0005-svm-move-vmcb_ident-to-svm_lib.c.patch" Content-Type: text/x-patch; name="0005-svm-move-vmcb_ident-to-svm_lib.c.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA3MzE1NDgzY2E5YzA2MDE3YTQ2NDJlZjhkNWRmZDRiMTlkNDdkNzEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBMZXZpdHNreSA8bWxldml0c2tAcmVkaGF0LmNvbT4K RGF0ZTogTW9uLCAyOCBNYXIgMjAyMiAxNjoxNjoyNCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggNS83 XSBzdm06IG1vdmUgdm1jYl9pZGVudCB0byBzdm1fbGliLmMKCi0tLQogbGliL3g4Ni9zdm1fbGli LmMgfCA1NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog bGliL3g4Ni9zdm1fbGliLmggfCAgNCArKysrCiB4ODYvc3ZtLmMgICAgICAgICB8IDU0IC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ODYvc3ZtLmggICAg ICAgICB8ICAxIC0KIDQgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgNTUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL3g4Ni9zdm1fbGliLmMgYi9saWIveDg2L3N2bV9saWIu YwppbmRleCA4ZTU5ZDgxYy4uNDgyNDY4MTAgMTAwNjQ0Ci0tLSBhL2xpYi94ODYvc3ZtX2xpYi5j CisrKyBiL2xpYi94ODYvc3ZtX2xpYi5jCkBAIC03MSw2ICs3MSwxNSBAQCBzdGF0aWMgdm9pZCBz ZXRfYWRkaXRpb25hbF92Y3B1X21zcih2b2lkICptc3JfZWZlcikKICAgICB3cm1zcihNU1JfRUZF UiwgKHVsb25nKW1zcl9lZmVyIHwgRUZFUl9TVk1FKTsKIH0KIAordm9pZCB2bWNiX3NldF9zZWco c3RydWN0IHZtY2Jfc2VnICpzZWcsIHUxNiBzZWxlY3RvciwKKyAgICAgICAgICAgICAgICAgICAg ICAgICB1NjQgYmFzZSwgdTMyIGxpbWl0LCB1MzIgYXR0cikKK3sKKyAgICBzZWctPnNlbGVjdG9y ID0gc2VsZWN0b3I7CisgICAgc2VnLT5hdHRyaWIgPSBhdHRyOworICAgIHNlZy0+bGltaXQgPSBs aW1pdDsKKyAgICBzZWctPmJhc2UgPSBiYXNlOworfQorCiB2b2lkIHNldHVwX3N2bSh2b2lkKQog ewogICAgIHZvaWQgKmhzYXZlID0gYWxsb2NfcGFnZSgpOwpAQCAtMTI5LDMgKzEzOCw0OCBAQCB2 b2lkIHNldHVwX3N2bSh2b2lkKQogICAgIHBtbDRlICAgID0gYWxsb2NfcGFnZSgpOwogICAgIHBt bDRlWzBdID0gKCh1NjQpcGRwZSkgfCAweDI3OwogfQorCit2b2lkIHZtY2JfaWRlbnQoc3RydWN0 IHZtY2IgKnZtY2IpCit7CisgICAgdTY0IHZtY2JfcGh5cyA9IHZpcnRfdG9fcGh5cyh2bWNiKTsK KyAgICBzdHJ1Y3Qgdm1jYl9zYXZlX2FyZWEgKnNhdmUgPSAmdm1jYi0+c2F2ZTsKKyAgICBzdHJ1 Y3Qgdm1jYl9jb250cm9sX2FyZWEgKmN0cmwgPSAmdm1jYi0+Y29udHJvbDsKKyAgICB1MzIgZGF0 YV9zZWdfYXR0ciA9IDMgfCBTVk1fU0VMRUNUT1JfU19NQVNLIHwgU1ZNX1NFTEVDVE9SX1BfTUFT SworICAgICAgICB8IFNWTV9TRUxFQ1RPUl9EQl9NQVNLIHwgU1ZNX1NFTEVDVE9SX0dfTUFTSzsK KyAgICB1MzIgY29kZV9zZWdfYXR0ciA9IDkgfCBTVk1fU0VMRUNUT1JfU19NQVNLIHwgU1ZNX1NF TEVDVE9SX1BfTUFTSworICAgICAgICB8IFNWTV9TRUxFQ1RPUl9MX01BU0sgfCBTVk1fU0VMRUNU T1JfR19NQVNLOworICAgIHN0cnVjdCBkZXNjcmlwdG9yX3RhYmxlX3B0ciBkZXNjX3RhYmxlX3B0 cjsKKworICAgIG1lbXNldCh2bWNiLCAwLCBzaXplb2YoKnZtY2IpKTsKKyAgICBhc20gdm9sYXRp bGUgKCJ2bXNhdmUgJTAiIDogOiAiYSIodm1jYl9waHlzKSA6ICJtZW1vcnkiKTsKKyAgICB2bWNi X3NldF9zZWcoJnNhdmUtPmVzLCByZWFkX2VzKCksIDAsIC0xVSwgZGF0YV9zZWdfYXR0cik7Cisg ICAgdm1jYl9zZXRfc2VnKCZzYXZlLT5jcywgcmVhZF9jcygpLCAwLCAtMVUsIGNvZGVfc2VnX2F0 dHIpOworICAgIHZtY2Jfc2V0X3NlZygmc2F2ZS0+c3MsIHJlYWRfc3MoKSwgMCwgLTFVLCBkYXRh X3NlZ19hdHRyKTsKKyAgICB2bWNiX3NldF9zZWcoJnNhdmUtPmRzLCByZWFkX2RzKCksIDAsIC0x VSwgZGF0YV9zZWdfYXR0cik7CisgICAgc2dkdCgmZGVzY190YWJsZV9wdHIpOworICAgIHZtY2Jf c2V0X3NlZygmc2F2ZS0+Z2R0ciwgMCwgZGVzY190YWJsZV9wdHIuYmFzZSwgZGVzY190YWJsZV9w dHIubGltaXQsIDApOworICAgIHNpZHQoJmRlc2NfdGFibGVfcHRyKTsKKyAgICB2bWNiX3NldF9z ZWcoJnNhdmUtPmlkdHIsIDAsIGRlc2NfdGFibGVfcHRyLmJhc2UsIGRlc2NfdGFibGVfcHRyLmxp bWl0LCAwKTsKKyAgICBjdHJsLT5hc2lkID0gMTsKKyAgICBzYXZlLT5jcGwgPSAwOworICAgIHNh dmUtPmVmZXIgPSByZG1zcihNU1JfRUZFUik7CisgICAgc2F2ZS0+Y3I0ID0gcmVhZF9jcjQoKTsK KyAgICBzYXZlLT5jcjMgPSByZWFkX2NyMygpOworICAgIHNhdmUtPmNyMCA9IHJlYWRfY3IwKCk7 CisgICAgc2F2ZS0+ZHI3ID0gcmVhZF9kcjcoKTsKKyAgICBzYXZlLT5kcjYgPSByZWFkX2RyNigp OworICAgIHNhdmUtPmNyMiA9IHJlYWRfY3IyKCk7CisgICAgc2F2ZS0+Z19wYXQgPSByZG1zcihN U1JfSUEzMl9DUl9QQVQpOworICAgIHNhdmUtPmRiZ2N0bCA9IHJkbXNyKE1TUl9JQTMyX0RFQlVH Q1RMTVNSKTsKKyAgICBjdHJsLT5pbnRlcmNlcHQgPSAoMVVMTCA8PCBJTlRFUkNFUFRfVk1SVU4p IHwKKyAgICAgICAgICAgICAgKDFVTEwgPDwgSU5URVJDRVBUX1ZNTUNBTEwpIHwKKyAgICAgICAg ICAgICAgKDFVTEwgPDwgSU5URVJDRVBUX1NIVVRET1dOKTsKKyAgICBjdHJsLT5pb3BtX2Jhc2Vf cGEgPSB2aXJ0X3RvX3BoeXMoc3ZtX2dldF9pb19iaXRtYXAoKSk7CisgICAgY3RybC0+bXNycG1f YmFzZV9wYSA9IHZpcnRfdG9fcGh5cyhzdm1fZ2V0X21zcl9iaXRtYXAoKSk7CisKKyAgICBpZiAo bnB0X3N1cHBvcnRlZCgpKSB7CisgICAgICAgIGN0cmwtPm5lc3RlZF9jdGwgPSAxOworICAgICAg ICBjdHJsLT5uZXN0ZWRfY3IzID0gKHU2NClucHRfZ2V0X3BtbDRlKCk7CisgICAgICAgIGN0cmwt PnRsYl9jdGwgPSBUTEJfQ09OVFJPTF9GTFVTSF9BTExfQVNJRDsKKyAgICB9Cit9CmRpZmYgLS1n aXQgYS9saWIveDg2L3N2bV9saWIuaCBiL2xpYi94ODYvc3ZtX2xpYi5oCmluZGV4IGY1ZTgzYjg1 Li42ZDlhODZhYSAxMDA2NDQKLS0tIGEvbGliL3g4Ni9zdm1fbGliLmgKKysrIGIvbGliL3g4Ni9z dm1fbGliLmgKQEAgLTU0LDcgKzU0LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjbGdpKHZvaWQp CiAgICAgYXNtIHZvbGF0aWxlICgiY2xnaSIpOwogfQogCit2b2lkIHZtY2Jfc2V0X3NlZyhzdHJ1 Y3Qgdm1jYl9zZWcgKnNlZywgdTE2IHNlbGVjdG9yLAorICAgICAgICAgICAgICAgICAgICAgICAg IHU2NCBiYXNlLCB1MzIgbGltaXQsIHUzMiBhdHRyKTsKKwogdm9pZCBzZXR1cF9zdm0odm9pZCk7 Cit2b2lkIHZtY2JfaWRlbnQoc3RydWN0IHZtY2IgKnZtY2IpOwogCiB1NjQgKm5wdF9nZXRfcHRl KHU2NCBhZGRyZXNzKTsKIHU2NCAqbnB0X2dldF9wZGUodTY0IGFkZHJlc3MpOwpkaWZmIC0tZ2l0 IGEveDg2L3N2bS5jIGIveDg2L3N2bS5jCmluZGV4IDIzZTY1MjYxLi43NGMzOTMxYiAxMDA2NDQK LS0tIGEveDg2L3N2bS5jCisrKyBiL3g4Ni9zdm0uYwpAQCAtNjQsMTUgKzY0LDYgQEAgdm9pZCBp bmNfdGVzdF9zdGFnZShzdHJ1Y3Qgc3ZtX3Rlc3QgKnRlc3QpCiAJYmFycmllcigpOwogfQogCi1z dGF0aWMgdm9pZCB2bWNiX3NldF9zZWcoc3RydWN0IHZtY2Jfc2VnICpzZWcsIHUxNiBzZWxlY3Rv ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1NjQgYmFzZSwgdTMyIGxpbWl0LCB1MzIgYXR0 cikKLXsKLQlzZWctPnNlbGVjdG9yID0gc2VsZWN0b3I7Ci0Jc2VnLT5hdHRyaWIgPSBhdHRyOwot CXNlZy0+bGltaXQgPSBsaW1pdDsKLQlzZWctPmJhc2UgPSBiYXNlOwotfQotCiBzdGF0aWMgdGVz dF9ndWVzdF9mdW5jIGd1ZXN0X21haW47CiAKIHZvaWQgdGVzdF9zZXRfZ3Vlc3QodGVzdF9ndWVz dF9mdW5jIGZ1bmMpCkBAIC04Niw1MSArNzcsNiBAQCBzdGF0aWMgdm9pZCB0ZXN0X3RodW5rKHN0 cnVjdCBzdm1fdGVzdCAqdGVzdCkKIAl2bW1jYWxsKCk7CiB9CiAKLXZvaWQgdm1jYl9pZGVudChz dHJ1Y3Qgdm1jYiAqdm1jYikKLXsKLQl1NjQgdm1jYl9waHlzID0gdmlydF90b19waHlzKHZtY2Ip OwotCXN0cnVjdCB2bWNiX3NhdmVfYXJlYSAqc2F2ZSA9ICZ2bWNiLT5zYXZlOwotCXN0cnVjdCB2 bWNiX2NvbnRyb2xfYXJlYSAqY3RybCA9ICZ2bWNiLT5jb250cm9sOwotCXUzMiBkYXRhX3NlZ19h dHRyID0gMyB8IFNWTV9TRUxFQ1RPUl9TX01BU0sgfCBTVk1fU0VMRUNUT1JfUF9NQVNLCi0JICAg IHwgU1ZNX1NFTEVDVE9SX0RCX01BU0sgfCBTVk1fU0VMRUNUT1JfR19NQVNLOwotCXUzMiBjb2Rl X3NlZ19hdHRyID0gOSB8IFNWTV9TRUxFQ1RPUl9TX01BU0sgfCBTVk1fU0VMRUNUT1JfUF9NQVNL Ci0JICAgIHwgU1ZNX1NFTEVDVE9SX0xfTUFTSyB8IFNWTV9TRUxFQ1RPUl9HX01BU0s7Ci0Jc3Ry dWN0IGRlc2NyaXB0b3JfdGFibGVfcHRyIGRlc2NfdGFibGVfcHRyOwotCi0JbWVtc2V0KHZtY2Is IDAsIHNpemVvZigqdm1jYikpOwotCWFzbSB2b2xhdGlsZSAoInZtc2F2ZSAlMCIgOiA6ICJhIih2 bWNiX3BoeXMpIDogIm1lbW9yeSIpOwotCXZtY2Jfc2V0X3NlZygmc2F2ZS0+ZXMsIHJlYWRfZXMo KSwgMCwgLTFVLCBkYXRhX3NlZ19hdHRyKTsKLQl2bWNiX3NldF9zZWcoJnNhdmUtPmNzLCByZWFk X2NzKCksIDAsIC0xVSwgY29kZV9zZWdfYXR0cik7Ci0Jdm1jYl9zZXRfc2VnKCZzYXZlLT5zcywg cmVhZF9zcygpLCAwLCAtMVUsIGRhdGFfc2VnX2F0dHIpOwotCXZtY2Jfc2V0X3NlZygmc2F2ZS0+ ZHMsIHJlYWRfZHMoKSwgMCwgLTFVLCBkYXRhX3NlZ19hdHRyKTsKLQlzZ2R0KCZkZXNjX3RhYmxl X3B0cik7Ci0Jdm1jYl9zZXRfc2VnKCZzYXZlLT5nZHRyLCAwLCBkZXNjX3RhYmxlX3B0ci5iYXNl LCBkZXNjX3RhYmxlX3B0ci5saW1pdCwgMCk7Ci0Jc2lkdCgmZGVzY190YWJsZV9wdHIpOwotCXZt Y2Jfc2V0X3NlZygmc2F2ZS0+aWR0ciwgMCwgZGVzY190YWJsZV9wdHIuYmFzZSwgZGVzY190YWJs ZV9wdHIubGltaXQsIDApOwotCWN0cmwtPmFzaWQgPSAxOwotCXNhdmUtPmNwbCA9IDA7Ci0Jc2F2 ZS0+ZWZlciA9IHJkbXNyKE1TUl9FRkVSKTsKLQlzYXZlLT5jcjQgPSByZWFkX2NyNCgpOwotCXNh dmUtPmNyMyA9IHJlYWRfY3IzKCk7Ci0Jc2F2ZS0+Y3IwID0gcmVhZF9jcjAoKTsKLQlzYXZlLT5k cjcgPSByZWFkX2RyNygpOwotCXNhdmUtPmRyNiA9IHJlYWRfZHI2KCk7Ci0Jc2F2ZS0+Y3IyID0g cmVhZF9jcjIoKTsKLQlzYXZlLT5nX3BhdCA9IHJkbXNyKE1TUl9JQTMyX0NSX1BBVCk7Ci0Jc2F2 ZS0+ZGJnY3RsID0gcmRtc3IoTVNSX0lBMzJfREVCVUdDVExNU1IpOwotCWN0cmwtPmludGVyY2Vw dCA9ICgxVUxMIDw8IElOVEVSQ0VQVF9WTVJVTikgfAotCQkJICAoMVVMTCA8PCBJTlRFUkNFUFRf Vk1NQ0FMTCkgfAotCQkJICAoMVVMTCA8PCBJTlRFUkNFUFRfU0hVVERPV04pOwotCWN0cmwtPmlv cG1fYmFzZV9wYSA9IHZpcnRfdG9fcGh5cyhzdm1fZ2V0X2lvX2JpdG1hcCgpKTsKLQljdHJsLT5t c3JwbV9iYXNlX3BhID0gdmlydF90b19waHlzKHN2bV9nZXRfbXNyX2JpdG1hcCgpKTsKLQotCWlm IChucHRfc3VwcG9ydGVkKCkpIHsKLQkJY3RybC0+bmVzdGVkX2N0bCA9IDE7Ci0JCWN0cmwtPm5l c3RlZF9jcjMgPSAodTY0KW5wdF9nZXRfcG1sNGUoKTsKLQkJY3RybC0+dGxiX2N0bCA9IFRMQl9D T05UUk9MX0ZMVVNIX0FMTF9BU0lEOwotCX0KLX0KLQogc3RydWN0IHJlZ3MgcmVnczsKIAogc3Ry dWN0IHJlZ3MgZ2V0X3JlZ3Modm9pZCkKZGlmZiAtLWdpdCBhL3g4Ni9zdm0uaCBiL3g4Ni9zdm0u aAppbmRleCA3ZmVjYjQyOS4uNGM2MDk3OTUgMTAwNjQ0Ci0tLSBhL3g4Ni9zdm0uaAorKysgYi94 ODYvc3ZtLmgKQEAgLTUzLDcgKzUzLDYgQEAgYm9vbCBkZWZhdWx0X2ZpbmlzaGVkKHN0cnVjdCBz dm1fdGVzdCAqdGVzdCk7CiBpbnQgZ2V0X3Rlc3Rfc3RhZ2Uoc3RydWN0IHN2bV90ZXN0ICp0ZXN0 KTsKIHZvaWQgc2V0X3Rlc3Rfc3RhZ2Uoc3RydWN0IHN2bV90ZXN0ICp0ZXN0LCBpbnQgcyk7CiB2 b2lkIGluY190ZXN0X3N0YWdlKHN0cnVjdCBzdm1fdGVzdCAqdGVzdCk7Ci12b2lkIHZtY2JfaWRl bnQoc3RydWN0IHZtY2IgKnZtY2IpOwogc3RydWN0IHJlZ3MgZ2V0X3JlZ3Modm9pZCk7CiBpbnQg X19zdm1fdm1ydW4odTY0IHJpcCk7CiB2b2lkIF9fc3ZtX2JhcmVfdm1ydW4odm9pZCk7Ci0tIAoy LjI2LjMKCg== --=-xYVjuuStPq3m473+k+4L Content-Disposition: attachment; filename="0006-svm-move-svm-entry-macros-to-svm_lib.h.patch" Content-Type: text/x-patch; name="0006-svm-move-svm-entry-macros-to-svm_lib.h.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBmMDZlYmYyMGNkMDExNWJlMzNjMzhjZTg4N2VmNmQyOGFkNTYyMTgzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBMZXZpdHNreSA8bWxldml0c2tAcmVkaGF0LmNvbT4K RGF0ZTogU3VuLCAzIEFwciAyMDIyIDEwOjQ2OjQzICswMzAwClN1YmplY3Q6IFtQQVRDSCA2Lzdd IHN2bTogbW92ZSBzdm0gZW50cnkgbWFjcm9zIHRvIHN2bV9saWIuaAoKLS0tCiBsaWIveDg2L3N2 bV9saWIuaCB8IDY4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogeDg2L3N2bS5jICAgICAgICAgfCAyMiArKysrKystLS0tLS0tLS0KIHg4Ni9zdm0uaCAgICAg ICAgIHwgNzEgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IHg4Ni9zdm1fdGVzdHMuYyAgIHwgIDkgKysrLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDg1IGluc2Vy dGlvbnMoKyksIDg1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi94ODYvc3ZtX2xpYi5o IGIvbGliL3g4Ni9zdm1fbGliLmgKaW5kZXggNmQ5YTg2YWEuLmY2ODJjNjc5IDEwMDY0NAotLS0g YS9saWIveDg2L3N2bV9saWIuaAorKysgYi9saWIveDg2L3N2bV9saWIuaApAQCAtNzEsNCArNzEs NzIgQEAgdTgqIHN2bV9nZXRfaW9fYml0bWFwKHZvaWQpOwogI2RlZmluZSBNU1JfQklUTUFQX1NJ WkUgODE5MgogCiAKK3N0cnVjdCB4ODZfZ3ByX3JlZ3MKK3sKKyAgICB1NjQgcmF4OworICAgIHU2 NCByYng7CisgICAgdTY0IHJjeDsKKyAgICB1NjQgcmR4OworICAgIHU2NCBjcjI7CisgICAgdTY0 IHJicDsKKyAgICB1NjQgcnNpOworICAgIHU2NCByZGk7CisKKyAgICB1NjQgcjg7CisgICAgdTY0 IHI5OworICAgIHU2NCByMTA7CisgICAgdTY0IHIxMTsKKyAgICB1NjQgcjEyOworICAgIHU2NCBy MTM7CisgICAgdTY0IHIxNDsKKyAgICB1NjQgcjE1OworICAgIHU2NCByZmxhZ3M7Cit9OworCisj ZGVmaW5lIFNBVkVfR1BSX0MocmVncykgXAorCQkieGNoZyAlJXJieCwgJXBbIiAjcmVncyAiXSsw eDhcblx0IiAgICAgICAgICAgICAgXAorCQkieGNoZyAlJXJjeCwgJXBbIiAjcmVncyAiXSsweDEw XG5cdCIgICAgICAgICAgICAgXAorCQkieGNoZyAlJXJkeCwgJXBbIiAjcmVncyAiXSsweDE4XG5c dCIgICAgICAgICAgICAgXAorCQkieGNoZyAlJXJicCwgJXBbIiAjcmVncyAiXSsweDI4XG5cdCIg ICAgICAgICAgICAgXAorCQkieGNoZyAlJXJzaSwgJXBbIiAjcmVncyAiXSsweDMwXG5cdCIgICAg ICAgICAgICAgXAorCQkieGNoZyAlJXJkaSwgJXBbIiAjcmVncyAiXSsweDM4XG5cdCIgICAgICAg ICAgICAgXAorCQkieGNoZyAlJXI4LCAgJXBbIiAjcmVncyAiXSsweDQwXG5cdCIgICAgICAgICAg ICAgXAorCQkieGNoZyAlJXI5LCAgJXBbIiAjcmVncyAiXSsweDQ4XG5cdCIgICAgICAgICAgICAg XAorCQkieGNoZyAlJXIxMCwgJXBbIiAjcmVncyAiXSsweDUwXG5cdCIgICAgICAgICAgICAgXAor CQkieGNoZyAlJXIxMSwgJXBbIiAjcmVncyAiXSsweDU4XG5cdCIgICAgICAgICAgICAgXAorCQki eGNoZyAlJXIxMiwgJXBbIiAjcmVncyAiXSsweDYwXG5cdCIgICAgICAgICAgICAgXAorCQkieGNo ZyAlJXIxMywgJXBbIiAjcmVncyAiXSsweDY4XG5cdCIgICAgICAgICAgICAgXAorCQkieGNoZyAl JXIxNCwgJXBbIiAjcmVncyAiXSsweDcwXG5cdCIgICAgICAgICAgICAgXAorCQkieGNoZyAlJXIx NSwgJXBbIiAjcmVncyAiXSsweDc4XG5cdCIgICAgICAgICAgICAgXAorCisjZGVmaW5lIExPQURf R1BSX0MocmVncykgICAgICBTQVZFX0dQUl9DKHJlZ3MpCisKKyNkZWZpbmUgQVNNX1BSRV9WTVJV Tl9DTUQocmVncykgICAgICAgICAgICAgXAorICAgICAgICAidm1sb2FkICUlcmF4XG5cdCIgICAg ICAgICAgICAgICAgICBcCisgICAgICAgICJtb3YgJXBbIiAjcmVncyAiXSsweDgwLCAlJXIxNVxu XHQiIFwKKyAgICAgICAgIm1vdiAlJXIxNSwgMHgxNzAoJSVyYXgpXG5cdCIgICAgICAgXAorICAg ICAgICAibW92ICVwWyIgI3JlZ3MgIl0sICUlcjE1XG5cdCIgICAgICBcCisgICAgICAgICJtb3Yg JSVyMTUsIDB4MWY4KCUlcmF4KVxuXHQiICAgICAgIFwKKyAgICAgICAgTE9BRF9HUFJfQyhyZWdz KSAgICAgICAgICAgICAgICAgICAgXAorCisjZGVmaW5lIEFTTV9QT1NUX1ZNUlVOX0NNRChyZWdz KSAgICAgICAgICAgIFwKKyAgICAgICAgU0FWRV9HUFJfQyhyZWdzKSAgICAgICAgICAgICAgICAg ICAgXAorICAgICAgICAibW92IDB4MTcwKCUlcmF4KSwgJSVyMTVcblx0IiAgICAgICBcCisgICAg ICAgICJtb3YgJSVyMTUsICVwW3JlZ3NdKzB4ODBcblx0IiAgICAgIFwKKyAgICAgICAgIm1vdiAw eDFmOCglJXJheCksICUlcjE1XG5cdCIgICAgICAgXAorICAgICAgICAibW92ICUlcjE1LCAlcFty ZWdzXVxuXHQiICAgICAgICAgICBcCisgICAgICAgICJ2bXNhdmUgJSVyYXhcblx0IiAgICAgICAg ICAgICAgICAgIFwKKworCisjZGVmaW5lIFNWTV9CQVJFX1ZNUlVOKHZtY2IsIHJlZ3MpIFwKKwlh c20gdm9sYXRpbGUgKCAgICAgICAgICAgICAgICAgICAgXAorCQlBU01fUFJFX1ZNUlVOX0NNRChy ZWdzKSAgICAgICBcCisgICAgICAgICAgICAgICAgInZtcnVuICUlcmF4XG5cdCIgICAgIFwKKwkJ QVNNX1BPU1RfVk1SVU5fQ01EKHJlZ3MpICAgICAgXAorCQk6ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCisJCTogImEiICh2aXJ0X3RvX3BoeXModm1jYikpLCAgICBcCisJCSAgW3JlZ3Nd ICJpIiAoJnJlZ3MpIFwKKwkJOiAibWVtb3J5IiwgInIxNSIpCisKKwogI2VuZGlmIC8qIFNSQ19M SUJfWDg2X1NWTV9MSUJfSF8gKi8KZGlmZiAtLWdpdCBhL3g4Ni9zdm0uYyBiL3g4Ni9zdm0uYwpp bmRleCA3NGMzOTMxYi4uYjJkYmVmNzUgMTAwNjQ0Ci0tLSBhL3g4Ni9zdm0uYworKysgYi94ODYv c3ZtLmMKQEAgLTc3LDkgKzc3LDkgQEAgc3RhdGljIHZvaWQgdGVzdF90aHVuayhzdHJ1Y3Qgc3Zt X3Rlc3QgKnRlc3QpCiAJdm1tY2FsbCgpOwogfQogCi1zdHJ1Y3QgcmVncyByZWdzOworc3RydWN0 IHg4Nl9ncHJfcmVncyByZWdzOwogCi1zdHJ1Y3QgcmVncyBnZXRfcmVncyh2b2lkKQorc3RydWN0 IHg4Nl9ncHJfcmVncyBnZXRfcmVncyh2b2lkKQogewogCXJldHVybiByZWdzOwogfQpAQCAtOTgs MTMgKzk4LDcgQEAgaW50IF9fc3ZtX3ZtcnVuKHU2NCByaXApCiAJdm1jYi0+c2F2ZS5yc3AgPSAo dWxvbmcpKGd1ZXN0X3N0YWNrICsgQVJSQVlfU0laRShndWVzdF9zdGFjaykpOwogCXJlZ3MucmRp ID0gKHVsb25nKXYyX3Rlc3Q7CiAKLQlhc20gdm9sYXRpbGUgKAotCQlBU01fUFJFX1ZNUlVOX0NN RAotICAgICAgICAgICAgICAgICJ2bXJ1biAlJXJheFxuXHQiICAgICAgICAgICAgICAgXAotCQlB U01fUE9TVF9WTVJVTl9DTUQKLQkJOgotCQk6ICJhIiAodmlydF90b19waHlzKHZtY2IpKQotCQk6 ICJtZW1vcnkiLCAicjE1Iik7CisJU1ZNX0JBUkVfVk1SVU4odm1jYiwgcmVncyk7CiAKIAlyZXR1 cm4gKHZtY2ItPmNvbnRyb2wuZXhpdF9jb2RlKTsKIH0KQEAgLTExOCw2ICsxMTIsNyBAQCBleHRl cm4gdTggdm1ydW5fcmlwOwogCiBzdGF0aWMgbm9pbmxpbmUgdm9pZCB0ZXN0X3J1bihzdHJ1Y3Qg c3ZtX3Rlc3QgKnRlc3QpCiB7CisKIAl1NjQgdm1jYl9waHlzID0gdmlydF90b19waHlzKHZtY2Ip OwogCiAJaXJxX2Rpc2FibGUoKTsKQEAgLTEzNiwxOCArMTMxLDE5IEBAIHN0YXRpYyBub2lubGlu ZSB2b2lkIHRlc3RfcnVuKHN0cnVjdCBzdm1fdGVzdCAqdGVzdCkKIAkJCSJzdGkgXG5cdCIKIAkJ CSJjYWxsIColY1tQUkVQQVJFX0dJRl9DTEVBUl0oJVt0ZXN0XSkgXG4gXHQiCiAJCQkibW92ICVb dm1jYl9waHlzXSwgJSVyYXggXG5cdCIKLQkJCUFTTV9QUkVfVk1SVU5fQ01ECisJCQlBU01fUFJF X1ZNUlVOX0NNRChyZWdzKQogCQkJIi5nbG9iYWwgdm1ydW5fcmlwXG5cdCIJCVwKIAkJCSJ2bXJ1 bl9yaXA6IHZtcnVuICUlcmF4XG5cdCIgICAgXAotCQkJQVNNX1BPU1RfVk1SVU5fQ01ECisJCQlB U01fUE9TVF9WTVJVTl9DTUQocmVncykKIAkJCSJjbGkgXG5cdCIKIAkJCSJzdGdpIgogCQkJOiAv LyBpbnB1dHMgY2xvYmJlcmVkIGJ5IHRoZSBndWVzdDoKIAkJCSI9RCIgKHRoZV90ZXN0KSwgICAg ICAgICAgICAvLyBmaXJzdCBhcmd1bWVudCByZWdpc3RlcgogCQkJIj1iIiAodGhlX3ZtY2IpICAg ICAgICAgICAgIC8vIGNhbGxlZSBzYXZlIHJlZ2lzdGVyIQogCQkJOiBbdGVzdF0gIjAiICh0aGVf dGVzdCksCi0JCQlbdm1jYl9waHlzXSAiMSIodGhlX3ZtY2IpLAotCQkJW1BSRVBBUkVfR0lGX0NM RUFSXSAiaSIgKG9mZnNldG9mKHN0cnVjdCBzdm1fdGVzdCwgcHJlcGFyZV9naWZfY2xlYXIpKQor CQkJICBbdm1jYl9waHlzXSAiMSIodGhlX3ZtY2IpLAorCQkJICBbUFJFUEFSRV9HSUZfQ0xFQVJd ICJpIiAob2Zmc2V0b2Yoc3RydWN0IHN2bV90ZXN0LCBwcmVwYXJlX2dpZl9jbGVhcikpLAorCQkJ ICBbcmVnc10gImkiKCZyZWdzKQogCQkJOiAicmF4IiwgInJjeCIsICJyZHgiLCAicnNpIiwKIAkJ CSJyOCIsICJyOSIsICJyMTAiLCAicjExIiAsICJyMTIiLCAicjEzIiwgInIxNCIsICJyMTUiLAog CQkJIm1lbW9yeSIpOwpkaWZmIC0tZ2l0IGEveDg2L3N2bS5oIGIveDg2L3N2bS5oCmluZGV4IDRj NjA5Nzk1Li43Y2MzYjY5MCAxMDA2NDQKLS0tIGEveDg2L3N2bS5oCisrKyBiL3g4Ni9zdm0uaApA QCAtMjMsMjggKzIzLDEwIEBAIHN0cnVjdCBzdm1fdGVzdCB7CiAJYm9vbCBvbl92Y3B1X2RvbmU7 CiB9OwogCi1zdHJ1Y3QgcmVncyB7Ci0JdTY0IHJheDsKLQl1NjQgcmJ4OwotCXU2NCByY3g7Ci0J dTY0IHJkeDsKLQl1NjQgY3IyOwotCXU2NCByYnA7Ci0JdTY0IHJzaTsKLQl1NjQgcmRpOwotCXU2 NCByODsKLQl1NjQgcjk7Ci0JdTY0IHIxMDsKLQl1NjQgcjExOwotCXU2NCByMTI7Ci0JdTY0IHIx MzsKLQl1NjQgcjE0OwotCXU2NCByMTU7Ci0JdTY0IHJmbGFnczsKLX07Ci0KIHR5cGVkZWYgdm9p ZCAoKnRlc3RfZ3Vlc3RfZnVuYykoc3RydWN0IHN2bV90ZXN0ICopOwogCitleHRlcm4gc3RydWN0 IHg4Nl9ncHJfcmVncyByZWdzOworCiBib29sIHNtcF9zdXBwb3J0ZWQodm9pZCk7CiBib29sIGRl ZmF1bHRfc3VwcG9ydGVkKHZvaWQpOwogdm9pZCBkZWZhdWx0X3ByZXBhcmUoc3RydWN0IHN2bV90 ZXN0ICp0ZXN0KTsKQEAgLTUzLDcgKzM1LDcgQEAgYm9vbCBkZWZhdWx0X2ZpbmlzaGVkKHN0cnVj dCBzdm1fdGVzdCAqdGVzdCk7CiBpbnQgZ2V0X3Rlc3Rfc3RhZ2Uoc3RydWN0IHN2bV90ZXN0ICp0 ZXN0KTsKIHZvaWQgc2V0X3Rlc3Rfc3RhZ2Uoc3RydWN0IHN2bV90ZXN0ICp0ZXN0LCBpbnQgcyk7 CiB2b2lkIGluY190ZXN0X3N0YWdlKHN0cnVjdCBzdm1fdGVzdCAqdGVzdCk7Ci1zdHJ1Y3QgcmVn cyBnZXRfcmVncyh2b2lkKTsKK3N0cnVjdCB4ODZfZ3ByX3JlZ3MgZ2V0X3JlZ3Modm9pZCk7CiBp bnQgX19zdm1fdm1ydW4odTY0IHJpcCk7CiB2b2lkIF9fc3ZtX2JhcmVfdm1ydW4odm9pZCk7CiBp bnQgc3ZtX3ZtcnVuKHZvaWQpOwpAQCAtNjEsNTEgKzQzLDQgQEAgdm9pZCB0ZXN0X3NldF9ndWVz dCh0ZXN0X2d1ZXN0X2Z1bmMgZnVuYyk7CiAKIGV4dGVybiBzdHJ1Y3Qgdm1jYiAqdm1jYjsKIGV4 dGVybiBzdHJ1Y3Qgc3ZtX3Rlc3Qgc3ZtX3Rlc3RzW107Ci0KLQotI2RlZmluZSBTQVZFX0dQUl9D ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAieGNoZyAlJXJieCwgcmVn cysweDhcblx0IiAgICAgICAgICAgICAgXAotICAgICAgICAieGNoZyAlJXJjeCwgcmVncysweDEw XG5cdCIgICAgICAgICAgICAgXAotICAgICAgICAieGNoZyAlJXJkeCwgcmVncysweDE4XG5cdCIg ICAgICAgICAgICAgXAotICAgICAgICAieGNoZyAlJXJicCwgcmVncysweDI4XG5cdCIgICAgICAg ICAgICAgXAotICAgICAgICAieGNoZyAlJXJzaSwgcmVncysweDMwXG5cdCIgICAgICAgICAgICAg XAotICAgICAgICAieGNoZyAlJXJkaSwgcmVncysweDM4XG5cdCIgICAgICAgICAgICAgXAotICAg ICAgICAieGNoZyAlJXI4LCByZWdzKzB4NDBcblx0IiAgICAgICAgICAgICAgXAotICAgICAgICAi eGNoZyAlJXI5LCByZWdzKzB4NDhcblx0IiAgICAgICAgICAgICAgXAotICAgICAgICAieGNoZyAl JXIxMCwgcmVncysweDUwXG5cdCIgICAgICAgICAgICAgXAotICAgICAgICAieGNoZyAlJXIxMSwg cmVncysweDU4XG5cdCIgICAgICAgICAgICAgXAotICAgICAgICAieGNoZyAlJXIxMiwgcmVncysw eDYwXG5cdCIgICAgICAgICAgICAgXAotICAgICAgICAieGNoZyAlJXIxMywgcmVncysweDY4XG5c dCIgICAgICAgICAgICAgXAotICAgICAgICAieGNoZyAlJXIxNCwgcmVncysweDcwXG5cdCIgICAg ICAgICAgICAgXAotICAgICAgICAieGNoZyAlJXIxNSwgcmVncysweDc4XG5cdCIKLQotI2RlZmlu ZSBMT0FEX0dQUl9DICAgICAgU0FWRV9HUFJfQwotCi0jZGVmaW5lIEFTTV9QUkVfVk1SVU5fQ01E ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgInZtbG9hZCAlJXJheFxu XHQiICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgIm1vdiByZWdzKzB4ODAsICUlcjE1 XG5cdCIgICAgICBcCi0gICAgICAgICAgICAgICAgIm1vdiAlJXIxNSwgMHgxNzAoJSVyYXgpXG5c dCIgICBcCi0gICAgICAgICAgICAgICAgIm1vdiByZWdzLCAlJXIxNVxuXHQiICAgICAgICAgICBc Ci0gICAgICAgICAgICAgICAgIm1vdiAlJXIxNSwgMHgxZjgoJSVyYXgpXG5cdCIgICBcCi0gICAg ICAgICAgICAgICAgTE9BRF9HUFJfQyAgICAgICAgICAgICAgICAgICAgICBcCi0KLSNkZWZpbmUg QVNNX1BPU1RfVk1SVU5fQ01EICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg ICBTQVZFX0dQUl9DICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAibW92 IDB4MTcwKCUlcmF4KSwgJSVyMTVcblx0IiAgIFwKLSAgICAgICAgICAgICAgICAibW92ICUlcjE1 LCByZWdzKzB4ODBcblx0IiAgICAgIFwKLSAgICAgICAgICAgICAgICAibW92IDB4MWY4KCUlcmF4 KSwgJSVyMTVcblx0IiAgIFwKLSAgICAgICAgICAgICAgICAibW92ICUlcjE1LCByZWdzXG5cdCIg ICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAidm1zYXZlICUlcmF4XG5cdCIgICAgICAgICAg ICAgIFwKLQotCi0KLSNkZWZpbmUgU1ZNX0JBUkVfVk1SVU4gXAotCWFzbSB2b2xhdGlsZSAoIFwK LQkJQVNNX1BSRV9WTVJVTl9DTUQgXAotICAgICAgICAgICAgICAgICJ2bXJ1biAlJXJheFxuXHQi ICAgICAgICAgICAgICAgXAotCQlBU01fUE9TVF9WTVJVTl9DTUQgXAotCQk6IFwKLQkJOiAiYSIg KHZpcnRfdG9fcGh5cyh2bWNiKSkgXAotCQk6ICJtZW1vcnkiLCAicjE1IikgXAotCiAjZW5kaWYK ZGlmZiAtLWdpdCBhL3g4Ni9zdm1fdGVzdHMuYyBiL3g4Ni9zdm1fdGVzdHMuYwppbmRleCAwN2Fj MDFmZi4uY2I0N2ZiMDIgMTAwNjQ0Ci0tLSBhL3g4Ni9zdm1fdGVzdHMuYworKysgYi94ODYvc3Zt X3Rlc3RzLmMKQEAgLTMxNDcsNiArMzE0Nyw3IEBAIGludG86CiBzdGF0aWMgdm9pZCBzdm1faW50 b190ZXN0KHZvaWQpCiB7CiAgICAgaGFuZGxlX2V4Y2VwdGlvbihPRl9WRUNUT1IsIGd1ZXN0X3Rl c3Rfb2ZfaGFuZGxlcik7CisKICAgICB0ZXN0X3NldF9ndWVzdChzdm1fb2ZfdGVzdF9ndWVzdCk7 CiAgICAgcmVwb3J0KHN2bV92bXJ1bigpID09IFNWTV9FWElUX1ZNTUNBTEwgJiYgb2ZfdGVzdF9j b3VudGVyID09IDEsCiAgICAgICAgICIjT0YgaXMgZ2VuZXJhdGVkIGluIEwyIGV4Y2VwdGlvbiBo YW5kbGVyMCIpOwpAQCAtMzM1MSw3ICszMzUyLDcgQEAgc3RhdGljIHZvaWQgc3ZtX2xicnZfdGVz dDEodm9pZCkKIAogCXdybXNyKE1TUl9JQTMyX0RFQlVHQ1RMTVNSLCBERUJVR0NUTE1TUl9MQlIp OwogCURPX0JSQU5DSChob3N0X2JyYW5jaDEpOwotCVNWTV9CQVJFX1ZNUlVOOworCVNWTV9CQVJF X1ZNUlVOKHZtY2IscmVncyk7CiAJZGJnY3RsID0gcmRtc3IoTVNSX0lBMzJfREVCVUdDVExNU1Ip OwogCiAJaWYgKHZtY2ItPmNvbnRyb2wuZXhpdF9jb2RlICE9IFNWTV9FWElUX1ZNTUNBTEwpIHsK QEAgLTMzNzQsNyArMzM3NSw3IEBAIHN0YXRpYyB2b2lkIHN2bV9sYnJ2X3Rlc3QyKHZvaWQpCiAJ d3Jtc3IoTVNSX0lBMzJfREVCVUdDVExNU1IsIERFQlVHQ1RMTVNSX0xCUik7CiAJRE9fQlJBTkNI KGhvc3RfYnJhbmNoMik7CiAJd3Jtc3IoTVNSX0lBMzJfREVCVUdDVExNU1IsIDApOwotCVNWTV9C QVJFX1ZNUlVOOworCVNWTV9CQVJFX1ZNUlVOKHZtY2IscmVncyk7CiAJZGJnY3RsID0gcmRtc3Io TVNSX0lBMzJfREVCVUdDVExNU1IpOwogCXdybXNyKE1TUl9JQTMyX0RFQlVHQ1RMTVNSLCAwKTsK IApAQCAtMzQwMiw3ICszNDAzLDcgQEAgc3RhdGljIHZvaWQgc3ZtX2xicnZfbmVzdGVkX3Rlc3Qx KHZvaWQpCiAKIAl3cm1zcihNU1JfSUEzMl9ERUJVR0NUTE1TUiwgREVCVUdDVExNU1JfTEJSKTsK IAlET19CUkFOQ0goaG9zdF9icmFuY2gzKTsKLQlTVk1fQkFSRV9WTVJVTjsKKwlTVk1fQkFSRV9W TVJVTih2bWNiLHJlZ3MpOwogCWRiZ2N0bCA9IHJkbXNyKE1TUl9JQTMyX0RFQlVHQ1RMTVNSKTsK IAl3cm1zcihNU1JfSUEzMl9ERUJVR0NUTE1TUiwgMCk7CiAKQEAgLTM0MzcsNyArMzQzOCw3IEBA IHN0YXRpYyB2b2lkIHN2bV9sYnJ2X25lc3RlZF90ZXN0Mih2b2lkKQogCiAJd3Jtc3IoTVNSX0lB MzJfREVCVUdDVExNU1IsIERFQlVHQ1RMTVNSX0xCUik7CiAJRE9fQlJBTkNIKGhvc3RfYnJhbmNo NCk7Ci0JU1ZNX0JBUkVfVk1SVU47CisJU1ZNX0JBUkVfVk1SVU4odm1jYixyZWdzKTsKIAlkYmdj dGwgPSByZG1zcihNU1JfSUEzMl9ERUJVR0NUTE1TUik7CiAJd3Jtc3IoTVNSX0lBMzJfREVCVUdD VExNU1IsIDApOwogCi0tIAoyLjI2LjMKCg== --=-xYVjuuStPq3m473+k+4L Content-Disposition: attachment; filename="0007-add-unit-test-for-avic-ipi.patch" Content-Type: text/x-patch; name="0007-add-unit-test-for-avic-ipi.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBkNWFjZmJjMzkzOTlkNDcyN2VhYWZjYmUwZDllYWJlZGI1NGQ3NmE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBMZXZpdHNreSA8bWxldml0c2tAcmVkaGF0LmNvbT4K RGF0ZTogVHVlLCAzMCBOb3YgMjAyMSAxMzo1Njo1NyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNy83 XSBhZGQgdW5pdCB0ZXN0IGZvciBhdmljIGlwaQoKU2lnbmVkLW9mZi1ieTogTWF4aW0gTGV2aXRz a3kgPG1sZXZpdHNrQHJlZGhhdC5jb20+Ci0tLQogeDg2L01ha2VmaWxlLmNvbW1vbiB8ICAgNCAr LQogeDg2L2lwaV9zdHJlc3MuYyAgICB8IDI1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogeDg2L3VuaXR0ZXN0cy5jZmcgICB8ICAgNSArCiAzIGZpbGVzIGNo YW5nZWQsIDI2MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgeDg2L2lwaV9zdHJlc3MuYwoKZGlmZiAtLWdpdCBhL3g4Ni9NYWtlZmlsZS5jb21tb24gYi94 ODYvTWFrZWZpbGUuY29tbW9uCmluZGV4IGI5MDM5ODgyLi4yMWM2YWYxNSAxMDA2NDQKLS0tIGEv eDg2L01ha2VmaWxlLmNvbW1vbgorKysgYi94ODYvTWFrZWZpbGUuY29tbW9uCkBAIC04NCw3ICs4 NCw5IEBAIHRlc3RzLWNvbW1vbiA9ICQoVEVTVF9ESVIpL3ZtZXhpdC4kKGV4ZSkgJChURVNUX0RJ UikvdHNjLiQoZXhlKSBcCiAgICAgICAgICAgICAgICAkKFRFU1RfRElSKS90c3gtY3RybC4kKGV4 ZSkgXAogICAgICAgICAgICAgICAgJChURVNUX0RJUikvZXZlbnRpbmouJChleGUpIFwKICAgICAg ICAgICAgICAgICQoVEVTVF9ESVIpL3NtYXAuJChleGUpIFwKLSAgICAgICAgICAgICAgICQoVEVT VF9ESVIpL3VtaXAuJChleGUpCisgICAgICAgICAgICAgICAkKFRFU1RfRElSKS91bWlwLiQoZXhl KSBcCisgICAgICAgICAgICAgICAkKFRFU1RfRElSKS9pcGlfc3RyZXNzLiQoZXhlKQorICAgICAg ICAgICAgICAgCiAKICMgVGhlIGZvbGxvd2luZyB0ZXN0IGNhc2VzIGFyZSBkaXNhYmxlZCB3aGVu IGJ1aWxkaW5nIEVGSSB0ZXN0cyBiZWNhdXNlIHRoZXkKICMgdXNlIGFic29sdXRlIGFkZHJlc3Nl cyBpbiB0aGVpciBpbmxpbmUgYXNzZW1ibHkgY29kZSwgd2hpY2ggY2Fubm90IGNvbXBpbGUKZGlm ZiAtLWdpdCBhL3g4Ni9pcGlfc3RyZXNzLmMgYi94ODYvaXBpX3N0cmVzcy5jCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi45NTBjMjQzOQotLS0gL2Rldi9udWxsCisrKyBiL3g4 Ni9pcGlfc3RyZXNzLmMKQEAgLTAsMCArMSwyNTIgQEAKKyNpbmNsdWRlICJsaWJjZmxhdC5oIgor I2luY2x1ZGUgInNtcC5oIgorI2luY2x1ZGUgImFsbG9jLmgiCisjaW5jbHVkZSAiYXBpYy5oIgor I2luY2x1ZGUgInByb2Nlc3Nvci5oIgorI2luY2x1ZGUgImlzci5oIgorI2luY2x1ZGUgImFzbS9i YXJyaWVyLmgiCisjaW5jbHVkZSAiZGVsYXkuaCIKKyNpbmNsdWRlICJzdm0uaCIKKyNpbmNsdWRl ICJkZXNjLmgiCisjaW5jbHVkZSAibXNyLmgiCisjaW5jbHVkZSAidm0uaCIKKyNpbmNsdWRlICJ0 eXBlcy5oIgorI2luY2x1ZGUgImFsbG9jX3BhZ2UuaCIKKyNpbmNsdWRlICJ2bWFsbG9jLmgiCisj aW5jbHVkZSAic3ZtX2xpYi5oIgorCit1NjQgbnVtX2l0ZXJhdGlvbnMgPSAtMTsKK3N0cnVjdCB4 ODZfZ3ByX3JlZ3MgcmVnczsKK3U2NCBndWVzdF9zdGFja1sxMDAwMF07CitzdHJ1Y3Qgdm1jYiAq dm1jYjsKKwordm9sYXRpbGUgdTY0ICppc3JfY291bnRzOworYm9vbCB1c2Vfc3ZtOworaW50IGhs dF9hbGxvd2VkID0gLTE7CisKKworc3RhdGljIGludCBnZXRfcmFuZG9tKGludCBtaW4sIGludCBt YXgpCit7CisJLyogVE9ETyA6IHVzZSByZHJhbmQgdG8gc2VlZCBhbiBQUk5HIGluc3RlYWQgKi8K Kwl1NjQgcmFuZG9tX3ZhbHVlID0gcmR0c2MoKSA+PiA0OworCisJcmV0dXJuIG1pbiArIHJhbmRv bV92YWx1ZSAlIChtYXggLSBtaW4gKyAxKTsKK30KKworc3RhdGljIHZvaWQgaXBpX2ludGVycnVw dF9oYW5kbGVyKGlzcl9yZWdzX3QgKnIpCit7CisJaXNyX2NvdW50c1tzbXBfaWQoKV0rKzsKKwll b2koKTsKK30KKworc3RhdGljIHZvaWQgd2FpdF9mb3JfaXBpKHZvbGF0aWxlIHU2NCAqY291bnQp Cit7CisJdTY0IG9sZF9jb3VudCA9ICpjb3VudDsKKwlib29sIHVzZV9oYWx0OworCisJc3dpdGNo IChobHRfYWxsb3dlZCkgeworCWNhc2UgLTE6CisJCXVzZV9oYWx0ID0gZ2V0X3JhbmRvbSgwLDEw MDAwKSA9PSAwOworCQlicmVhazsKKwljYXNlIDA6CisJCXVzZV9oYWx0ID0gZmFsc2U7CisJCWJy ZWFrOworCWNhc2UgMToKKwkJdXNlX2hhbHQgPSB0cnVlOworCQlicmVhazsKKwlkZWZhdWx0Ogor CQl1c2VfaGFsdCA9IGZhbHNlOworCQlicmVhazsKKwl9CisKKwlkbyB7CisJCWlmICh1c2VfaGFs dCkKKwkJCWFzbSB2b2xhdGlsZSAoInN0aTtobHQ7Y2xpXG4iKTsKKwkJZWxzZQorCQkJYXNtIHZv bGF0aWxlICgic3RpO25vcDtjbGkiKTsKKworCX0gd2hpbGUgKG9sZF9jb3VudCA9PSAqY291bnQp OworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwor CisjaWZkZWYgX194ODZfNjRfXworc3RhdGljIHZvaWQgbDJfZ3Vlc3Rfd2FpdF9mb3JfaXBpKHZv bGF0aWxlIHU2NCAqY291bnQpCit7CisJd2FpdF9mb3JfaXBpKGNvdW50KTsKKwlhc20gdm9sYXRp bGUoInZtbWNhbGwiKTsKK30KKworc3RhdGljIHZvaWQgbDJfZ3Vlc3RfZHVtbXkodm9pZCkKK3sK Kwlhc20gdm9sYXRpbGUoInZtbWNhbGwiKTsKK30KKworc3RhdGljIHZvaWQgd2FpdF9mb3JfaXBp X2luX2wyKHZvbGF0aWxlIHU2NCAqY291bnQsIHN0cnVjdCB2bWNiICp2bWNiKQoreworCXU2NCBv bGRfY291bnQgPSAqY291bnQ7CisJYm9vbCBpcnFfb25fdm1lbnRyeSA9IGdldF9yYW5kb20oMCwx KSA9PSAwOworCisJdm1jYi0+c2F2ZS5yaXAgPSAodWxvbmcpbDJfZ3Vlc3Rfd2FpdF9mb3JfaXBp OworCXZtY2ItPnNhdmUucnNwID0gKHVsb25nKShndWVzdF9zdGFjayArIEFSUkFZX1NJWkUoZ3Vl c3Rfc3RhY2spKTsKKwlyZWdzLnJkaSA9ICh1NjQpY291bnQ7CisKKwl2bWNiLT5zYXZlLnJpcCA9 IGlycV9vbl92bWVudHJ5ID8gKHVsb25nKWwyX2d1ZXN0X2R1bW15IDogKHVsb25nKWwyX2d1ZXN0 X3dhaXRfZm9yX2lwaTsKKworCWRvIHsKKwkJaWYgKGlycV9vbl92bWVudHJ5KQorCQkJdm1jYi0+ c2F2ZS5yZmxhZ3MgfD0gWDg2X0VGTEFHU19JRjsKKwkJZWxzZQorCQkJdm1jYi0+c2F2ZS5yZmxh Z3MgJj0gflg4Nl9FRkxBR1NfSUY7CisKKwkJYXNtIHZvbGF0aWxlKCJjbGdpO25vcDtzdGkiKTsK KwkJLy8gR0lGIGlzIHNldCBieSBWTVJVTgorCQlTVk1fQkFSRV9WTVJVTih2bWNiLCByZWdzKTsK KwkJLy8gR0lGIGlzIGNsZWFyZWQgYnkgVk1FWElUCisJCWFzbSB2b2xhdGlsZSgiY2xpO25vcDtz dGdpIik7CisKKwkJYXNzZXJ0KHZtY2ItPmNvbnRyb2wuZXhpdF9jb2RlID09IFNWTV9FWElUX1ZN TUNBTEwpOworCisJfSB3aGlsZSAob2xkX2NvdW50ID09ICpjb3VudCk7Cit9CisjZW5kaWYKKwor LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmlu ZSBGSVJTVF9URVNUX1ZDUFUgMQorCitzdGF0aWMgdm9pZCB2Y3B1X2luaXQodm9pZCAqZGF0YSkK K3sKKwkvKiBUbyBtYWtlIGl0IGVhc2llciB0byBzZWUgaXRlcmF0aW9uIG51bWJlciBpbiB0aGUg dHJhY2UgKi8KKwloYW5kbGVfaXJxKDB4NDAsIGlwaV9pbnRlcnJ1cHRfaGFuZGxlcik7CisJaGFu ZGxlX2lycSgweDUwLCBpcGlfaW50ZXJydXB0X2hhbmRsZXIpOworfQorCitzdGF0aWMgdm9pZCB2 Y3B1X2NvZGUodm9pZCAqZGF0YSkKK3sKKwlpbnQgbmNwdXMgPSBjcHVfY291bnQoKTsKKwlpbnQg Y3B1ID0gKGxvbmcpZGF0YTsKKworCXU2NCBpOworCisjaWZkZWYgX194ODZfNjRfXworCWlmIChj cHUgPT0gMiAmJiB1c2Vfc3ZtKQorCXsKKwkJdm1jYiA9IGFsbG9jX3BhZ2UoKTsKKwkJdm1jYl9p ZGVudCh2bWNiKTsKKworCQkvLyB3aGVuIHNldCwgaW50ZXJjZXB0IHBoeXNpY2FsIGludGVycnVw dHMKKwkJLy92bWNiLT5jb250cm9sLmludGVyY2VwdCB8PSAoMSA8PCBJTlRFUkNFUFRfSU5UUik7 CisKKwkJLy8gd2hlbiBzZXQsIGhvc3QgSUYgY29udHJvbHMgdGhlIG1hc2tpbmcgb2YgaW50ZXJy dXB0cyB3aGlsZSB0aGUgZ3Vlc3QgcnVucworCQkvLyBndWVzdCBJRiBvbmx5IG1pZ2h0IGFsbG93 IGEgdmlydHVhbCBpbnRlcnJ1cHQgdG8gYmUgaW5qZWN0ZWQgKGlmIHNldCBpbiBpbnRfY3RsKQor CQkvL3ZtY2ItPmNvbnRyb2wuaW50X2N0bCB8PSBWX0lOVFJfTUFTS0lOR19NQVNLOworCX0KKyNl bmRpZgorCisJYXNzZXJ0KGNwdSAhPSAwKTsKKworCWlmIChjcHUgIT0gRklSU1RfVEVTVF9WQ1BV KQorCQl3YWl0X2Zvcl9pcGkoJmlzcl9jb3VudHNbY3B1XSk7CisKKwlmb3IgKGkgPSAwOyBpIDwg bnVtX2l0ZXJhdGlvbnM7IGkrKykKKwl7CisJCXU4IHBoeXNpY2FsX2RzdCA9IGNwdSA9PSBuY3B1 cyAtMSA/IDEgOiBjcHUgKyAxOworCisJCS8vIHNlbmQgSVBJIHRvIGEgbmV4dCB2Q1BVIGluIGEg Y2lyY3VsYXIgZmFzaGlvbgorCQlhcGljX2ljcl93cml0ZShBUElDX0lOVF9BU1NFUlQgfAorCQkJ CUFQSUNfREVTVF9QSFlTSUNBTCB8CisJCQkJQVBJQ19ETV9GSVhFRCB8CisJCQkJKGkgJSAyID8g MHg0MCA6IDB4NTApLAorCQkJCXBoeXNpY2FsX2RzdCk7CisKKwkJaWYgKGkgPT0gKG51bV9pdGVy YXRpb25zIC0gMSkgJiYgY3B1ICE9IEZJUlNUX1RFU1RfVkNQVSkKKwkJCWJyZWFrOworCisjaWZk ZWYgX194ODZfNjRfXworCQkvLyB3YWl0IGZvciB0aGUgSVBJIGludGVycnVwdCBjaGFpbiB0byBj b21lIGJhY2sgdG8gdXMKKwkJaWYgKGNwdSA9PSAyICYmIHVzZV9zdm0pIHsKKwkJCQl3YWl0X2Zv cl9pcGlfaW5fbDIoJmlzcl9jb3VudHNbY3B1XSwgdm1jYik7CisJCQkJY29udGludWU7CisJCX0K KyNlbmRpZgorCisJCXdhaXRfZm9yX2lwaSgmaXNyX2NvdW50c1tjcHVdKTsKKwl9Cit9CisKK2lu dCBtYWluKGludCBhcmdjLCB2b2lkKiogYXJndikKK3sKKwlpbnQgY3B1LCBuY3B1cyA9IGNwdV9j b3VudCgpOworCisJYXNzZXJ0KG5jcHVzID4gMik7CisKKwlpZiAoYXJnYyA+IDEpCisJCWhsdF9h bGxvd2VkID0gYXRvbChhcmd2WzFdKTsKKworCWlmIChhcmdjID4gMikKKwkJbnVtX2l0ZXJhdGlv bnMgPSBhdG9sKGFyZ3ZbMl0pOworCisJc2V0dXBfdm0oKTsKKworI2lmZGVmIF9feDg2XzY0X18K KwlpZiAoc3ZtX3N1cHBvcnRlZCgpKSB7CisJCXVzZV9zdm0gPSB0cnVlOworCQlzZXR1cF9zdm0o KTsKKwl9CisjZW5kaWYKKworCWlzcl9jb3VudHMgPSAodm9sYXRpbGUgdTY0ICopY2FsbG9jKG5j cHVzLCBzaXplb2YodTY0KSk7CisKKwlwcmludGYoImZvdW5kICVkIGNwdXNcbiIsIG5jcHVzKTsK KwlwcmludGYoInJ1bm5pbmcgZm9yICVsbGQgaXRlcmF0aW9ucyAtIHRlc3RcbiIsCisJCShsb25n IGxvbmcgdW5zaWduZWQgaW50KW51bV9pdGVyYXRpb25zKTsKKworCS8qCisJICogRW5zdXJlIHRo YXQgd2UgZG9uJ3QgaGF2ZSBpbnRlcnJ1cHQgd2luZG93IHBlbmRpbmcKKwkgKiBmcm9tIFBJVCB0 aW1lciB3aGljaCBpbmhpYml0cyB0aGUgQVZJQy4KKwkgKi8KKworCWFzbSB2b2xhdGlsZSgic3Rp O25vcDtjbGlcbiIpOworCisJZm9yIChjcHUgPSAwOyBjcHUgPCBuY3B1czsgKytjcHUpCisJCW9u X2NwdV9hc3luYyhjcHUsIHZjcHVfaW5pdCwgKHZvaWQgKikobG9uZyljcHUpOworCisJLyogbm93 IGxldCBhbGwgdGhlIHZDUFVzIGVuZCB0aGUgSVBJIGZ1bmN0aW9uKi8KKwl3aGlsZSAoY3B1c19h Y3RpdmUoKSA+IDEpCisJCSAgcGF1c2UoKTsKKworCXByaW50Zigic3RhcnRpbmcgdGVzdCBvbiBh bGwgY3B1cyBidXQgMC4uLlxuIik7CisKKwlmb3IgKGNwdSA9IG5jcHVzLTE7IGNwdSA+PSBGSVJT VF9URVNUX1ZDUFU7IGNwdS0tKQorCQlvbl9jcHVfYXN5bmMoY3B1LCB2Y3B1X2NvZGUsICh2b2lk ICopKGxvbmcpY3B1KTsKKworCXByaW50ZigidGVzdCBzdGFydGVkLCB3YWl0aW5nIHRvIGVuZC4u LlxuIik7CisKKwl3aGlsZSAoY3B1c19hY3RpdmUoKSA+IDEpIHsKKworCQl1bnNpZ25lZCBsb25n IGlzcl9jb3VudDEsIGlzcl9jb3VudDI7CisKKwkJaXNyX2NvdW50MSA9IGlzcl9jb3VudHNbMV07 CisJCWRlbGF5KDVVTEwqMTAwMCoxMDAwKjEwMDApOworCQlpc3JfY291bnQyID0gaXNyX2NvdW50 c1sxXTsKKworCQlpZiAoaXNyX2NvdW50MSA9PSBpc3JfY291bnQyKSB7CisJCQlwcmludGYoIlxu Iik7CisJCQlwcmludGYoImhhbmcgZGV0ZWN0ZWQhIVxuIik7CisJCQkvL2JyZWFrOworCQl9IGVs c2UgeworCQkJcHJpbnRmKCJtYWRlICVsZCBJUElzIFxuIiwgKGlzcl9jb3VudDIgLSBpc3JfY291 bnQxKSoobmNwdXMtMSkpOworCQl9CisJfQorCisJcHJpbnRmKCJcbiIpOworCisJZm9yIChjcHUg PSAxOyBjcHUgPCBuY3B1czsgKytjcHUpCisJCXJlcG9ydChpc3JfY291bnRzW2NwdV0gPT0gbnVt X2l0ZXJhdGlvbnMsCisJCQkJIk51bWJlciBvZiBJUElzIG1hdGNoICglbGxkKSIsCisJCQkJKGxv bmcgbG9uZyB1bnNpZ25lZCBpbnQpaXNyX2NvdW50c1tjcHVdKTsKKworCWZyZWUoKHZvaWQqKWlz cl9jb3VudHMpOworCXJldHVybiByZXBvcnRfc3VtbWFyeSgpOworfQpkaWZmIC0tZ2l0IGEveDg2 L3VuaXR0ZXN0cy5jZmcgYi94ODYvdW5pdHRlc3RzLmNmZwppbmRleCAzNzAxNzk3MS4uYzAwMWY0 MmIgMTAwNjQ0Ci0tLSBhL3g4Ni91bml0dGVzdHMuY2ZnCisrKyBiL3g4Ni91bml0dGVzdHMuY2Zn CkBAIC02MSw2ICs2MSwxMSBAQCBzbXAgPSAyCiBmaWxlID0gc21wdGVzdC5mbGF0CiBzbXAgPSAz CiAKK1tpcGlfc3RyZXNzXQorZmlsZSA9IGlwaV9zdHJlc3MuZmxhdAorZXh0cmFfcGFyYW1zID0g LWNwdSBob3N0LC14MmFwaWMsLXN2bSwtaHlwZXJ2aXNvciAtZ2xvYmFsIGt2bS1waXQubG9zdF90 aWNrX3BvbGljeT1kaXNjYXJkIC1tYWNoaW5lIGtlcm5lbC1pcnFjaGlwPW9uIC1hcHBlbmQgJzUw MDAwJworc21wID0gNAorCiBbdm1leGl0X2NwdWlkXQogZmlsZSA9IHZtZXhpdC5mbGF0CiBleHRy YV9wYXJhbXMgPSAtYXBwZW5kICdjcHVpZCcKLS0gCjIuMjYuMwoK --=-xYVjuuStPq3m473+k+4L--