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 X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2CB56ECE597 for ; Fri, 11 Oct 2019 11:51:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 096DC206CD for ; Fri, 11 Oct 2019 11:51:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728236AbfJKLvs (ORCPT ); Fri, 11 Oct 2019 07:51:48 -0400 Received: from mx2.suse.de ([195.135.220.15]:33348 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728128AbfJKLv3 (ORCPT ); Fri, 11 Oct 2019 07:51:29 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 6B173B486; Fri, 11 Oct 2019 11:51:27 +0000 (UTC) From: Jiri Slaby To: bp@alien8.de Cc: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, x86@kernel.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Jiri Slaby , Boris Ostrovsky , "Rafael J . Wysocki" , "Rafael J. Wysocki" , Len Brown , Pavel Machek , Juergen Gross , linux-pm@vger.kernel.org, xen-devel@lists.xenproject.org Subject: [PATCH v9 25/28] x86_32/asm: Add ENDs to some functions and relabel with SYM_CODE_* Date: Fri, 11 Oct 2019 13:51:05 +0200 Message-Id: <20191011115108.12392-26-jslaby@suse.cz> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191011115108.12392-1-jslaby@suse.cz> References: <20191011115108.12392-1-jslaby@suse.cz> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org All these are functions which are invoked from elsewhere, but they are not typical C functions. So they are annotated using the new SYM_CODE_START. All these were not balanced with any END, so mark their ends by SYM_CODE_END, appropriately. Signed-off-by: Jiri Slaby Reviewed-by: Boris Ostrovsky [xen bits] Reviewed-by: Rafael J. Wysocki [hibernate] Cc: Borislav Petkov Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: x86@kernel.org Cc: "Rafael J. Wysocki" Cc: Len Brown Cc: Pavel Machek Cc: Boris Ostrovsky Cc: Juergen Gross Cc: linux-pm@vger.kernel.org Cc: xen-devel@lists.xenproject.org --- arch/x86/entry/entry_32.S | 3 ++- arch/x86/kernel/acpi/wakeup_32.S | 7 ++++--- arch/x86/kernel/ftrace_32.S | 3 ++- arch/x86/kernel/head_32.S | 3 ++- arch/x86/power/hibernate_asm_32.S | 6 ++++-- arch/x86/realmode/rm/trampoline_32.S | 6 ++++-- arch/x86/xen/xen-asm_32.S | 7 ++++--- 7 files changed, 22 insertions(+), 13 deletions(-) diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S index 4900a6a5e125..64fe7aa50ad2 100644 --- a/arch/x86/entry/entry_32.S +++ b/arch/x86/entry/entry_32.S @@ -847,9 +847,10 @@ SYM_ENTRY(__begin_SYSENTER_singlestep_region, SYM_L_GLOBAL, SYM_A_NONE) * Xen doesn't set %esp to be precisely what the normal SYSENTER * entry point expects, so fix it up before using the normal path. */ -ENTRY(xen_sysenter_target) +SYM_CODE_START(xen_sysenter_target) addl $5*4, %esp /* remove xen-provided frame */ jmp .Lsysenter_past_esp +SYM_CODE_END(xen_sysenter_target) #endif /* diff --git a/arch/x86/kernel/acpi/wakeup_32.S b/arch/x86/kernel/acpi/wakeup_32.S index 427249292aef..daf88f8143c5 100644 --- a/arch/x86/kernel/acpi/wakeup_32.S +++ b/arch/x86/kernel/acpi/wakeup_32.S @@ -9,8 +9,7 @@ .code32 ALIGN -ENTRY(wakeup_pmode_return) -wakeup_pmode_return: +SYM_CODE_START(wakeup_pmode_return) movw $__KERNEL_DS, %ax movw %ax, %ss movw %ax, %fs @@ -39,6 +38,7 @@ wakeup_pmode_return: # jump to place where we left off movl saved_eip, %eax jmp *%eax +SYM_CODE_END(wakeup_pmode_return) bogus_magic: jmp bogus_magic @@ -72,7 +72,7 @@ restore_registers: popfl ret -ENTRY(do_suspend_lowlevel) +SYM_CODE_START(do_suspend_lowlevel) call save_processor_state call save_registers pushl $3 @@ -87,6 +87,7 @@ ret_point: call restore_registers call restore_processor_state ret +SYM_CODE_END(do_suspend_lowlevel) .data ALIGN diff --git a/arch/x86/kernel/ftrace_32.S b/arch/x86/kernel/ftrace_32.S index 219be1309c37..a43ed4c0402d 100644 --- a/arch/x86/kernel/ftrace_32.S +++ b/arch/x86/kernel/ftrace_32.S @@ -89,7 +89,7 @@ WEAK(ftrace_stub) ret END(ftrace_caller) -ENTRY(ftrace_regs_caller) +SYM_CODE_START(ftrace_regs_caller) /* * We're here from an mcount/fentry CALL, and the stack frame looks like: * @@ -163,6 +163,7 @@ SYM_INNER_LABEL(ftrace_regs_call, SYM_L_GLOBAL) popl %eax jmp .Lftrace_ret +SYM_CODE_END(ftrace_regs_caller) #ifdef CONFIG_FUNCTION_GRAPH_TRACER ENTRY(ftrace_graph_caller) diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index e2b3e6cf86ca..7029bbaccc41 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S @@ -64,7 +64,7 @@ RESERVE_BRK(pagetables, INIT_MAP_SIZE) * can. */ __HEAD -ENTRY(startup_32) +SYM_CODE_START(startup_32) movl pa(initial_stack),%ecx /* test KEEP_SEGMENTS flag to see if the bootloader is asking @@ -172,6 +172,7 @@ num_subarch_entries = (. - subarch_entries) / 4 #else jmp .Ldefault_entry #endif /* CONFIG_PARAVIRT */ +SYM_CODE_END(startup_32) #ifdef CONFIG_HOTPLUG_CPU /* diff --git a/arch/x86/power/hibernate_asm_32.S b/arch/x86/power/hibernate_asm_32.S index 6fe383002125..a19ed3d23185 100644 --- a/arch/x86/power/hibernate_asm_32.S +++ b/arch/x86/power/hibernate_asm_32.S @@ -35,7 +35,7 @@ ENTRY(swsusp_arch_suspend) ret ENDPROC(swsusp_arch_suspend) -ENTRY(restore_image) +SYM_CODE_START(restore_image) /* prepare to jump to the image kernel */ movl restore_jump_address, %ebx movl restore_cr3, %ebp @@ -45,9 +45,10 @@ ENTRY(restore_image) /* jump to relocated restore code */ movl relocated_restore_code, %eax jmpl *%eax +SYM_CODE_END(restore_image) /* code below has been relocated to a safe page */ -ENTRY(core_restore_code) +SYM_CODE_START(core_restore_code) movl temp_pgt, %eax movl %eax, %cr3 @@ -77,6 +78,7 @@ copy_loop: done: jmpl *%ebx +SYM_CODE_END(core_restore_code) /* code below belongs to the image kernel */ .align PAGE_SIZE diff --git a/arch/x86/realmode/rm/trampoline_32.S b/arch/x86/realmode/rm/trampoline_32.S index ff00594a2ed0..3fad907a179f 100644 --- a/arch/x86/realmode/rm/trampoline_32.S +++ b/arch/x86/realmode/rm/trampoline_32.S @@ -29,7 +29,7 @@ .code16 .balign PAGE_SIZE -ENTRY(trampoline_start) +SYM_CODE_START(trampoline_start) wbinvd # Needed for NUMA-Q should be harmless for others LJMPW_RM(1f) @@ -54,11 +54,13 @@ ENTRY(trampoline_start) lmsw %dx # into protected mode ljmpl $__BOOT_CS, $pa_startup_32 +SYM_CODE_END(trampoline_start) .section ".text32","ax" .code32 -ENTRY(startup_32) # note: also used from wakeup_asm.S +SYM_CODE_START(startup_32) # note: also used from wakeup_asm.S jmp *%eax +SYM_CODE_END(startup_32) .bss .balign 8 diff --git a/arch/x86/xen/xen-asm_32.S b/arch/x86/xen/xen-asm_32.S index c15db060a242..8b8f8355b938 100644 --- a/arch/x86/xen/xen-asm_32.S +++ b/arch/x86/xen/xen-asm_32.S @@ -56,7 +56,7 @@ _ASM_EXTABLE(1b,2b) .endm -ENTRY(xen_iret) +SYM_CODE_START(xen_iret) /* test eflags for special cases */ testl $(X86_EFLAGS_VM | XEN_EFLAGS_NMI), 8(%esp) jnz hyper_iret @@ -122,6 +122,7 @@ xen_iret_end_crit: hyper_iret: /* put this out of line since its very rarely used */ jmp hypercall_page + __HYPERVISOR_iret * 32 +SYM_CODE_END(xen_iret) .globl xen_iret_start_crit, xen_iret_end_crit @@ -165,7 +166,7 @@ hyper_iret: * SAVE_ALL state before going on, since it's usermode state which we * eventually need to restore. */ -ENTRY(xen_iret_crit_fixup) +SYM_CODE_START(xen_iret_crit_fixup) /* * Paranoia: Make sure we're really coming from kernel space. * One could imagine a case where userspace jumps into the @@ -204,4 +205,4 @@ ENTRY(xen_iret_crit_fixup) lea 4(%edi), %esp /* point esp to new frame */ 2: jmp xen_do_upcall - +SYM_CODE_END(xen_iret_crit_fixup) -- 2.23.0 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 X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 894B6ECE599 for ; Fri, 11 Oct 2019 11:51:54 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 60600206CD for ; Fri, 11 Oct 2019 11:51:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 60600206CD Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iItSG-0000Pt-Cb; Fri, 11 Oct 2019 11:51:32 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iItSF-0000Ox-Dw for xen-devel@lists.xenproject.org; Fri, 11 Oct 2019 11:51:31 +0000 X-Inumbo-ID: 7542eaea-ec1d-11e9-9336-12813bfff9fa Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 7542eaea-ec1d-11e9-9336-12813bfff9fa; Fri, 11 Oct 2019 11:51:28 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 6B173B486; Fri, 11 Oct 2019 11:51:27 +0000 (UTC) From: Jiri Slaby To: bp@alien8.de Date: Fri, 11 Oct 2019 13:51:05 +0200 Message-Id: <20191011115108.12392-26-jslaby@suse.cz> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191011115108.12392-1-jslaby@suse.cz> References: <20191011115108.12392-1-jslaby@suse.cz> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH v9 25/28] x86_32/asm: Add ENDs to some functions and relabel with SYM_CODE_* X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: linux-arch@vger.kernel.org, Len Brown , "Rafael J . Wysocki" , Juergen Gross , linux-pm@vger.kernel.org, x86@kernel.org, "Rafael J. Wysocki" , linux-kernel@vger.kernel.org, mingo@redhat.com, Pavel Machek , hpa@zytor.com, xen-devel@lists.xenproject.org, tglx@linutronix.de, Jiri Slaby , Boris Ostrovsky Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" QWxsIHRoZXNlIGFyZSBmdW5jdGlvbnMgd2hpY2ggYXJlIGludm9rZWQgZnJvbSBlbHNld2hlcmUs IGJ1dCB0aGV5IGFyZQpub3QgdHlwaWNhbCBDIGZ1bmN0aW9ucy4gU28gdGhleSBhcmUgYW5ub3Rh dGVkIHVzaW5nIHRoZSBuZXcKU1lNX0NPREVfU1RBUlQuIEFsbCB0aGVzZSB3ZXJlIG5vdCBiYWxh bmNlZCB3aXRoIGFueSBFTkQsIHNvIG1hcmsgdGhlaXIKZW5kcyBieSBTWU1fQ09ERV9FTkQsIGFw cHJvcHJpYXRlbHkuCgpTaWduZWQtb2ZmLWJ5OiBKaXJpIFNsYWJ5IDxqc2xhYnlAc3VzZS5jej4K UmV2aWV3ZWQtYnk6IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+ IFt4ZW4gYml0c10KUmV2aWV3ZWQtYnk6IFJhZmFlbCBKLiBXeXNvY2tpIDxyYWZhZWwuai53eXNv Y2tpQGludGVsLmNvbT4gW2hpYmVybmF0ZV0KQ2M6IEJvcmlzbGF2IFBldGtvdiA8YnBAYWxpZW44 LmRlPgpDYzogVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+CkNjOiBJbmdvIE1v bG5hciA8bWluZ29AcmVkaGF0LmNvbT4KQ2M6ICJILiBQZXRlciBBbnZpbiIgPGhwYUB6eXRvci5j b20+CkNjOiB4ODZAa2VybmVsLm9yZwpDYzogIlJhZmFlbCBKLiBXeXNvY2tpIiA8cmp3QHJqd3lz b2NraS5uZXQ+CkNjOiBMZW4gQnJvd24gPGxlbi5icm93bkBpbnRlbC5jb20+CkNjOiBQYXZlbCBN YWNoZWsgPHBhdmVsQHVjdy5jej4KQ2M6IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5 QG9yYWNsZS5jb20+CkNjOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+CkNjOiBsaW51 eC1wbUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwot LS0KIGFyY2gveDg2L2VudHJ5L2VudHJ5XzMyLlMgICAgICAgICAgICB8IDMgKystCiBhcmNoL3g4 Ni9rZXJuZWwvYWNwaS93YWtldXBfMzIuUyAgICAgfCA3ICsrKystLS0KIGFyY2gveDg2L2tlcm5l bC9mdHJhY2VfMzIuUyAgICAgICAgICB8IDMgKystCiBhcmNoL3g4Ni9rZXJuZWwvaGVhZF8zMi5T ICAgICAgICAgICAgfCAzICsrLQogYXJjaC94ODYvcG93ZXIvaGliZXJuYXRlX2FzbV8zMi5TICAg IHwgNiArKysrLS0KIGFyY2gveDg2L3JlYWxtb2RlL3JtL3RyYW1wb2xpbmVfMzIuUyB8IDYgKysr Ky0tCiBhcmNoL3g4Ni94ZW4veGVuLWFzbV8zMi5TICAgICAgICAgICAgfCA3ICsrKystLS0KIDcg ZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvYXJjaC94ODYvZW50cnkvZW50cnlfMzIuUyBiL2FyY2gveDg2L2VudHJ5L2VudHJ5XzMy LlMKaW5kZXggNDkwMGE2YTVlMTI1Li42NGZlN2FhNTBhZDIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2 L2VudHJ5L2VudHJ5XzMyLlMKKysrIGIvYXJjaC94ODYvZW50cnkvZW50cnlfMzIuUwpAQCAtODQ3 LDkgKzg0NywxMCBAQCBTWU1fRU5UUlkoX19iZWdpbl9TWVNFTlRFUl9zaW5nbGVzdGVwX3JlZ2lv biwgU1lNX0xfR0xPQkFMLCBTWU1fQV9OT05FKQogICogWGVuIGRvZXNuJ3Qgc2V0ICVlc3AgdG8g YmUgcHJlY2lzZWx5IHdoYXQgdGhlIG5vcm1hbCBTWVNFTlRFUgogICogZW50cnkgcG9pbnQgZXhw ZWN0cywgc28gZml4IGl0IHVwIGJlZm9yZSB1c2luZyB0aGUgbm9ybWFsIHBhdGguCiAgKi8KLUVO VFJZKHhlbl9zeXNlbnRlcl90YXJnZXQpCitTWU1fQ09ERV9TVEFSVCh4ZW5fc3lzZW50ZXJfdGFy Z2V0KQogCWFkZGwJJDUqNCwgJWVzcAkJCS8qIHJlbW92ZSB4ZW4tcHJvdmlkZWQgZnJhbWUgKi8K IAlqbXAJLkxzeXNlbnRlcl9wYXN0X2VzcAorU1lNX0NPREVfRU5EKHhlbl9zeXNlbnRlcl90YXJn ZXQpCiAjZW5kaWYKIAogLyoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hY3BpL3dha2V1 cF8zMi5TIGIvYXJjaC94ODYva2VybmVsL2FjcGkvd2FrZXVwXzMyLlMKaW5kZXggNDI3MjQ5Mjky YWVmLi5kYWY4OGY4MTQzYzUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hY3BpL3dha2V1 cF8zMi5TCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hY3BpL3dha2V1cF8zMi5TCkBAIC05LDggKzks NyBAQAogCS5jb2RlMzIKIAlBTElHTgogCi1FTlRSWSh3YWtldXBfcG1vZGVfcmV0dXJuKQotd2Fr ZXVwX3Btb2RlX3JldHVybjoKK1NZTV9DT0RFX1NUQVJUKHdha2V1cF9wbW9kZV9yZXR1cm4pCiAJ bW92dwkkX19LRVJORUxfRFMsICVheAogCW1vdncJJWF4LCAlc3MKIAltb3Z3CSVheCwgJWZzCkBA IC0zOSw2ICszOCw3IEBAIHdha2V1cF9wbW9kZV9yZXR1cm46CiAJIyBqdW1wIHRvIHBsYWNlIHdo ZXJlIHdlIGxlZnQgb2ZmCiAJbW92bAlzYXZlZF9laXAsICVlYXgKIAlqbXAJKiVlYXgKK1NZTV9D T0RFX0VORCh3YWtldXBfcG1vZGVfcmV0dXJuKQogCiBib2d1c19tYWdpYzoKIAlqbXAJYm9ndXNf bWFnaWMKQEAgLTcyLDcgKzcyLDcgQEAgcmVzdG9yZV9yZWdpc3RlcnM6CiAJcG9wZmwKIAlyZXQK IAotRU5UUlkoZG9fc3VzcGVuZF9sb3dsZXZlbCkKK1NZTV9DT0RFX1NUQVJUKGRvX3N1c3BlbmRf bG93bGV2ZWwpCiAJY2FsbAlzYXZlX3Byb2Nlc3Nvcl9zdGF0ZQogCWNhbGwJc2F2ZV9yZWdpc3Rl cnMKIAlwdXNobAkkMwpAQCAtODcsNiArODcsNyBAQCByZXRfcG9pbnQ6CiAJY2FsbAlyZXN0b3Jl X3JlZ2lzdGVycwogCWNhbGwJcmVzdG9yZV9wcm9jZXNzb3Jfc3RhdGUKIAlyZXQKK1NZTV9DT0RF X0VORChkb19zdXNwZW5kX2xvd2xldmVsKQogCiAuZGF0YQogQUxJR04KZGlmZiAtLWdpdCBhL2Fy Y2gveDg2L2tlcm5lbC9mdHJhY2VfMzIuUyBiL2FyY2gveDg2L2tlcm5lbC9mdHJhY2VfMzIuUwpp bmRleCAyMTliZTEzMDljMzcuLmE0M2VkNGMwNDAyZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2Vy bmVsL2Z0cmFjZV8zMi5TCisrKyBiL2FyY2gveDg2L2tlcm5lbC9mdHJhY2VfMzIuUwpAQCAtODks NyArODksNyBAQCBXRUFLKGZ0cmFjZV9zdHViKQogCXJldAogRU5EKGZ0cmFjZV9jYWxsZXIpCiAK LUVOVFJZKGZ0cmFjZV9yZWdzX2NhbGxlcikKK1NZTV9DT0RFX1NUQVJUKGZ0cmFjZV9yZWdzX2Nh bGxlcikKIAkvKgogCSAqIFdlJ3JlIGhlcmUgZnJvbSBhbiBtY291bnQvZmVudHJ5IENBTEwsIGFu ZCB0aGUgc3RhY2sgZnJhbWUgbG9va3MgbGlrZToKIAkgKgpAQCAtMTYzLDYgKzE2Myw3IEBAIFNZ TV9JTk5FUl9MQUJFTChmdHJhY2VfcmVnc19jYWxsLCBTWU1fTF9HTE9CQUwpCiAJcG9wbAklZWF4 CiAKIAlqbXAJLkxmdHJhY2VfcmV0CitTWU1fQ09ERV9FTkQoZnRyYWNlX3JlZ3NfY2FsbGVyKQog CiAjaWZkZWYgQ09ORklHX0ZVTkNUSU9OX0dSQVBIX1RSQUNFUgogRU5UUlkoZnRyYWNlX2dyYXBo X2NhbGxlcikKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzMyLlMgYi9hcmNoL3g4 Ni9rZXJuZWwvaGVhZF8zMi5TCmluZGV4IGUyYjNlNmNmODZjYS4uNzAyOWJiYWNjYzQxIDEwMDY0 NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaGVhZF8zMi5TCisrKyBiL2FyY2gveDg2L2tlcm5lbC9o ZWFkXzMyLlMKQEAgLTY0LDcgKzY0LDcgQEAgUkVTRVJWRV9CUksocGFnZXRhYmxlcywgSU5JVF9N QVBfU0laRSkKICAqIGNhbi4KICAqLwogX19IRUFECi1FTlRSWShzdGFydHVwXzMyKQorU1lNX0NP REVfU1RBUlQoc3RhcnR1cF8zMikKIAltb3ZsIHBhKGluaXRpYWxfc3RhY2spLCVlY3gKIAkKIAkv KiB0ZXN0IEtFRVBfU0VHTUVOVFMgZmxhZyB0byBzZWUgaWYgdGhlIGJvb3Rsb2FkZXIgaXMgYXNr aW5nCkBAIC0xNzIsNiArMTcyLDcgQEAgbnVtX3N1YmFyY2hfZW50cmllcyA9ICguIC0gc3ViYXJj aF9lbnRyaWVzKSAvIDQKICNlbHNlCiAJam1wIC5MZGVmYXVsdF9lbnRyeQogI2VuZGlmIC8qIENP TkZJR19QQVJBVklSVCAqLworU1lNX0NPREVfRU5EKHN0YXJ0dXBfMzIpCiAKICNpZmRlZiBDT05G SUdfSE9UUExVR19DUFUKIC8qCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wb3dlci9oaWJlcm5hdGVf YXNtXzMyLlMgYi9hcmNoL3g4Ni9wb3dlci9oaWJlcm5hdGVfYXNtXzMyLlMKaW5kZXggNmZlMzgz MDAyMTI1Li5hMTllZDNkMjMxODUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3Bvd2VyL2hpYmVybmF0 ZV9hc21fMzIuUworKysgYi9hcmNoL3g4Ni9wb3dlci9oaWJlcm5hdGVfYXNtXzMyLlMKQEAgLTM1 LDcgKzM1LDcgQEAgRU5UUlkoc3dzdXNwX2FyY2hfc3VzcGVuZCkKIAlyZXQKIEVORFBST0Moc3dz dXNwX2FyY2hfc3VzcGVuZCkKIAotRU5UUlkocmVzdG9yZV9pbWFnZSkKK1NZTV9DT0RFX1NUQVJU KHJlc3RvcmVfaW1hZ2UpCiAJLyogcHJlcGFyZSB0byBqdW1wIHRvIHRoZSBpbWFnZSBrZXJuZWwg Ki8KIAltb3ZsCXJlc3RvcmVfanVtcF9hZGRyZXNzLCAlZWJ4CiAJbW92bAlyZXN0b3JlX2NyMywg JWVicApAQCAtNDUsOSArNDUsMTAgQEAgRU5UUlkocmVzdG9yZV9pbWFnZSkKIAkvKiBqdW1wIHRv IHJlbG9jYXRlZCByZXN0b3JlIGNvZGUgKi8KIAltb3ZsCXJlbG9jYXRlZF9yZXN0b3JlX2NvZGUs ICVlYXgKIAlqbXBsCSolZWF4CitTWU1fQ09ERV9FTkQocmVzdG9yZV9pbWFnZSkKIAogLyogY29k ZSBiZWxvdyBoYXMgYmVlbiByZWxvY2F0ZWQgdG8gYSBzYWZlIHBhZ2UgKi8KLUVOVFJZKGNvcmVf cmVzdG9yZV9jb2RlKQorU1lNX0NPREVfU1RBUlQoY29yZV9yZXN0b3JlX2NvZGUpCiAJbW92bAl0 ZW1wX3BndCwgJWVheAogCW1vdmwJJWVheCwgJWNyMwogCkBAIC03Nyw2ICs3OCw3IEBAIGNvcHlf bG9vcDoKIAogZG9uZToKIAlqbXBsCSolZWJ4CitTWU1fQ09ERV9FTkQoY29yZV9yZXN0b3JlX2Nv ZGUpCiAKIAkvKiBjb2RlIGJlbG93IGJlbG9uZ3MgdG8gdGhlIGltYWdlIGtlcm5lbCAqLwogCS5h bGlnbiBQQUdFX1NJWkUKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3JlYWxtb2RlL3JtL3RyYW1wb2xp bmVfMzIuUyBiL2FyY2gveDg2L3JlYWxtb2RlL3JtL3RyYW1wb2xpbmVfMzIuUwppbmRleCBmZjAw NTk0YTJlZDAuLjNmYWQ5MDdhMTc5ZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcmVhbG1vZGUvcm0v dHJhbXBvbGluZV8zMi5TCisrKyBiL2FyY2gveDg2L3JlYWxtb2RlL3JtL3RyYW1wb2xpbmVfMzIu UwpAQCAtMjksNyArMjksNyBAQAogCS5jb2RlMTYKIAogCS5iYWxpZ24JUEFHRV9TSVpFCi1FTlRS WSh0cmFtcG9saW5lX3N0YXJ0KQorU1lNX0NPREVfU1RBUlQodHJhbXBvbGluZV9zdGFydCkKIAl3 YmludmQJCQkjIE5lZWRlZCBmb3IgTlVNQS1RIHNob3VsZCBiZSBoYXJtbGVzcyBmb3Igb3RoZXJz CiAKIAlMSk1QV19STSgxZikKQEAgLTU0LDExICs1NCwxMyBAQCBFTlRSWSh0cmFtcG9saW5lX3N0 YXJ0KQogCWxtc3cJJWR4CQkJIyBpbnRvIHByb3RlY3RlZCBtb2RlCiAKIAlsam1wbAkkX19CT09U X0NTLCAkcGFfc3RhcnR1cF8zMgorU1lNX0NPREVfRU5EKHRyYW1wb2xpbmVfc3RhcnQpCiAKIAku c2VjdGlvbiAiLnRleHQzMiIsImF4IgogCS5jb2RlMzIKLUVOVFJZKHN0YXJ0dXBfMzIpCQkJIyBu b3RlOiBhbHNvIHVzZWQgZnJvbSB3YWtldXBfYXNtLlMKK1NZTV9DT0RFX1NUQVJUKHN0YXJ0dXBf MzIpCQkJIyBub3RlOiBhbHNvIHVzZWQgZnJvbSB3YWtldXBfYXNtLlMKIAlqbXAJKiVlYXgKK1NZ TV9DT0RFX0VORChzdGFydHVwXzMyKQogCiAJLmJzcwogCS5iYWxpZ24gOApkaWZmIC0tZ2l0IGEv YXJjaC94ODYveGVuL3hlbi1hc21fMzIuUyBiL2FyY2gveDg2L3hlbi94ZW4tYXNtXzMyLlMKaW5k ZXggYzE1ZGIwNjBhMjQyLi44YjhmODM1NWI5MzggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi94 ZW4tYXNtXzMyLlMKKysrIGIvYXJjaC94ODYveGVuL3hlbi1hc21fMzIuUwpAQCAtNTYsNyArNTYs NyBAQAogCV9BU01fRVhUQUJMRSgxYiwyYikKIC5lbmRtCiAKLUVOVFJZKHhlbl9pcmV0KQorU1lN X0NPREVfU1RBUlQoeGVuX2lyZXQpCiAJLyogdGVzdCBlZmxhZ3MgZm9yIHNwZWNpYWwgY2FzZXMg Ki8KIAl0ZXN0bCAkKFg4Nl9FRkxBR1NfVk0gfCBYRU5fRUZMQUdTX05NSSksIDgoJWVzcCkKIAlq bnogaHlwZXJfaXJldApAQCAtMTIyLDYgKzEyMiw3IEBAIHhlbl9pcmV0X2VuZF9jcml0OgogaHlw ZXJfaXJldDoKIAkvKiBwdXQgdGhpcyBvdXQgb2YgbGluZSBzaW5jZSBpdHMgdmVyeSByYXJlbHkg dXNlZCAqLwogCWptcCBoeXBlcmNhbGxfcGFnZSArIF9fSFlQRVJWSVNPUl9pcmV0ICogMzIKK1NZ TV9DT0RFX0VORCh4ZW5faXJldCkKIAogCS5nbG9ibCB4ZW5faXJldF9zdGFydF9jcml0LCB4ZW5f aXJldF9lbmRfY3JpdAogCkBAIC0xNjUsNyArMTY2LDcgQEAgaHlwZXJfaXJldDoKICAqIFNBVkVf QUxMIHN0YXRlIGJlZm9yZSBnb2luZyBvbiwgc2luY2UgaXQncyB1c2VybW9kZSBzdGF0ZSB3aGlj aCB3ZQogICogZXZlbnR1YWxseSBuZWVkIHRvIHJlc3RvcmUuCiAgKi8KLUVOVFJZKHhlbl9pcmV0 X2NyaXRfZml4dXApCitTWU1fQ09ERV9TVEFSVCh4ZW5faXJldF9jcml0X2ZpeHVwKQogCS8qCiAJ ICogUGFyYW5vaWE6IE1ha2Ugc3VyZSB3ZSdyZSByZWFsbHkgY29taW5nIGZyb20ga2VybmVsIHNw YWNlLgogCSAqIE9uZSBjb3VsZCBpbWFnaW5lIGEgY2FzZSB3aGVyZSB1c2Vyc3BhY2UganVtcHMg aW50byB0aGUKQEAgLTIwNCw0ICsyMDUsNCBAQCBFTlRSWSh4ZW5faXJldF9jcml0X2ZpeHVwKQog CiAJbGVhIDQoJWVkaSksICVlc3AJCS8qIHBvaW50IGVzcCB0byBuZXcgZnJhbWUgKi8KIDI6CWpt cCB4ZW5fZG9fdXBjYWxsCi0KK1NZTV9DT0RFX0VORCh4ZW5faXJldF9jcml0X2ZpeHVwKQotLSAK Mi4yMy4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0 cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==