From patchwork Wed Aug 3 02:44:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Boyoun Park X-Patchwork-Id: 12935135 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.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 smtp.lore.kernel.org (Postfix) with ESMTPS id 14E06C00140 for ; Wed, 3 Aug 2022 02:44:31 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.379512.613000 (Exim 4.92) (envelope-from ) id 1oJ4Mp-0001TP-Pw; Wed, 03 Aug 2022 02:44:15 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 379512.613000; Wed, 03 Aug 2022 02:44:15 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1oJ4Mp-0001TI-N8; Wed, 03 Aug 2022 02:44:15 +0000 Received: by outflank-mailman (input) for mailman id 379512; Wed, 03 Aug 2022 02:44:14 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1oJ4Mo-0001TC-8Y for xen-devel@lists.xenproject.org; Wed, 03 Aug 2022 02:44:14 +0000 Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 271a6174-12d6-11ed-bd2d-47488cf2e6aa; Wed, 03 Aug 2022 04:44:12 +0200 (CEST) Received: from epcas2p4.samsung.com (unknown [182.195.41.56]) by mailout1.samsung.com (KnoxPortal) with ESMTP id 20220803024409epoutp0162dc1b2e5e54efe5e11ddc4642c05194~HtZdzF9zr0796607966epoutp01R for ; Wed, 3 Aug 2022 02:44:09 +0000 (GMT) Received: from epsnrtp3.localdomain (unknown [182.195.42.164]) by epcas2p2.samsung.com (KnoxPortal) with ESMTP id 20220803024409epcas2p26103aa155034409ab6a66920bfb00c03~HtZdM5PLa3089130891epcas2p26; Wed, 3 Aug 2022 02:44:09 +0000 (GMT) Received: from epsmges2p2.samsung.com (unknown [182.195.36.70]) by epsnrtp3.localdomain (Postfix) with ESMTP id 4LyGQc2hZnz4x9Q0; Wed, 3 Aug 2022 02:44:08 +0000 (GMT) Received: from epcas2p3.samsung.com ( [182.195.41.55]) by epsmges2p2.samsung.com (Symantec Messaging Gateway) with SMTP id F5.63.09650.8F0E9E26; Wed, 3 Aug 2022 11:44:08 +0900 (KST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list X-Inumbo-ID: 271a6174-12d6-11ed-bd2d-47488cf2e6aa DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20220803024409epoutp0162dc1b2e5e54efe5e11ddc4642c05194~HtZdzF9zr0796607966epoutp01R DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1659494649; bh=vSLU8kXF3mDoua1yVqGRtcIV/QdQxoaJke5YWxbr2Pk=; h=Date:Subject:Reply-To:From:To:CC:In-Reply-To:References:From; b=E5AKdE7ZjBqqLg69GJv8pB/pYJyR5KW2jwWtoTkblp4A57yj5Vi2EZNY41ZGIuy1g 6VNoNfklkYUqCr0bYMSiKapzoubAuEKjHX/ry47+axdGUwB4ypx4knyYkhQs4m+jeE +Ubfe87XZIWgcFWUUQNubDRmUOeKC4yPnmyNsVjU= X-AuditID: b6c32a46-0b9ff700000025b2-6d-62e9e0f8dbc7 Date: Wed, 03 Aug 2022 11:44:07 +0900 Message-ID: <1238367271.9969045.1659494647714@mail-kr2-1> Mime-Version: 1.0 Subject: [PATCH v2 2/2] xen: remove init_constructors out of start_xen Reply-To: boyoun.park@samsung.com Sender: Boyoun Park From: Boyoun Park To: Stefano Stabellini CC: "xen-devel@lists.xenproject.org" , Jan Beulich , "julien@xen.org" , "bertrand.marquis@arm.com" , "Volodymyr_Babchuk@epam.com" , "andrew.cooper3@citrix.com" , "george.dunlap@citrix.com" , "wl@xen.org" , "roger.pau@citrix.com" , Chungwoo Park , Gang Li , Lei Wang , SoungKwan Kimn , DongJin PARK , Joonjae Lee X-Priority: 3 X-Content-Kind-Code: NORMAL In-Reply-To: <1470588578.9967963.1659494457934@mail-kr2-1> X-CPGS-Detection: blocking_info_exchange X-Drm-Type: N,general X-Msg-Generator: Mail X-Msg-Type: PERSONAL X-Reply-Demand: N X-CMS-MailID: 20220803024407epcms2p208a983abf94dd9d5732d85b715c6b95a X-Sendblock-Type: AUTO_CONFIDENTIAL CMS-TYPE: 102P X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrDJsWRmVeSWpSXmKPExsWy7bCmue6PBy+TDB4vELBY/HgXu8XSJZuZ LE7N6mSyWHb4HrvFhY97WSzmdxxisvi55yGbRWfXF1aLz7Mns1m07bjMajHj/GJWi8aF8Rar 18Vb/FsaYfFxjbjF9y2TmRwEPNbMW8Po8XryBEaPO0t3MnpsWtXJ5nH4wxUWj74tqxg91m+5 yuJx+tYstgCOqGybjNTElNQihdS85PyUzLx0WyXv4HjneFMzA0NdQ0sLcyWFvMTcVFslF58A XbfMHKD7lRTKEnNKgUIBicXFSvp2NkX5pSWpChn5xSW2SqkFKTkF5gV6xYm5xaV56Xp5qSVW hgYGRqZAhQnZGWvudDEWrDevmLlmBUsD40ajLkZODgkBE4mJi7czdTFycQgJ7GCU+Pp+GhtI gkVAVeL/zb0sIDavgKXElZPX2bsYOYBsQYm/O4RBwsICbhLfJ39mArGFBBQlWs8sZIeI60r0 dO0FG8MmoC3x4uYtsDEiAvoSm243gtUwCyxjlVj5khfiBl6JGe1PWSBsaYnty7cygticAlYS 6z80QMU1JH4s62WGsEUlbq5+yw5jvz82nxHCFpFovXcWqkZQ4sHP3VBxKYnGT4eg6osl5vSt Zwf5V0KggVHi5sWLTBAJfYkpLXNYIWwXia8bPzBCHBou8frUcWaQ3yUElCWOQPzCLMAn0XH4 LzvM/TvmPYEaoyrxq+kFI8wve862Q9keEodfPGGBhPNGZom1t6axT2BUmIUI0llItkHY8hLb 385hBilhFtCUWL9LHyKsJjGl/wsbRDhd4vc6Z4iwosSU7ofsCxjZVzGKpRYU56anFhsVGMET Q3J+7iZGcNLXctvBOOXtB71DjEwcjIcYVYB6H21YfYFRiiUvPy9VSYT3jsvzJCHelMTKqtSi /Pii0pzU4kOMpsAkMZFZSjQ5H5iP8kriDU0sDUzMzAzNjUwNzJXEeb1SNiQKCaQnlqRmp6YW pBbB9DFxcEo1MB0LDn3mPmHvjaQlO9n15fcLmJ+IkeTQLPngyPNvpUj78yWLVqXJru59arlY zW0Pr2Py65d9H7xbp+6wnDU77e7M6X/elHVPTnp6c9a+mLaZc7ocE63kbgdWW8jcyf0n/zTC etG/8M5V6xc/3/60bG3N97ssT7fnrzjFKlrSXs96w10oMK/sX/7Nn3lqinfX/b7K1rOtXlxu Q/l18UYni+Yr1vHhcQXTfCzNXNTLD0Z4O0pUmEw74pRiH+bWae9jwDHp4+1wrviT32bKt79u 3LLpqQLDITklpdXTzx+Y172sJfLcTfFpijvryh18V4Rql+oUB/m389xOPPpW6N7l+addo67N cn9Z6HpE8NrTdCWW4oxEQy3mouJEAE1sPC2PBAAA DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220728092237epcms2p53821bba31388763f45b5204d56520c20 References: <1470588578.9967963.1659494457934@mail-kr2-1> <97499212.9948800.1659000157467@mail-kr2-3> <88025800-66e2-4fb4-facf-5989e75ba08f@suse.com> <20220729110313epcms2p5f9b24d5a65b98c220a6e99675298560f@epcms2p5> From: Boyoun Park Date: Wed, 3 Aug 2022 10:31:55 +0900 Subject: [PATCH v2 2/2] xen: remove init_constructors out of start_xen This patch removed init_constructors from start_xen by using __late_initcall. It can be applied to other init functions in start_xen so that only main init functions are included in there. To use __late_initcall, the format of a function should be changed according to initcall. Thus, the return type of init_constructors function is changed in this patch. Change-Id: Ife13484d346cff15983aacbfefde21d508f4690a Signed-off-by: Boyoun Park --- xen/arch/arm/setup.c | 2 -- xen/arch/x86/setup.c | 2 -- xen/include/xen/lib.h | 2 +- xen/lib/ctors.c | 6 +++++- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index 332a207..6c88b31 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -1056,8 +1056,6 @@ void __init start_xen(unsigned long boot_phys_offset, init_trace_bufs(); - init_constructors(); - console_endboot(); /* Hide UART from DOM0 if we're using it */ diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index 5dc6654..603100c 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -1941,8 +1941,6 @@ void __init noreturn __start_xen(unsigned long mbi_p) init_trace_bufs(); - init_constructors(); - console_endboot(); /* Hide UART from DOM0 if we're using it */ diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h index 05ee1e1..8e08c29 100644 --- a/xen/include/xen/lib.h +++ b/xen/include/xen/lib.h @@ -211,7 +211,7 @@ extern void add_taint(unsigned int taint); struct cpu_user_regs; void cf_check dump_execstate(struct cpu_user_regs *); -void init_constructors(void); +int init_constructors(void); /* * bsearch - binary search an array of elements diff --git a/xen/lib/ctors.c b/xen/lib/ctors.c index 5bdc591..b54144b 100644 --- a/xen/lib/ctors.c +++ b/xen/lib/ctors.c @@ -4,7 +4,7 @@ typedef void (*ctor_func_t)(void); extern const ctor_func_t __ctors_start[], __ctors_end[]; -void __init init_constructors(void) +int __init init_constructors(void) { const ctor_func_t *f; for ( f = __ctors_start; f < __ctors_end; ++f ) @@ -12,8 +12,12 @@ void __init init_constructors(void) /* Putting this here seems as good (or bad) as any other place. */ BUILD_BUG_ON(sizeof(size_t) != sizeof(ssize_t)); + + return 0; } +__late_initcall(init_constructors); + /* * Local variables: * mode: C