From patchwork Fri Jan 27 11:39:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suzuki K Poulose X-Patchwork-Id: 49346 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp804564wrn; Fri, 27 Jan 2023 04:25:15 -0800 (PST) X-Google-Smtp-Source: AMrXdXt3KC7c/LqKgddg1/XPLnp9/ENKUdtUFxMwYvXfBDF4Xsdb8Lno95oM099vUHDk2jiewju9 X-Received: by 2002:a05:6402:5110:b0:499:8849:5fb3 with SMTP id m16-20020a056402511000b0049988495fb3mr53045827edd.31.1674822314766; Fri, 27 Jan 2023 04:25:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674822314; cv=none; d=google.com; s=arc-20160816; b=o1KmB/cmkm4X7zA3MuGpDKUT2WI6H6aOFepw158celdYuwzUhgenfhcJXbTZ2L0Uw0 Lv6Uwc+c7QcZbZ3sK2k9f/IuMgZpPD/mJ3CEYFoOx6ANfbl2wlrlvvmcN851R1Csygj+ 1zcM9QCqw7RIApmZZpFI/emrZSSf7GQ/PYrHOd8TMKVrjogWw19RaEnruqTJPsXskkmY vdKkPSV5jBxk0cKaC4biWg+C0zhkzYg3cMdu8Txzsg955QsgUz8j5H/1Z76kufRCVMPv 03MKMatYwYqvUX4zCXltgyUx0IcKCUTsfsg0N3FUxdlRF9jwzy0b3bAGRZ2LccRkqRrr oOtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=r3KIz7myT/2cEyREdDWYFF0MzAECVUHcZokxc5b2FZI=; b=YRllT1nCgJYoUzaWARwUAUh32attoGy1kJn8x1P6TbFFmY+VhzbSViKAIJ2xVMbRrt /SeRU0wdWtiK7kWPX/qjXyVx2FD26+ZeK3z7ye9laqhymZ/1cJb+d6Z9se19CGCoP3/3 OHBrLTmYNttpnvHBpOwFuMhjx8XW1XxY0kqO/bEvIXFj6O5V7dgHfVGoA32AJQDATW/s 5xJ41sMeYkKBXBTv6T+rLTfL1pB4N8CTiW4LOhZcUUUEGyobkNgov4V21XJV5LF+u6UJ COBLiTayLuZXnr40FK0/wKY8ZGZHHgiJz6/Mlsq/0o1eoeQt2FMwg5nRDjuNR2I5qaHJ TwnQ== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q28-20020a056402249c00b00489e993b8easi5432486eda.630.2023.01.27.04.24.20; Fri, 27 Jan 2023 04:25:14 -0800 (PST) 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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233561AbjA0MQI (ORCPT + 99 others); Fri, 27 Jan 2023 07:16:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45278 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232851AbjA0MPq (ORCPT ); Fri, 27 Jan 2023 07:15:46 -0500 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E546B8627B; Fri, 27 Jan 2023 04:11:17 -0800 (PST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id AAE681650; Fri, 27 Jan 2023 03:41:30 -0800 (PST) Received: from ewhatever.cambridge.arm.com (ewhatever.cambridge.arm.com [10.1.197.1]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 2D7A03F64C; Fri, 27 Jan 2023 03:40:46 -0800 (PST) From: Suzuki K Poulose To: kvm@vger.kernel.org, kvmarm@lists.linux.dev Cc: suzuki.poulose@arm.com, Alexandru Elisei , Andrew Jones , Christoffer Dall , Fuad Tabba , Jean-Philippe Brucker , Joey Gouly , Marc Zyngier , Mark Rutland , Oliver Upton , Paolo Bonzini , Quentin Perret , Steven Price , Thomas Huth , Will Deacon , Zenghui Yu , linux-coco@lists.linux.dev, kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [RFC kvmtool 21/31] init: Add last_{init, exit} list macros Date: Fri, 27 Jan 2023 11:39:22 +0000 Message-Id: <20230127113932.166089-22-suzuki.poulose@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230127113932.166089-1-suzuki.poulose@arm.com> References: <20230127112248.136810-1-suzuki.poulose@arm.com> <20230127113932.166089-1-suzuki.poulose@arm.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756178483632887950?= X-GMAIL-MSGID: =?utf-8?q?1756178483632887950?= From: Alexandru Elisei Add a last_init macro for constructor functions that will be executed last in the initialization process. Add a symmetrical macro, last_exit, for destructor functions that will be the last to be executed when kvmtool exits. The list priority for the late_{init, exit} macros has been bumped down a spot, but their relative priority remains unchanged, to keep the same size for the init_lists and exit_lists. Signed-off-by: Alexandru Elisei Signed-off-by: Suzuki K Poulose --- include/kvm/util-init.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/kvm/util-init.h b/include/kvm/util-init.h index 13d4f04d..e6a0e169 100644 --- a/include/kvm/util-init.h +++ b/include/kvm/util-init.h @@ -39,7 +39,8 @@ static void __attribute__ ((constructor)) __init__##cb(void) \ #define dev_init(cb) __init_list_add(cb, 5) #define virtio_dev_init(cb) __init_list_add(cb, 6) #define firmware_init(cb) __init_list_add(cb, 7) -#define late_init(cb) __init_list_add(cb, 9) +#define late_init(cb) __init_list_add(cb, 8) +#define last_init(cb) __init_list_add(cb, 9) #define core_exit(cb) __exit_list_add(cb, 0) #define base_exit(cb) __exit_list_add(cb, 2) @@ -47,5 +48,6 @@ static void __attribute__ ((constructor)) __init__##cb(void) \ #define dev_exit(cb) __exit_list_add(cb, 5) #define virtio_dev_exit(cb) __exit_list_add(cb, 6) #define firmware_exit(cb) __exit_list_add(cb, 7) -#define late_exit(cb) __exit_list_add(cb, 9) +#define late_exit(cb) __exit_list_add(cb, 8) +#define last_exit(cb) __exit_list_add(cb, 9) #endif