From nobody Tue Feb 10 04:16:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1616420366; cv=none; d=zohomail.com; s=zohoarc; b=ZXNLqBapUE5X6PX8XqL7ZspKBm6/8wdwCRjTFsBRF5Hx+URAFcx8s/LtUFqcnHBUluIvYstsVGQo2k8At/oNfQqYx/mpGMWwza20I5LgReljzjvB3Oazzk5WTufJ1FRoVpu9uQrzw2nXhr8MV4Qnx9ZeTUvfWpzx5zFr9v+QtpY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616420366; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=TEmv5KUJCkb5ZfnK94XDUYA7xU5IlrHnM7NcThxt010=; b=cebEUrMvgJWYnmX1KgdWZaVCwVOP0iCPEqqr7Y5Ww/ieEGTWE70BLeU824hdzwF2KMng3RH/hQXN6MugBkR1hRUzPk27atfJvnsCKrwzsKCbZAyO8QZLsHSr5UAWcqCtNSsD2ct2RLk7f1IqaNtAvaWD1RbjPfM/U1rYYi4qRmc= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1616420366025686.0375591041445; Mon, 22 Mar 2021 06:39:26 -0700 (PDT) Received: from localhost ([::1]:56392 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lOKmC-0004vE-Vc for importer@patchew.org; Mon, 22 Mar 2021 09:39:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53500) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOKbY-00013t-TZ for qemu-devel@nongnu.org; Mon, 22 Mar 2021 09:28:24 -0400 Received: from mx2.suse.de ([195.135.220.15]:45248) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOKbT-0001je-O3 for qemu-devel@nongnu.org; Mon, 22 Mar 2021 09:28:24 -0400 Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id DF073AE56; Mon, 22 Mar 2021 13:28:06 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de From: Claudio Fontana To: Paolo Bonzini , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Eduardo Habkost , Peter Maydell , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH v28 08/23] meson: add target_user_arch Date: Mon, 22 Mar 2021 14:27:45 +0100 Message-Id: <20210322132800.7470-10-cfontana@suse.de> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210322132800.7470-1-cfontana@suse.de> References: <20210322132800.7470-1-cfontana@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=195.135.220.15; envelope-from=cfontana@suse.de; helo=mx2.suse.de X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , Roman Bolshakov , Claudio Fontana , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" the lack of target_user_arch makes it hard to fully leverage the build system in order to separate user code from sysemu code. Provide it, so that we can avoid the proliferation of #ifdef in target code. Signed-off-by: Claudio Fontana Reviewed-by: Alex Benn=C3=A9e [claudio: added changes for new target hexagon] Signed-off-by: Claudio Fontana --- meson.build | 5 +++++ target/alpha/meson.build | 3 +++ target/arm/meson.build | 2 ++ target/cris/meson.build | 3 +++ target/hexagon/meson.build | 3 +++ target/hppa/meson.build | 3 +++ target/i386/meson.build | 2 ++ target/m68k/meson.build | 3 +++ target/microblaze/meson.build | 3 +++ target/mips/meson.build | 2 ++ target/nios2/meson.build | 3 +++ target/openrisc/meson.build | 3 +++ target/ppc/meson.build | 3 +++ target/riscv/meson.build | 3 +++ target/s390x/meson.build | 3 +++ target/sh4/meson.build | 3 +++ target/sparc/meson.build | 3 +++ target/tricore/meson.build | 3 +++ target/xtensa/meson.build | 3 +++ 19 files changed, 56 insertions(+) diff --git a/meson.build b/meson.build index 5c85a15364..3be616e39b 100644 --- a/meson.build +++ b/meson.build @@ -1752,6 +1752,7 @@ modules =3D {} hw_arch =3D {} target_arch =3D {} target_softmmu_arch =3D {} +target_user_arch =3D {} =20 ############### # Trace files # @@ -2150,6 +2151,10 @@ foreach target : target_dirs abi =3D config_target['TARGET_ABI_DIR'] target_type=3D'user' qemu_target_name =3D 'qemu-' + target_name + t =3D target_user_arch[arch].apply(config_target, strict: false) + arch_srcs +=3D t.sources() + arch_deps +=3D t.dependencies() + if 'CONFIG_LINUX_USER' in config_target base_dir =3D 'linux-user' target_inc +=3D include_directories('linux-user/host/' / config_host= ['ARCH']) diff --git a/target/alpha/meson.build b/target/alpha/meson.build index 1aec55abb4..1b0555d3ee 100644 --- a/target/alpha/meson.build +++ b/target/alpha/meson.build @@ -14,5 +14,8 @@ alpha_ss.add(files( alpha_softmmu_ss =3D ss.source_set() alpha_softmmu_ss.add(files('machine.c')) =20 +alpha_user_ss =3D ss.source_set() + target_arch +=3D {'alpha': alpha_ss} target_softmmu_arch +=3D {'alpha': alpha_softmmu_ss} +target_user_arch +=3D {'alpha': alpha_user_ss} diff --git a/target/arm/meson.build b/target/arm/meson.build index 15b936c101..a96af5ee1b 100644 --- a/target/arm/meson.build +++ b/target/arm/meson.build @@ -53,6 +53,8 @@ arm_softmmu_ss.add(files( 'monitor.c', 'psci.c', )) +arm_user_ss =3D ss.source_set() =20 target_arch +=3D {'arm': arm_ss} target_softmmu_arch +=3D {'arm': arm_softmmu_ss} +target_user_arch +=3D {'arm': arm_user_ss} diff --git a/target/cris/meson.build b/target/cris/meson.build index 67c3793c85..7fd81e0348 100644 --- a/target/cris/meson.build +++ b/target/cris/meson.build @@ -10,5 +10,8 @@ cris_ss.add(files( cris_softmmu_ss =3D ss.source_set() cris_softmmu_ss.add(files('mmu.c', 'machine.c')) =20 +cris_user_ss =3D ss.source_set() + target_arch +=3D {'cris': cris_ss} target_softmmu_arch +=3D {'cris': cris_softmmu_ss} +target_user_arch +=3D {'cris': cris_user_ss} diff --git a/target/hexagon/meson.build b/target/hexagon/meson.build index 15318a6fa7..e92d45400d 100644 --- a/target/hexagon/meson.build +++ b/target/hexagon/meson.build @@ -188,4 +188,7 @@ hexagon_ss.add(files( 'conv_emu.c', )) =20 +hexagon_user_ss =3D ss.source_set() + target_arch +=3D {'hexagon': hexagon_ss} +target_user_arch +=3D {'hexagon': hexagon_user_ss} diff --git a/target/hppa/meson.build b/target/hppa/meson.build index 8a7ff82efc..85ad314671 100644 --- a/target/hppa/meson.build +++ b/target/hppa/meson.build @@ -15,5 +15,8 @@ hppa_ss.add(files( hppa_softmmu_ss =3D ss.source_set() hppa_softmmu_ss.add(files('machine.c')) =20 +hppa_user_ss =3D ss.source_set() + target_arch +=3D {'hppa': hppa_ss} target_softmmu_arch +=3D {'hppa': hppa_softmmu_ss} +target_user_arch +=3D {'hppa': hppa_user_ss} diff --git a/target/i386/meson.build b/target/i386/meson.build index fd24479590..cac26a4581 100644 --- a/target/i386/meson.build +++ b/target/i386/meson.build @@ -19,6 +19,7 @@ i386_softmmu_ss.add(files( 'machine.c', 'monitor.c', )) +i386_user_ss =3D ss.source_set() =20 subdir('kvm') subdir('hax') @@ -28,3 +29,4 @@ subdir('tcg') =20 target_arch +=3D {'i386': i386_ss} target_softmmu_arch +=3D {'i386': i386_softmmu_ss} +target_user_arch +=3D {'i386': i386_user_ss} diff --git a/target/m68k/meson.build b/target/m68k/meson.build index 05cd9fbd1e..b507682684 100644 --- a/target/m68k/meson.build +++ b/target/m68k/meson.build @@ -13,5 +13,8 @@ m68k_ss.add(files( m68k_softmmu_ss =3D ss.source_set() m68k_softmmu_ss.add(files('monitor.c')) =20 +m68k_user_ss =3D ss.source_set() + target_arch +=3D {'m68k': m68k_ss} target_softmmu_arch +=3D {'m68k': m68k_softmmu_ss} +target_user_arch +=3D {'m68k': m68k_user_ss} diff --git a/target/microblaze/meson.build b/target/microblaze/meson.build index 05ee0ec163..52d8fcb0a3 100644 --- a/target/microblaze/meson.build +++ b/target/microblaze/meson.build @@ -16,5 +16,8 @@ microblaze_softmmu_ss.add(files( 'machine.c', )) =20 +microblaze_user_ss =3D ss.source_set() + target_arch +=3D {'microblaze': microblaze_ss} target_softmmu_arch +=3D {'microblaze': microblaze_softmmu_ss} +target_user_arch +=3D {'microblaze': microblaze_user_ss} diff --git a/target/mips/meson.build b/target/mips/meson.build index 3b131c4a7f..91cda7f0a5 100644 --- a/target/mips/meson.build +++ b/target/mips/meson.build @@ -47,6 +47,8 @@ mips_softmmu_ss.add(when: 'CONFIG_TCG', if_true: files( )) =20 mips_ss.add_all(when: 'CONFIG_TCG', if_true: [mips_tcg_ss]) +mips_user_ss =3D ss.source_set() =20 target_arch +=3D {'mips': mips_ss} target_softmmu_arch +=3D {'mips': mips_softmmu_ss} +target_user_arch +=3D {'mips': mips_user_ss} diff --git a/target/nios2/meson.build b/target/nios2/meson.build index e643917db1..00367056fa 100644 --- a/target/nios2/meson.build +++ b/target/nios2/meson.build @@ -11,5 +11,8 @@ nios2_ss.add(files( nios2_softmmu_ss =3D ss.source_set() nios2_softmmu_ss.add(files('monitor.c')) =20 +nios2_user_ss =3D ss.source_set() + target_arch +=3D {'nios2': nios2_ss} target_softmmu_arch +=3D {'nios2': nios2_softmmu_ss} +target_user_arch +=3D {'nios2': nios2_user_ss} diff --git a/target/openrisc/meson.build b/target/openrisc/meson.build index 9774a58306..794a9e8161 100644 --- a/target/openrisc/meson.build +++ b/target/openrisc/meson.build @@ -19,5 +19,8 @@ openrisc_ss.add(files( openrisc_softmmu_ss =3D ss.source_set() openrisc_softmmu_ss.add(files('machine.c')) =20 +openrisc_user_ss =3D ss.source_set() + target_arch +=3D {'openrisc': openrisc_ss} target_softmmu_arch +=3D {'openrisc': openrisc_softmmu_ss} +target_user_arch +=3D {'openrisc': openrisc_user_ss} diff --git a/target/ppc/meson.build b/target/ppc/meson.build index bbfef90e08..cdd69bf989 100644 --- a/target/ppc/meson.build +++ b/target/ppc/meson.build @@ -33,5 +33,8 @@ ppc_softmmu_ss.add(when: 'TARGET_PPC64', if_true: files( 'mmu-radix64.c', )) =20 +ppc_user_ss =3D ss.source_set() + target_arch +=3D {'ppc': ppc_ss} target_softmmu_arch +=3D {'ppc': ppc_softmmu_ss} +target_user_arch +=3D {'ppc': ppc_user_ss} diff --git a/target/riscv/meson.build b/target/riscv/meson.build index 88ab850682..867c4f95df 100644 --- a/target/riscv/meson.build +++ b/target/riscv/meson.build @@ -32,5 +32,8 @@ riscv_softmmu_ss.add(files( 'machine.c' )) =20 +riscv_user_ss =3D ss.source_set() + target_arch +=3D {'riscv': riscv_ss} target_softmmu_arch +=3D {'riscv': riscv_softmmu_ss} +target_user_arch +=3D {'riscv': riscv_user_ss} diff --git a/target/s390x/meson.build b/target/s390x/meson.build index c42eadb7d2..1219f64112 100644 --- a/target/s390x/meson.build +++ b/target/s390x/meson.build @@ -58,5 +58,8 @@ if host_machine.cpu_family() =3D=3D 's390x' and cc.has_li= nk_argument('-Wl,--s390-pgs if_true: declare_dependency(link_args: ['-Wl,--s390= -pgste'])) endif =20 +s390x_user_ss =3D ss.source_set() + target_arch +=3D {'s390x': s390x_ss} target_softmmu_arch +=3D {'s390x': s390x_softmmu_ss} +target_user_arch +=3D {'s390x': s390x_user_ss} diff --git a/target/sh4/meson.build b/target/sh4/meson.build index 56a57576da..5a05729bc1 100644 --- a/target/sh4/meson.build +++ b/target/sh4/meson.build @@ -10,5 +10,8 @@ sh4_ss.add(files( sh4_softmmu_ss =3D ss.source_set() sh4_softmmu_ss.add(files('monitor.c')) =20 +sh4_user_ss =3D ss.source_set() + target_arch +=3D {'sh4': sh4_ss} target_softmmu_arch +=3D {'sh4': sh4_softmmu_ss} +target_user_arch +=3D {'sh4': sh4_user_ss} diff --git a/target/sparc/meson.build b/target/sparc/meson.build index a3638b9503..cc77a77064 100644 --- a/target/sparc/meson.build +++ b/target/sparc/meson.build @@ -19,5 +19,8 @@ sparc_softmmu_ss.add(files( 'monitor.c', )) =20 +sparc_user_ss =3D ss.source_set() + target_arch +=3D {'sparc': sparc_ss} target_softmmu_arch +=3D {'sparc': sparc_softmmu_ss} +target_user_arch +=3D {'sparc': sparc_user_ss} diff --git a/target/tricore/meson.build b/target/tricore/meson.build index 0ccc829517..7086ae1a22 100644 --- a/target/tricore/meson.build +++ b/target/tricore/meson.build @@ -11,5 +11,8 @@ tricore_ss.add(zlib) =20 tricore_softmmu_ss =3D ss.source_set() =20 +tricore_user_ss =3D ss.source_set() + target_arch +=3D {'tricore': tricore_ss} target_softmmu_arch +=3D {'tricore': tricore_softmmu_ss} +target_user_arch +=3D {'tricore': tricore_user_ss} diff --git a/target/xtensa/meson.build b/target/xtensa/meson.build index dd750a977e..949b2c8334 100644 --- a/target/xtensa/meson.build +++ b/target/xtensa/meson.build @@ -28,5 +28,8 @@ xtensa_softmmu_ss.add(files( 'xtensa-semi.c', )) =20 +xtensa_user_ss =3D ss.source_set() + target_arch +=3D {'xtensa': xtensa_ss} target_softmmu_arch +=3D {'xtensa': xtensa_softmmu_ss} +target_user_arch +=3D {'xtensa': xtensa_user_ss} --=20 2.26.2