From nobody Thu Oct 16 02:03:59 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753913336; cv=none; d=zohomail.com; s=zohoarc; b=f9DdjPHq9aN8TbfnRR2GMMI6TA9sns01ik2ZaMzt2UYnCFRi6cmG4kMSgoB4Xg0d8oKd/Mn1dBgnwXbfoYKJDtJaOd8WTR+6IVHf3oe8bscASWMAytWR7Cu1IL7h/JXpjQ1P+JU9pTdGgNAaWj4YOMQir8f5h+5Qq6MBmI7+nxs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753913336; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=RoNm7U00pAvjq15KlpIImm1YaVKuDZKIJnlO/PLtbUE=; b=QcAR1lDgxapQy0ygVxHqmCHdTiXivKk6XpxZwaZEehuC3nlqdmTzeHHSTGHt2HBcELIXDSNkL323rW2RgpD+RpqDpgXlaDM1pO7e4VFzz427b9cf/SdzsHuVUyoFdKG/OHFI1raFZeuqkFTVMmxlYzlhm6NA9WMaq5ggmIN+dYo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753913336386151.39229557175838; Wed, 30 Jul 2025 15:08:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhEyL-0006km-Og; Wed, 30 Jul 2025 18:08:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhEwW-0001C1-Ak for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:37 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uhEwQ-0002YR-LY for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:35 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-23fc5aedaf0so2988875ad.2 for ; Wed, 30 Jul 2025 15:06:30 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241e899d272sm981535ad.135.2025.07.30.15.06.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Jul 2025 15:06:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753913189; x=1754517989; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=RoNm7U00pAvjq15KlpIImm1YaVKuDZKIJnlO/PLtbUE=; b=tbucMHE+IBhce9PAjSDnPJWmrF5r+gmeZM0HErAPQxnkB9Xv4Vk8oTEi/NMupuUHzt DHjm0EUpNBGcNxlNLLwcoBO0tBIEzf8vGtf9TnnruJWftzZQ4WXlCq4+J0qew4mpZxvZ 8/vQlg3NI/KkZLzP4Z0342EDvGepR9jL91buWP7h0x2gjmAcEUeuW7Mz9T3P5wAOHE9u 9kW/aEmToNaORHMjfm+e0BUbenIa9ymlg455mCI0l7K7GARjUOdEiQV66/v7EoDadBKJ 8yhPNSsMYEALIzQI6i/yNth276jY0UySh0q+ezhGP3w01+F3n3FedmskKQU0BAg5CTwr FQvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753913189; x=1754517989; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RoNm7U00pAvjq15KlpIImm1YaVKuDZKIJnlO/PLtbUE=; b=swQF3c/J7oXg9ZCYiOy14dze8ybejPnKJXPA5SdVr68umTG26F7VmMS4F8q9CEAOAk p+0xx53NQW6e8nE4WXG/QQUPkYGx693jmwxSMju7t29ZcsRzQ2qeqveFwxXkF2GYM/65 ARYOPhSB7bvYxfRBBOSKh+Y8j95Reou9zkp3O7xOrs70HDTtJk5ztxKdkCk8l3rqz5FC 1Qyi/uGgQYP/QB+tkLtiBxB1u0wcTTT3JUMKbr/v+cXecjtk0sj3Qr2kABFlaUEha6JN LGf/T3EdSCNidt5a8ux1cy5d4PUG2j2w6YbN696crK43HOAUEv8TUE2yUb5g/Q1OwCPN lvOw== X-Gm-Message-State: AOJu0YwpBiI8pYFWYvkGk+tGr9KYKevRDbB2CvrVeM/ujo3UhdvjixuJ KbWrEWdJIgo6WCpMbBES8LwOseuZDhkOwsLfwnyPicSRK1t4BMqF6sTKUarFZm+JRVTXI/ZtZqB JevAp X-Gm-Gg: ASbGncuRQw8Z4Uhu/7RP88kJQc8mgZ96uTvVmMXFvOkTSqgDjm4M1aquLPtLBj2PlVc yyl8oD5WObA7AbCxoI1xZ2fXncdO2W9C0yeUNUrBWdZv6QxguIpcZ7Hp0nSSGjrbzw6Ufut/22Q LiJEXPssaMufMBtH2eonHwNLzjxqAlgwrSZ5JaEqxMRaTQ3Qb/2CWQXEN1eCgTXxK7L7/xtb9Sv RNbdYJZaGCaxwEQpD+RSVTdfLPrP/BX2dfV/mquqqijnukjEEiXMCGKxCcs7MuU22h0OfwxTTlb Vvj7k64lU3C0ELs/m2Y6X6B4ydnm4gQnJLOaSfuL3dX2mCDcTa2tdedPhdkbuJBY7yogCjFxsDZ SJ3EwUgOqvCIMFKbGuoTwYA== X-Google-Smtp-Source: AGHT+IHLJ1GVCz2qh8UdBvhEHWisLb6HNvujz35vB7TuCJJ9Oh1Gm/9ygnDXkXO3pzfmoHhkzh+MMA== X-Received: by 2002:a17:903:1a86:b0:240:86b2:aeb6 with SMTP id d9443c01a7336-24096b1e031mr66625015ad.26.1753913189047; Wed, 30 Jul 2025 15:06:29 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Daniel Henrique Barboza , Peter Maydell , qemu-arm@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Weiwei Li , philmd@linaro.org, Liu Zhiwei , Palmer Dabbelt , richard.henderson@linaro.org, qemu-riscv@nongnu.org, Alistair Francis , Pierrick Bouvier Subject: [PATCH 01/10] semihosting/syscalls: compile once in system and per target for user mode Date: Wed, 30 Jul 2025 15:06:12 -0700 Message-ID: <20250730220621.1142496-2-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> References: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::634; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x634.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1753913337763116600 Content-Type: text/plain; charset="utf-8" We replace target_ulong mechanically by uint64_t. We can't compile (easily) this code once for user, as it relies on various target/function types, so leave it in specific_ss for user mode. Signed-off-by: Pierrick Bouvier --- include/semihosting/syscalls.h | 29 ++++++----- semihosting/arm-compat-semi.c | 1 + semihosting/syscalls.c | 89 +++++++++++++++++----------------- semihosting/meson.build | 4 +- 4 files changed, 62 insertions(+), 61 deletions(-) diff --git a/include/semihosting/syscalls.h b/include/semihosting/syscalls.h index 6627c45fb28..abee23294fb 100644 --- a/include/semihosting/syscalls.h +++ b/include/semihosting/syscalls.h @@ -9,7 +9,6 @@ #ifndef SEMIHOSTING_SYSCALLS_H #define SEMIHOSTING_SYSCALLS_H =20 -#include "exec/cpu-defs.h" #include "gdbstub/syscalls.h" =20 /* @@ -24,23 +23,23 @@ typedef struct GuestFD GuestFD; =20 void semihost_sys_open(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong fname, target_ulong fname_len, + uint64_t fname, uint64_t fname_len, int gdb_flags, int mode); =20 void semihost_sys_close(CPUState *cs, gdb_syscall_complete_cb complete, int fd); =20 void semihost_sys_read(CPUState *cs, gdb_syscall_complete_cb complete, - int fd, target_ulong buf, target_ulong len); + int fd, uint64_t buf, uint64_t len); =20 void semihost_sys_read_gf(CPUState *cs, gdb_syscall_complete_cb complete, - GuestFD *gf, target_ulong buf, target_ulong len); + GuestFD *gf, uint64_t buf, uint64_t len); =20 void semihost_sys_write(CPUState *cs, gdb_syscall_complete_cb complete, - int fd, target_ulong buf, target_ulong len); + int fd, uint64_t buf, uint64_t len); =20 void semihost_sys_write_gf(CPUState *cs, gdb_syscall_complete_cb complete, - GuestFD *gf, target_ulong buf, target_ulong len= ); + GuestFD *gf, uint64_t buf, uint64_t len); =20 void semihost_sys_lseek(CPUState *cs, gdb_syscall_complete_cb complete, int fd, int64_t off, int gdb_whence); @@ -50,27 +49,27 @@ void semihost_sys_isatty(CPUState *cs, gdb_syscall_comp= lete_cb complete, =20 void semihost_sys_flen(CPUState *cs, gdb_syscall_complete_cb fstat_cb, gdb_syscall_complete_cb flen_cb, - int fd, target_ulong fstat_addr); + int fd, uint64_t fstat_addr); =20 void semihost_sys_fstat(CPUState *cs, gdb_syscall_complete_cb complete, - int fd, target_ulong addr); + int fd, uint64_t addr); =20 void semihost_sys_stat(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong fname, target_ulong fname_len, - target_ulong addr); + uint64_t fname, uint64_t fname_len, + uint64_t addr); =20 void semihost_sys_remove(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong fname, target_ulong fname_len); + uint64_t fname, uint64_t fname_len); =20 void semihost_sys_rename(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong oname, target_ulong oname_len, - target_ulong nname, target_ulong nname_len); + uint64_t oname, uint64_t oname_len, + uint64_t nname, uint64_t nname_len); =20 void semihost_sys_system(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong cmd, target_ulong cmd_len); + uint64_t cmd, uint64_t cmd_len); =20 void semihost_sys_gettimeofday(CPUState *cs, gdb_syscall_complete_cb compl= ete, - target_ulong tv_addr, target_ulong tz_addr); + uint64_t tv_addr, uint64_t tz_addr); =20 void semihost_sys_poll_one(CPUState *cs, gdb_syscall_complete_cb complete, int fd, GIOCondition cond, int timeout); diff --git a/semihosting/arm-compat-semi.c b/semihosting/arm-compat-semi.c index 86e5260e504..40dc778529d 100644 --- a/semihosting/arm-compat-semi.c +++ b/semihosting/arm-compat-semi.c @@ -34,6 +34,7 @@ #include "qemu/osdep.h" #include "qemu/timer.h" #include "exec/gdbstub.h" +#include "cpu.h" #include "gdbstub/syscalls.h" #include "semihosting/semihost.h" #include "semihosting/console.h" diff --git a/semihosting/syscalls.c b/semihosting/syscalls.c index f6451d9bb0e..9799a5b08c1 100644 --- a/semihosting/syscalls.c +++ b/semihosting/syscalls.c @@ -8,7 +8,6 @@ =20 #include "qemu/osdep.h" #include "qemu/log.h" -#include "cpu.h" #include "gdbstub/syscalls.h" #include "semihosting/guestfd.h" #include "semihosting/syscalls.h" @@ -23,7 +22,7 @@ /* * Validate or compute the length of the string (including terminator). */ -static int validate_strlen(CPUState *cs, target_ulong str, target_ulong tl= en) +static int validate_strlen(CPUState *cs, uint64_t str, uint64_t tlen) { CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); char c; @@ -52,7 +51,7 @@ static int validate_strlen(CPUState *cs, target_ulong str= , target_ulong tlen) } =20 static int validate_lock_user_string(char **pstr, CPUState *cs, - target_ulong tstr, target_ulong tlen) + uint64_t tstr, uint64_t tlen) { int ret =3D validate_strlen(cs, tstr, tlen); CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); @@ -72,7 +71,7 @@ static int validate_lock_user_string(char **pstr, CPUStat= e *cs, * big-endian. Until we do something with gdb, also produce the * same big-endian result from the host. */ -static int copy_stat_to_user(CPUState *cs, target_ulong addr, +static int copy_stat_to_user(CPUState *cs, uint64_t addr, const struct stat *s) { CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); @@ -129,7 +128,7 @@ static void gdb_open_cb(CPUState *cs, uint64_t ret, int= err) } =20 static void gdb_open(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong fname, target_ulong fname_len, + uint64_t fname, uint64_t fname_len, int gdb_flags, int mode) { int len =3D validate_strlen(cs, fname, fname_len); @@ -151,14 +150,14 @@ static void gdb_close(CPUState *cs, gdb_syscall_compl= ete_cb complete, } =20 static void gdb_read(CPUState *cs, gdb_syscall_complete_cb complete, - GuestFD *gf, target_ulong buf, target_ulong len) + GuestFD *gf, uint64_t buf, uint64_t len) { gdb_do_syscall(complete, "read,%x,%lx,%lx", (uint32_t)gf->hostfd, (uint64_t)buf, (uint64_t)len); } =20 static void gdb_write(CPUState *cs, gdb_syscall_complete_cb complete, - GuestFD *gf, target_ulong buf, target_ulong len) + GuestFD *gf, uint64_t buf, uint64_t len) { gdb_do_syscall(complete, "write,%x,%lx,%lx", (uint32_t)gf->hostfd, (uint64_t)buf, (uint64_t)len); @@ -178,15 +177,15 @@ static void gdb_isatty(CPUState *cs, gdb_syscall_comp= lete_cb complete, } =20 static void gdb_fstat(CPUState *cs, gdb_syscall_complete_cb complete, - GuestFD *gf, target_ulong addr) + GuestFD *gf, uint64_t addr) { gdb_do_syscall(complete, "fstat,%x,%lx", (uint32_t)gf->hostfd, (uint64_t)addr); } =20 static void gdb_stat(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong fname, target_ulong fname_len, - target_ulong addr) + uint64_t fname, uint64_t fname_len, + uint64_t addr) { int len =3D validate_strlen(cs, fname, fname_len); if (len < 0) { @@ -199,7 +198,7 @@ static void gdb_stat(CPUState *cs, gdb_syscall_complete= _cb complete, } =20 static void gdb_remove(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong fname, target_ulong fname_len) + uint64_t fname, uint64_t fname_len) { int len =3D validate_strlen(cs, fname, fname_len); if (len < 0) { @@ -211,8 +210,8 @@ static void gdb_remove(CPUState *cs, gdb_syscall_comple= te_cb complete, } =20 static void gdb_rename(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong oname, target_ulong oname_len, - target_ulong nname, target_ulong nname_len) + uint64_t oname, uint64_t oname_len, + uint64_t nname, uint64_t nname_len) { int olen, nlen; =20 @@ -233,7 +232,7 @@ static void gdb_rename(CPUState *cs, gdb_syscall_comple= te_cb complete, } =20 static void gdb_system(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong cmd, target_ulong cmd_len) + uint64_t cmd, uint64_t cmd_len) { int len =3D validate_strlen(cs, cmd, cmd_len); if (len < 0) { @@ -245,7 +244,7 @@ static void gdb_system(CPUState *cs, gdb_syscall_comple= te_cb complete, } =20 static void gdb_gettimeofday(CPUState *cs, gdb_syscall_complete_cb complet= e, - target_ulong tv_addr, target_ulong tz_addr) + uint64_t tv_addr, uint64_t tz_addr) { gdb_do_syscall(complete, "gettimeofday,%lx,%lx", (uint64_t)tv_addr, (uint64_t)tz_addr); @@ -256,7 +255,7 @@ static void gdb_gettimeofday(CPUState *cs, gdb_syscall_= complete_cb complete, */ =20 static void host_open(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong fname, target_ulong fname_len, + uint64_t fname, uint64_t fname_len, int gdb_flags, int mode) { CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); @@ -316,7 +315,7 @@ static void host_close(CPUState *cs, gdb_syscall_comple= te_cb complete, } =20 static void host_read(CPUState *cs, gdb_syscall_complete_cb complete, - GuestFD *gf, target_ulong buf, target_ulong len) + GuestFD *gf, uint64_t buf, uint64_t len) { CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); void *ptr =3D lock_user(VERIFY_WRITE, buf, len, 0); @@ -337,7 +336,7 @@ static void host_read(CPUState *cs, gdb_syscall_complet= e_cb complete, } =20 static void host_write(CPUState *cs, gdb_syscall_complete_cb complete, - GuestFD *gf, target_ulong buf, target_ulong len) + GuestFD *gf, uint64_t buf, uint64_t len) { CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); void *ptr =3D lock_user(VERIFY_READ, buf, len, 1); @@ -395,7 +394,7 @@ static void host_flen(CPUState *cs, gdb_syscall_complet= e_cb complete, } =20 static void host_fstat(CPUState *cs, gdb_syscall_complete_cb complete, - GuestFD *gf, target_ulong addr) + GuestFD *gf, uint64_t addr) { struct stat buf; int ret; @@ -410,8 +409,8 @@ static void host_fstat(CPUState *cs, gdb_syscall_comple= te_cb complete, } =20 static void host_stat(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong fname, target_ulong fname_len, - target_ulong addr) + uint64_t fname, uint64_t fname_len, + uint64_t addr) { CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); struct stat buf; @@ -440,7 +439,7 @@ static void host_stat(CPUState *cs, gdb_syscall_complet= e_cb complete, } =20 static void host_remove(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong fname, target_ulong fname_len) + uint64_t fname, uint64_t fname_len) { CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); char *p; @@ -458,8 +457,8 @@ static void host_remove(CPUState *cs, gdb_syscall_compl= ete_cb complete, } =20 static void host_rename(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong oname, target_ulong oname_len, - target_ulong nname, target_ulong nname_len) + uint64_t oname, uint64_t oname_len, + uint64_t nname, uint64_t nname_len) { CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); char *ostr, *nstr; @@ -484,7 +483,7 @@ static void host_rename(CPUState *cs, gdb_syscall_compl= ete_cb complete, } =20 static void host_system(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong cmd, target_ulong cmd_len) + uint64_t cmd, uint64_t cmd_len) { CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); char *p; @@ -502,7 +501,7 @@ static void host_system(CPUState *cs, gdb_syscall_compl= ete_cb complete, } =20 static void host_gettimeofday(CPUState *cs, gdb_syscall_complete_cb comple= te, - target_ulong tv_addr, target_ulong tz_addr) + uint64_t tv_addr, uint64_t tz_addr) { CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); struct gdb_timeval *p; @@ -547,10 +546,10 @@ static void host_poll_one(CPUState *cs, gdb_syscall_c= omplete_cb complete, */ =20 static void staticfile_read(CPUState *cs, gdb_syscall_complete_cb complete, - GuestFD *gf, target_ulong buf, target_ulong le= n) + GuestFD *gf, uint64_t buf, uint64_t len) { CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); - target_ulong rest =3D gf->staticfile.len - gf->staticfile.off; + uint64_t rest =3D gf->staticfile.len - gf->staticfile.off; void *ptr; =20 if (len > rest) { @@ -605,7 +604,7 @@ static void staticfile_flen(CPUState *cs, gdb_syscall_c= omplete_cb complete, */ =20 static void console_read(CPUState *cs, gdb_syscall_complete_cb complete, - GuestFD *gf, target_ulong buf, target_ulong len) + GuestFD *gf, uint64_t buf, uint64_t len) { CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); char *ptr; @@ -622,7 +621,7 @@ static void console_read(CPUState *cs, gdb_syscall_comp= lete_cb complete, } =20 static void console_write(CPUState *cs, gdb_syscall_complete_cb complete, - GuestFD *gf, target_ulong buf, target_ulong len) + GuestFD *gf, uint64_t buf, uint64_t len) { CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); char *ptr =3D lock_user(VERIFY_READ, buf, len, 1); @@ -638,7 +637,7 @@ static void console_write(CPUState *cs, gdb_syscall_com= plete_cb complete, } =20 static void console_fstat(CPUState *cs, gdb_syscall_complete_cb complete, - GuestFD *gf, target_ulong addr) + GuestFD *gf, uint64_t addr) { static const struct stat tty_buf =3D { .st_mode =3D 020666, /* S_IFCHR, ugo+rw */ @@ -683,7 +682,7 @@ static void console_poll_one(CPUState *cs, gdb_syscall_= complete_cb complete, */ =20 void semihost_sys_open(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong fname, target_ulong fname_len, + uint64_t fname, uint64_t fname_len, int gdb_flags, int mode) { if (use_gdb_syscalls()) { @@ -719,7 +718,7 @@ void semihost_sys_close(CPUState *cs, gdb_syscall_compl= ete_cb complete, int fd) } =20 void semihost_sys_read_gf(CPUState *cs, gdb_syscall_complete_cb complete, - GuestFD *gf, target_ulong buf, target_ulong len) + GuestFD *gf, uint64_t buf, uint64_t len) { /* * Bound length for 64-bit guests on 32-bit hosts, not overflowing ssi= ze_t. @@ -748,7 +747,7 @@ void semihost_sys_read_gf(CPUState *cs, gdb_syscall_com= plete_cb complete, } =20 void semihost_sys_read(CPUState *cs, gdb_syscall_complete_cb complete, - int fd, target_ulong buf, target_ulong len) + int fd, uint64_t buf, uint64_t len) { GuestFD *gf =3D get_guestfd(fd); =20 @@ -760,7 +759,7 @@ void semihost_sys_read(CPUState *cs, gdb_syscall_comple= te_cb complete, } =20 void semihost_sys_write_gf(CPUState *cs, gdb_syscall_complete_cb complete, - GuestFD *gf, target_ulong buf, target_ulong len) + GuestFD *gf, uint64_t buf, uint64_t len) { /* * Bound length for 64-bit guests on 32-bit hosts, not overflowing ssi= ze_t. @@ -790,7 +789,7 @@ void semihost_sys_write_gf(CPUState *cs, gdb_syscall_co= mplete_cb complete, } =20 void semihost_sys_write(CPUState *cs, gdb_syscall_complete_cb complete, - int fd, target_ulong buf, target_ulong len) + int fd, uint64_t buf, uint64_t len) { GuestFD *gf =3D get_guestfd(fd); =20 @@ -856,7 +855,7 @@ void semihost_sys_isatty(CPUState *cs, gdb_syscall_comp= lete_cb complete, int fd) =20 void semihost_sys_flen(CPUState *cs, gdb_syscall_complete_cb fstat_cb, gdb_syscall_complete_cb flen_cb, int fd, - target_ulong fstat_addr) + uint64_t fstat_addr) { GuestFD *gf =3D get_guestfd(fd); =20 @@ -881,7 +880,7 @@ void semihost_sys_flen(CPUState *cs, gdb_syscall_comple= te_cb fstat_cb, } =20 void semihost_sys_fstat(CPUState *cs, gdb_syscall_complete_cb complete, - int fd, target_ulong addr) + int fd, uint64_t addr) { GuestFD *gf =3D get_guestfd(fd); =20 @@ -906,8 +905,8 @@ void semihost_sys_fstat(CPUState *cs, gdb_syscall_compl= ete_cb complete, } =20 void semihost_sys_stat(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong fname, target_ulong fname_len, - target_ulong addr) + uint64_t fname, uint64_t fname_len, + uint64_t addr) { if (use_gdb_syscalls()) { gdb_stat(cs, complete, fname, fname_len, addr); @@ -917,7 +916,7 @@ void semihost_sys_stat(CPUState *cs, gdb_syscall_comple= te_cb complete, } =20 void semihost_sys_remove(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong fname, target_ulong fname_len) + uint64_t fname, uint64_t fname_len) { if (use_gdb_syscalls()) { gdb_remove(cs, complete, fname, fname_len); @@ -927,8 +926,8 @@ void semihost_sys_remove(CPUState *cs, gdb_syscall_comp= lete_cb complete, } =20 void semihost_sys_rename(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong oname, target_ulong oname_len, - target_ulong nname, target_ulong nname_len) + uint64_t oname, uint64_t oname_len, + uint64_t nname, uint64_t nname_len) { if (use_gdb_syscalls()) { gdb_rename(cs, complete, oname, oname_len, nname, nname_len); @@ -938,7 +937,7 @@ void semihost_sys_rename(CPUState *cs, gdb_syscall_comp= lete_cb complete, } =20 void semihost_sys_system(CPUState *cs, gdb_syscall_complete_cb complete, - target_ulong cmd, target_ulong cmd_len) + uint64_t cmd, uint64_t cmd_len) { if (use_gdb_syscalls()) { gdb_system(cs, complete, cmd, cmd_len); @@ -948,7 +947,7 @@ void semihost_sys_system(CPUState *cs, gdb_syscall_comp= lete_cb complete, } =20 void semihost_sys_gettimeofday(CPUState *cs, gdb_syscall_complete_cb compl= ete, - target_ulong tv_addr, target_ulong tz_addr) + uint64_t tv_addr, uint64_t tz_addr) { if (use_gdb_syscalls()) { gdb_gettimeofday(cs, complete, tv_addr, tz_addr); diff --git a/semihosting/meson.build b/semihosting/meson.build index b1ab2506c6e..77200a7f27b 100644 --- a/semihosting/meson.build +++ b/semihosting/meson.build @@ -1,6 +1,5 @@ specific_ss.add(when: 'CONFIG_SEMIHOSTING', if_true: files( 'guestfd.c', - 'syscalls.c', )) =20 common_ss.add(when: 'CONFIG_SEMIHOSTING', if_false: files('stubs-all.c')) @@ -9,9 +8,12 @@ system_ss.add(when: 'CONFIG_SEMIHOSTING', if_true: files( 'config.c', 'console.c', 'uaccess.c', + 'syscalls.c', ), if_false: files( 'stubs-system.c', )) =20 +specific_ss.add(when: ['CONFIG_SEMIHOSTING', 'CONFIG_USER_ONLY'], + if_true: files('syscalls.c')) specific_ss.add(when: ['CONFIG_ARM_COMPATIBLE_SEMIHOSTING'], if_true: files('arm-compat-semi.c')) --=20 2.47.2 From nobody Thu Oct 16 02:03:59 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753913319; cv=none; d=zohomail.com; s=zohoarc; b=Jie9bHmvaMe+8JuJBgq6/kfUovOlJDNR5BWAU4bWS23Qavz+H/0NvuTIW0LqpQCnC6qjiTEt1XZN5ZHjTrqjogjQEz6u2lLK/9CZbgRk2vee1ZSnUHz35rGTV3q6RY5FNljjlHDi/jByaVQQ7Zdsjr/kjsgKskD2XlGurALMlF4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753913319; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=BFKbQ//LgI79f1zxRYycYxEHuzsaGiAZjs584Y89tXI=; b=RGMRdsIZTwK7XvrWHsx3cnhKcaAM3LSo81W6yVWMDOKco822ADAl9XNagDlbrAQ+cTFSQOuGCQqqaJXVik7/s5uhCtCoyRklfz84WdCZt+NyK6hq9zEFOhPNYeYtzadr+1sbS7+VJEhuBRsuhHIU0wZ1ezntXApADrtGLwcsAFE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753913319716887.4898792078399; Wed, 30 Jul 2025 15:08:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhEyE-0006Cj-Sy; Wed, 30 Jul 2025 18:08:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhEwW-0001Dn-S0 for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:37 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uhEwR-0002Z1-Bu for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:35 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-2403c13cac3so11907385ad.0 for ; Wed, 30 Jul 2025 15:06:30 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241e899d272sm981535ad.135.2025.07.30.15.06.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Jul 2025 15:06:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753913190; x=1754517990; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BFKbQ//LgI79f1zxRYycYxEHuzsaGiAZjs584Y89tXI=; b=TERUefhssIQU2adeKZZgxDshEFwxQz1ax9DkiC0kgOcVCawT66vI394+a+EA9DAqo4 rX4FStYU+6LaQfMlAlra4VvUCtydJhwNB6l6C4cseEtVUvedlXKC/YUjvU0DcBQuPbR1 /ff0NLdWOsXsbi5z/BeLlKZ7eMQbGenE0GkGaFtiY6D2RtC64foeUm+W3Ctyp0lr6chE dZviMpXm+jIDrJEfeTinvoPtuW09QwaXtkQkqemJzSim04EQownPHmhJ8612ap9pEcnL YzKyOFcTDhNsRW2vPItP2cMl4V38bnBzv4w5UP99X/rbjSSNO3NV7lqnRddi7lV659yT 3Idg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753913190; x=1754517990; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BFKbQ//LgI79f1zxRYycYxEHuzsaGiAZjs584Y89tXI=; b=lB+69lGqNLtKGH167Q3Z8WHGU93tUhNNKzSUO/OP5hAzDaJ7PGzhI7DMIBysMkzsW5 k1tm1o9tG1JUQkECPJU/kzw+jVdSlWzC98pD/nvnOufdJqTUR4nr1wxaM7UUzcJomE4t ZiCPVfmgdgiz/7ZiN3cSkj12ftE74q5Qgj0/SscNY1KDGNBiyEXQ2OQYRm1luZ0xDjXA VBpaU/nbRVcXuOVUsmnT4JEOiMe24UBiqF8HCUE/wCLrT0o3e4ygkDTpix72rchXdzzX cbpMc6oE25oC0Z6jn9H3oUTUSsRCVxe49TjNkbbs+Mpkzl6Pz2hGuiw98aJZAU0YT/dk 7ebQ== X-Gm-Message-State: AOJu0YxzaFpmodv5/Z6kfeU4Am4+cmpV06ZuT1rlv4QiqTFdLMxpx8KU ouq5FoVC3qH9CDqZECEIpm0c0nAiqC1egQXRZMOHRjl1/Os1F1C5Wef2tyhNCec4PYdHK2CsvAC UidHh X-Gm-Gg: ASbGnctPZnojOzEfTWV4V3f+8HRaoTdhXmOZmdThCQkolNmEI3OEdGOVU12AiF2KC1O gMduCtSR8dCVHjfFSLynozyzonxukZDGLJgKDP9c8wLyEBpXwGdtliE7sfQyqvDFXxGuPvu7S22 wtDuQbScx/nAWNlTixvE3KCgsvFdSEue4dMus6azBa/DnjLPYDGRKT4Va/lEBgA7/A3xPKsyS9c u//ronIp+HSxu8QhH9HEmjZ2aHtXael4Itq64gqYAK5JXDVAPZvR9ycvkA0SoU3cnqo4yQ8Fjgi bruIRZd4zPiHYFjXqlKvBJoUuWsFzr0JKGN7GiT8nf1nZyp1dm/P7+Y2EaqJlj+EoWRb96H5bou 8bMZa3/4r9FglA6Z6WwB3EA== X-Google-Smtp-Source: AGHT+IGZ1yYndVG9K2s8R/mLJl7MuT4SvFdUntXEkA/Q3Ye5zDqHpH0ZPp6sQY0Ctr+3x7XGeEL/JQ== X-Received: by 2002:a17:903:90c:b0:231:9817:6ec1 with SMTP id d9443c01a7336-2409689f466mr71269985ad.17.1753913189930; Wed, 30 Jul 2025 15:06:29 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Daniel Henrique Barboza , Peter Maydell , qemu-arm@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Weiwei Li , philmd@linaro.org, Liu Zhiwei , Palmer Dabbelt , richard.henderson@linaro.org, qemu-riscv@nongnu.org, Alistair Francis , Pierrick Bouvier Subject: [PATCH 02/10] semihosting/guestfd: compile once for system/user Date: Wed, 30 Jul 2025 15:06:13 -0700 Message-ID: <20250730220621.1142496-3-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> References: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::62c; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x62c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1753913321641116600 Content-Type: text/plain; charset="utf-8" We move relevant code to semihosting/arm-compat-semi.c, and add functions to query CONFIG_ARM_COMPATIBLE_SEMIHOSTING at runtime. Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- include/semihosting/guestfd.h | 7 ------- include/semihosting/semihost.h | 2 ++ semihosting/arm-compat-semi-stub.c | 19 +++++++++++++++++++ semihosting/arm-compat-semi.c | 26 ++++++++++++++++++++++++++ semihosting/guestfd.c | 26 +++++--------------------- semihosting/meson.build | 11 ++++++----- 6 files changed, 58 insertions(+), 33 deletions(-) create mode 100644 semihosting/arm-compat-semi-stub.c diff --git a/include/semihosting/guestfd.h b/include/semihosting/guestfd.h index 3d426fedab3..a7ea1041ea0 100644 --- a/include/semihosting/guestfd.h +++ b/include/semihosting/guestfd.h @@ -35,13 +35,6 @@ typedef struct GuestFD { }; } GuestFD; =20 -/* - * For ARM semihosting, we have a separate structure for routing - * data for the console which is outside the guest fd address space. - */ -extern GuestFD console_in_gf; -extern GuestFD console_out_gf; - /** * alloc_guestfd: * diff --git a/include/semihosting/semihost.h b/include/semihosting/semihost.h index b03e6375787..231dc890395 100644 --- a/include/semihosting/semihost.h +++ b/include/semihosting/semihost.h @@ -33,6 +33,8 @@ typedef enum SemihostingTarget { * Return true if guest code is allowed to make semihosting calls. */ bool semihosting_enabled(bool is_user); +bool semihosting_arm_compatible(void); +void semihosting_arm_compatible_init(void); =20 SemihostingTarget semihosting_get_target(void); const char *semihosting_get_arg(int i); diff --git a/semihosting/arm-compat-semi-stub.c b/semihosting/arm-compat-se= mi-stub.c new file mode 100644 index 00000000000..bfa3681e267 --- /dev/null +++ b/semihosting/arm-compat-semi-stub.c @@ -0,0 +1,19 @@ +/* + * Stubs for platforms different from ARM + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "semihosting/semihost.h" +#include + +bool semihosting_arm_compatible(void) +{ + return false; +} + +void semihosting_arm_compatible_init(void) +{ + g_assert_not_reached(); +} diff --git a/semihosting/arm-compat-semi.c b/semihosting/arm-compat-semi.c index 40dc778529d..33614108094 100644 --- a/semihosting/arm-compat-semi.c +++ b/semihosting/arm-compat-semi.c @@ -101,6 +101,13 @@ static int gdb_open_modeflags[12] =3D { GDB_O_RDWR | GDB_O_CREAT | GDB_O_APPEND, }; =20 +/* + * For ARM semihosting, we have a separate structure for routing + * data for the console which is outside the guest fd address space. + */ +GuestFD console_in_gf; +GuestFD console_out_gf; + #ifndef CONFIG_USER_ONLY =20 /** @@ -353,6 +360,25 @@ static const uint8_t featurefile_data[] =3D { SH_EXT_EXIT_EXTENDED | SH_EXT_STDOUT_STDERR, /* Feature byte 0 */ }; =20 +bool semihosting_arm_compatible(void) +{ + return true; +} + +void semihosting_arm_compatible_init(void) +{ + /* For ARM-compat, the console is in a separate namespace. */ + if (use_gdb_syscalls()) { + console_in_gf.type =3D GuestFDGDB; + console_in_gf.hostfd =3D 0; + console_out_gf.type =3D GuestFDGDB; + console_out_gf.hostfd =3D 2; + } else { + console_in_gf.type =3D GuestFDConsole; + console_out_gf.type =3D GuestFDConsole; + } +} + /* * Do a semihosting call. * diff --git a/semihosting/guestfd.c b/semihosting/guestfd.c index d3241434c51..e8f236c690c 100644 --- a/semihosting/guestfd.c +++ b/semihosting/guestfd.c @@ -12,35 +12,20 @@ #include "gdbstub/syscalls.h" #include "semihosting/semihost.h" #include "semihosting/guestfd.h" -#ifndef CONFIG_USER_ONLY -#include CONFIG_DEVICES -#endif =20 static GArray *guestfd_array; =20 -#ifdef CONFIG_ARM_COMPATIBLE_SEMIHOSTING -GuestFD console_in_gf; -GuestFD console_out_gf; -#endif - void qemu_semihosting_guestfd_init(void) { /* New entries zero-initialized, i.e. type GuestFDUnused */ guestfd_array =3D g_array_new(FALSE, TRUE, sizeof(GuestFD)); =20 -#ifdef CONFIG_ARM_COMPATIBLE_SEMIHOSTING - /* For ARM-compat, the console is in a separate namespace. */ - if (use_gdb_syscalls()) { - console_in_gf.type =3D GuestFDGDB; - console_in_gf.hostfd =3D 0; - console_out_gf.type =3D GuestFDGDB; - console_out_gf.hostfd =3D 2; - } else { - console_in_gf.type =3D GuestFDConsole; - console_out_gf.type =3D GuestFDConsole; + if (semihosting_arm_compatible()) { + semihosting_arm_compatible_init(); + return; } -#else - /* Otherwise, the stdio file descriptors apply. */ + + /* Out of ARM, the stdio file descriptors apply. */ guestfd_array =3D g_array_set_size(guestfd_array, 3); #ifndef CONFIG_USER_ONLY if (!use_gdb_syscalls()) { @@ -54,7 +39,6 @@ void qemu_semihosting_guestfd_init(void) associate_guestfd(0, 0); associate_guestfd(1, 1); associate_guestfd(2, 2); -#endif } =20 /* diff --git a/semihosting/meson.build b/semihosting/meson.build index 77200a7f27b..bb0db323937 100644 --- a/semihosting/meson.build +++ b/semihosting/meson.build @@ -1,17 +1,18 @@ -specific_ss.add(when: 'CONFIG_SEMIHOSTING', if_true: files( - 'guestfd.c', -)) - common_ss.add(when: 'CONFIG_SEMIHOSTING', if_false: files('stubs-all.c')) -user_ss.add(when: 'CONFIG_SEMIHOSTING', if_true: files('user.c')) +user_ss.add(when: 'CONFIG_SEMIHOSTING', if_true: files( + 'user.c', + 'guestfd.c')) system_ss.add(when: 'CONFIG_SEMIHOSTING', if_true: files( 'config.c', 'console.c', + 'guestfd.c', 'uaccess.c', 'syscalls.c', ), if_false: files( 'stubs-system.c', )) +system_ss.add(when: 'CONFIG_ARM_COMPATIBLE_SEMIHOSTING', + if_false: files('arm-compat-semi-stub.c')) =20 specific_ss.add(when: ['CONFIG_SEMIHOSTING', 'CONFIG_USER_ONLY'], if_true: files('syscalls.c')) --=20 2.47.2 From nobody Thu Oct 16 02:03:59 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753913334; cv=none; d=zohomail.com; s=zohoarc; b=Yoddd9J06yTPJYGg6agH+XighLrh80DEDg7B1sBexf0Vzoj8I9Y1oBV6Yaa6N09jdZjTukQO8UfvvWTgsl4TmT7Z/bsZgVeC4do92lAtnoBVFzNZNS5w6ll0K7yNxbBW/pwf3ZQoncJAo7hRUwWuEnjU6KBrltkr4pC8eD8wezE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753913334; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=biby8AEWdDyhxbx/eUBt+4KP1PI/+4PwOX0JKhuZlPM=; b=C6ojt5EZAvMW9PVKKzzQ1HPVsdRx0TTeMApae8xdPXiq2Bhe4V8hdmvQfLLLI3CvS3f4y2hNfGGhCDYDkdIypu6zl5+fDEOqaK6zrD5H8QuioL362YD/rTSuNZ6sMpZwuEuLaMB7e7VHVGllvCqCdb7TtWZAxZBZ3K6vAlx+nTQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17539133345201018.3859200610563; Wed, 30 Jul 2025 15:08:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhEy8-0005pt-Hx; Wed, 30 Jul 2025 18:08:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhEwX-0001Ju-D2 for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:38 -0400 Received: from mail-pf1-x429.google.com ([2607:f8b0:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uhEwT-0002aP-6E for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:36 -0400 Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-7698e914cd2so363996b3a.3 for ; Wed, 30 Jul 2025 15:06:32 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241e899d272sm981535ad.135.2025.07.30.15.06.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Jul 2025 15:06:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753913191; x=1754517991; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=biby8AEWdDyhxbx/eUBt+4KP1PI/+4PwOX0JKhuZlPM=; b=eW+2I579FMM+j5DOEI2f9OI8A+NcJBcoUibr9MCacwCXrCvxSGKhub3fCH0opkJF9b fcBQxxG7kQ6w2HXGcTLjnpMalWQa2208dorkyNEI/PCWvZdgVELmGn1IWsOvPma6qxjE CMKI9d/WS2kb3VxQhRu5iavKNs7+huOu9S1svETF3Pla1yphumLYoHklMJUogbMTubyH HSq6W1RqmbDxiPghMm2KrwmsFeXyvCWhMsxdF5MPgL77el2R3fCnQxmEfiHs/0cNMlyi jEFczL2I8MrH7RcAQPJvGH52wQ5prs0r9Y/FA4qPmT4fTR9wjswvpuEzX5jPKE3qCNRt cGWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753913191; x=1754517991; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=biby8AEWdDyhxbx/eUBt+4KP1PI/+4PwOX0JKhuZlPM=; b=ZITZEKZ7XgCCS30RUEwMC21KB/XMpkm8bsx9/GY8E9YOSi37eSXNIPnhUlPVF5xZ7j LISyAVQxKaYH1RLy8gu3vr+A9aFDO2axdtYNpreJ13xOWvWuiNasmlFI0chkYJKnkJom v5Lbej5S5msWue2jNi9N/YpQGKSJNmtAA55+c1sak9IOiR4iVIUCm9NM8mci0XmM0PEv PbfyOtuP7r7lUOnTnb+d7ydd8wQKKo/Bd2QLBWUmb9y60C1wEZdTsO/YTVp6X9KTrVn8 Tny2HtdbqC4nU+6cOgSHboi2hPJziq0f3WSezFSSnyteCzmJ4j83X7hbugcMHMzKFZLV X2tg== X-Gm-Message-State: AOJu0YxSdR4Yw/yxxHWPoGP4bdBsl/XteAQRHXHH8pgDlKFuBodi4Pcs 0WnFEGm1mhg3wPD/yMsyWmY5zEHnYUiSYx3LOuH/1KyMjgcbKlKRFlkReSISV68LLsmPc9s4JHk D07GB X-Gm-Gg: ASbGncvde7MCVbMRo8XK4xyJ+JTEanrR96CIHvkYVBS8giM9x9SkMCpiCKNBlEVdYDy P1FOYFgITXiCYBcgadHmxatlGFMho34+6oJCMKQkVvwwvW2mr1pEa7T6D2l176rtIJLInBrx3SW tw/Bnk88hFd7hXRFwEzFAUtWjL5CWptxccTLcNBxgqCvFy3h7COU6z80yGZ/5TWvI6SaBZCHkFl nbA6Xw0/6KSPNKSM5ORkY1rn7BO5pxgQIbQ6IExu26g4KB1Z58+z809D06uBNlS/kDWB1EBGeY+ jcf9r5yubGWCxl1bP3JDAn85hM1egwHDleJn4mxNtlXdHByGbnMThSrKh89W8Z9gdY0wwmnV0dS 5XQZ1Li9alcG2UC+3p51GNQ== X-Google-Smtp-Source: AGHT+IEvPQWR7zgJn+Oqwe0BOueSXe0I1iEQVZkV1WjRy6zEa1UnnxsrRmmLGbKfCx8r3ACqjle2Xw== X-Received: by 2002:a17:903:291:b0:234:df51:d16c with SMTP id d9443c01a7336-24096b79730mr74246705ad.45.1753913190826; Wed, 30 Jul 2025 15:06:30 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Daniel Henrique Barboza , Peter Maydell , qemu-arm@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Weiwei Li , philmd@linaro.org, Liu Zhiwei , Palmer Dabbelt , richard.henderson@linaro.org, qemu-riscv@nongnu.org, Alistair Francis , Pierrick Bouvier Subject: [PATCH 03/10] semihosting/arm-compat-semi: remove common_semi_sys_exit_extended Date: Wed, 30 Jul 2025 15:06:14 -0700 Message-ID: <20250730220621.1142496-4-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> References: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::429; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pf1-x429.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1753913335840116600 Content-Type: text/plain; charset="utf-8" This allows to get rid of sizeof(target_ulong) for riscv, without changing the semantic. Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- target/arm/common-semi-target.h | 5 ----- target/riscv/common-semi-target.h | 5 ----- semihosting/arm-compat-semi.c | 4 +++- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/target/arm/common-semi-target.h b/target/arm/common-semi-targe= t.h index da51f2d7f54..7ebd2136d93 100644 --- a/target/arm/common-semi-target.h +++ b/target/arm/common-semi-target.h @@ -34,11 +34,6 @@ static inline void common_semi_set_ret(CPUState *cs, tar= get_ulong ret) } } =20 -static inline bool common_semi_sys_exit_extended(CPUState *cs, int nr) -{ - return nr =3D=3D TARGET_SYS_EXIT_EXTENDED || is_a64(cpu_env(cs)); -} - static inline bool is_64bit_semihosting(CPUArchState *env) { return is_a64(env); diff --git a/target/riscv/common-semi-target.h b/target/riscv/common-semi-t= arget.h index 7c8a59e0cc3..63bbcd2d5fa 100644 --- a/target/riscv/common-semi-target.h +++ b/target/riscv/common-semi-target.h @@ -25,11 +25,6 @@ static inline void common_semi_set_ret(CPUState *cs, tar= get_ulong ret) env->gpr[xA0] =3D ret; } =20 -static inline bool common_semi_sys_exit_extended(CPUState *cs, int nr) -{ - return (nr =3D=3D TARGET_SYS_EXIT_EXTENDED || sizeof(target_ulong) =3D= =3D 8); -} - static inline bool is_64bit_semihosting(CPUArchState *env) { return riscv_cpu_mxl(env) !=3D MXL_RV32; diff --git a/semihosting/arm-compat-semi.c b/semihosting/arm-compat-semi.c index 33614108094..1a3abd45c5b 100644 --- a/semihosting/arm-compat-semi.c +++ b/semihosting/arm-compat-semi.c @@ -755,7 +755,9 @@ void do_common_semihosting(CPUState *cs) { uint32_t ret; =20 - if (common_semi_sys_exit_extended(cs, nr)) { + bool extended =3D (nr =3D=3D TARGET_SYS_EXIT_EXTENDED || + is_64bit_semihosting(cpu_env(cs))); + if (extended) { /* * The A64 version of SYS_EXIT takes a parameter block, * so the application-exit type can return a subcode which --=20 2.47.2 From nobody Thu Oct 16 02:03:59 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17539133390011020.7100298414582; Wed, 30 Jul 2025 15:08:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhEyI-0006YO-Vs; Wed, 30 Jul 2025 18:08:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhEwY-0001Nw-Cn for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:39 -0400 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uhEwT-0002al-DA for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:37 -0400 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-24031a3e05cso1886775ad.1 for ; Wed, 30 Jul 2025 15:06:32 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241e899d272sm981535ad.135.2025.07.30.15.06.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Jul 2025 15:06:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753913192; x=1754517992; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+PKtO4hBsEfArhj2AB8+qMyobhZraHavtQ6DCILIAZI=; b=VVmeZynUli6YLYYyfNFPl88+C8nsIG+PAuASx8K0Wf8jRuebpK9H894p/HlsyILIXL GM0IF0fpfUkw0G3KR9BZQgjk08kmC0GKuiRHmbEhsAq7oJ9XsjG6WrRIqDzz/hwBhf4d 971T130opaPVDd76X6QxIB3fPVJkw4t8tWk6iJyOtVDYNcjLBXGgLe4zOzkiIIFqjxB7 APw/8dyMUeC8I1z/Gk3cVBNFljoo+M3yg3h0OE8J2k2QHyRnYwgpGkwi7dPmdgOUl/h8 W/z4IZiOd+L296M98oRjPeK1K2nq659lRCcOu75Fl7MySFOBmHPsKBpZio8x3dKiZHKQ ve9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753913192; x=1754517992; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+PKtO4hBsEfArhj2AB8+qMyobhZraHavtQ6DCILIAZI=; b=g54kIcIrSaqdWpC8L99UX8qqKfwaax9mXJZgxE5HaceNQHRevL5UgWF78123aOoaDP M8cMrVJghep6VrxyDzpSAtLQYIszsGz0y43cQWA5R7qlWINbnwcPFySS7NXM9CHNt8t9 WJ3vxsHNDdPcPiOYG2b8vN8poYvpe0wa7Dmc9IXN0yuKkTO9dVVtj80BZ7RdYc9xsI8F a+CmxmO6G7SayXn/P8+qsKoj3wSQA3xfZXXiXst2x/7xW9ERd9oqkgcSIQFVUo9IQK2q RheC0ZEAh8+SgxAqV0xzPwg1WdVfaitXQrRTWmcaNnSLrCEmP6EhLheIxyCHNgQQgYbg yTgw== X-Gm-Message-State: AOJu0YxaJpzrfN0ug5725ND8wy7QxF7VChYdc+hBPJOIxSiMtHYpuQ0V 7GW4yH3WZfbgabp/7EfxQpW8WaLyJ54VozhTN7ZfSuXG8r4mPHVsZIC+TR/6JoBIMDOW4dd5WD6 Q9EFY X-Gm-Gg: ASbGnctWOevW+oLCiMoe2N+CVYPmY94nginDd7wxgPH1B+dW43VCe+4tnx0WASTFs9e cUW+muYkEPeBPXwtmjoAuwdMrBAdUqDZn+reSrI2g4S1Fm/DRFJLcVgy9DB4WuOI/34MmKRQl4/ U4tnQ4lN6GG+7h2JoxuNQmx4XPkflgATADllbD+lR9LEcD01xh9gdFx8ZBCY/naqEa/bRYiIe+t 4wFvQFHpPzUlb9v/ABD7oEPTMtTo+h99jiv2o+U+LAqKzNj1+DiXI4U9Rb5gfphSHJ1LlglGGDJ gDrmV/22gbmos2zD4Iakb4JekTXKO+yrznnAOLO4ZcRFDkruDxxvoNifiZIYR/bocP3PVAlY3er Y/v1uVgx6HaUupNSda3SLMz6INRBZXIOl X-Google-Smtp-Source: AGHT+IFvOkNzHTcNTJNkxpuo8280DakC6kEWLw6MgbaZ5HpWxqEasJQg4t762smu2GTOy1q9MomvUA== X-Received: by 2002:a17:902:c70a:b0:240:72d8:96fa with SMTP id d9443c01a7336-24072d89c7cmr79565825ad.20.1753913191749; Wed, 30 Jul 2025 15:06:31 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Daniel Henrique Barboza , Peter Maydell , qemu-arm@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Weiwei Li , philmd@linaro.org, Liu Zhiwei , Palmer Dabbelt , richard.henderson@linaro.org, qemu-riscv@nongnu.org, Alistair Francis , Pierrick Bouvier Subject: [PATCH 04/10] target/{arm, riscv}/common-semi-target: eradicate target_ulong Date: Wed, 30 Jul 2025 15:06:15 -0700 Message-ID: <20250730220621.1142496-5-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> References: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::62a; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x62a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1753913339795116600 Content-Type: text/plain; charset="utf-8" We replace mechanically with uint64_t. There is no semantic change, and allows us to extract a proper API from this set of functions. Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- target/arm/common-semi-target.h | 6 +++--- target/riscv/common-semi-target.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/target/arm/common-semi-target.h b/target/arm/common-semi-targe= t.h index 7ebd2136d93..b900121272c 100644 --- a/target/arm/common-semi-target.h +++ b/target/arm/common-semi-target.h @@ -12,7 +12,7 @@ =20 #include "target/arm/cpu-qom.h" =20 -static inline target_ulong common_semi_arg(CPUState *cs, int argno) +static inline uint64_t common_semi_arg(CPUState *cs, int argno) { ARMCPU *cpu =3D ARM_CPU(cs); CPUARMState *env =3D &cpu->env; @@ -23,7 +23,7 @@ static inline target_ulong common_semi_arg(CPUState *cs, = int argno) } } =20 -static inline void common_semi_set_ret(CPUState *cs, target_ulong ret) +static inline void common_semi_set_ret(CPUState *cs, uint64_t ret) { ARMCPU *cpu =3D ARM_CPU(cs); CPUARMState *env =3D &cpu->env; @@ -39,7 +39,7 @@ static inline bool is_64bit_semihosting(CPUArchState *env) return is_a64(env); } =20 -static inline target_ulong common_semi_stack_bottom(CPUState *cs) +static inline uint64_t common_semi_stack_bottom(CPUState *cs) { ARMCPU *cpu =3D ARM_CPU(cs); CPUARMState *env =3D &cpu->env; diff --git a/target/riscv/common-semi-target.h b/target/riscv/common-semi-t= arget.h index 63bbcd2d5fa..2e6d6a659a3 100644 --- a/target/riscv/common-semi-target.h +++ b/target/riscv/common-semi-target.h @@ -11,14 +11,14 @@ #ifndef TARGET_RISCV_COMMON_SEMI_TARGET_H #define TARGET_RISCV_COMMON_SEMI_TARGET_H =20 -static inline target_ulong common_semi_arg(CPUState *cs, int argno) +static inline uint64_t common_semi_arg(CPUState *cs, int argno) { RISCVCPU *cpu =3D RISCV_CPU(cs); CPURISCVState *env =3D &cpu->env; return env->gpr[xA0 + argno]; } =20 -static inline void common_semi_set_ret(CPUState *cs, target_ulong ret) +static inline void common_semi_set_ret(CPUState *cs, uint64_t ret) { RISCVCPU *cpu =3D RISCV_CPU(cs); CPURISCVState *env =3D &cpu->env; @@ -30,7 +30,7 @@ static inline bool is_64bit_semihosting(CPUArchState *env) return riscv_cpu_mxl(env) !=3D MXL_RV32; } =20 -static inline target_ulong common_semi_stack_bottom(CPUState *cs) +static inline uint64_t common_semi_stack_bottom(CPUState *cs) { RISCVCPU *cpu =3D RISCV_CPU(cs); CPURISCVState *env =3D &cpu->env; --=20 2.47.2 From nobody Thu Oct 16 02:03:59 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753913412; cv=none; d=zohomail.com; s=zohoarc; b=GKrj7vitaRKVt/TFjiC1ZOGqa6Wwz8NuVyJ7JW5waiHGM5pNx6cv1/HsypcYhUC4n1aoSLVYzMIWAYqxylkRJy26+qf6HAflZE/uKDy7cujGcxt9xxIDc9V7gMjjtvUN1XjuhM8tnMI3pxs8gZrQeEIygjYYZbD8kfzGt4QpyYA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753913412; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=9nDq0C18lUJeM5JVkXkjc5p9y1haSfvcbRrvaA4/kgI=; b=M+ccGByU7lQFrsQY29zcuzvOFj9yArEh/OcuAbJ3YURSuONtjj3Sd0H0R5viyBu+lK7CuVJM4pY20B0c3HvrMbVdVW1lBvs2EZIDEmH9OjRiVmjhOgZkTJsZ8PsXKbdj49Dsqsn1oObyThDfc2Lo/YmsmPJ7tzooXfNMyvTt7Zc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753913412169743.0924570156071; Wed, 30 Jul 2025 15:10:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhEyr-0008JF-QC; Wed, 30 Jul 2025 18:09:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhEwY-0001PP-PE for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:39 -0400 Received: from mail-pg1-x535.google.com ([2607:f8b0:4864:20::535]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uhEwU-0002bv-Et for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:38 -0400 Received: by mail-pg1-x535.google.com with SMTP id 41be03b00d2f7-b420b87cb04so309604a12.0 for ; Wed, 30 Jul 2025 15:06:33 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241e899d272sm981535ad.135.2025.07.30.15.06.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Jul 2025 15:06:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753913193; x=1754517993; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9nDq0C18lUJeM5JVkXkjc5p9y1haSfvcbRrvaA4/kgI=; b=crL/qYL8hhCwI3t4v3bfP0avjjkpu6laQi7ZKlOD6R+ng6Pp0aytWDOmNuUYaisNmL s7Lslp84Ern8/qCR1gRiNVvzz3UgHV5mWtHIHBTxiYQM31bNe7zNHQFzqNsErC9GeTeJ X2YA1w+Kj38sX8rQQMSAw9xqO/Zq24hSwk/d6lV/qFsb3A3YCVAe4X61tgrGD/KuVeuL q6YO5idTq7EAVMMIJLQzF559zC0gcKW8AhJUOo6+SvLzlEOcCJnXJ/0H+4+9V/kqihXk Db0rYhq3Vu87iuXuyTwkMav/jhT8htvvMu7N+UXiwozf6iR2jxHzROwkBet5os+OpRsS aluw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753913193; x=1754517993; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9nDq0C18lUJeM5JVkXkjc5p9y1haSfvcbRrvaA4/kgI=; b=niSZiRrMN+P3PwrvlqGwqg8V71VdwjHNstMfn/C1lACLY9CtLOLhWmV89MIjyWUEmt ZS3kfDrF684u0KijfoAs/BzpZC9gfrhwGlhwnJxPU6vnTMFn78xB4GUivpV5Z1cTsWEX feQ6cBdDqKovzCmxdE57+bDuIdHbJRbhkQ6x3Te4+aca1PmggMHdedoqRl0ZVnKEjViH ml1mfnRaeAqkZQ/fuXGonLkf7VDQRhxL0DFakzqq4gEbKK+33nuqhttfP7DhSiduly5i cJV1S43xBiFyDj5gsOxbBo4eRZ5AngjoSv8lsdt62H/NMmF905IQuA497AG048BTNN8p 6OQw== X-Gm-Message-State: AOJu0YxpOdbzayYqdn5CKp67ZazWYikFPpYH1UwYXoE1biiMcT7nfI7J DhN9fbU8+YdiT4aL0l1tZjfCyN2HaXQyAualrm//5rOR+oeb3ILBy3lzzb2ehQS9TMkceyk2lnD 0D6Q3 X-Gm-Gg: ASbGncu5qkyLziT4G1JiktTIQ+GiOZvPmyqzricGWfsLjuiqJYvoBaS17bg/tf33OAr Ov7jeKpJ/rIbwJI5kWx/xwWIpEVZbVllkFIlzOT65WehWHji7+Us7RCgKPP861uQMnPzhscA7Zn NWTHlyzoAveMxhZSorp7fQBLQmXpXPusTvPOya6cYbtsWBIeFdyZN9erDQ768EZa2GB54ZbV40A 8bDSauS/cAZLAsCEMK5vAF3OG6C73b9MIrzs3yNXSxFjoZ8EACJhY4oNE9VNPfOyV9ANu8XQlV4 h+MkW342LaLzW6t96oOF1fH1Nt3l/j1zvo9AckERkS/NVdsPi6aRnIc2S+pBg8tDxYZacAduDJ+ X2LOTBUqyazcNNscFunVkcMeMiCRlv8q4 X-Google-Smtp-Source: AGHT+IE+LPvsEOxgmE1Qq8a5IUNmA34Jo/Hm1/k6xdbqPOdHIVYe1nMV0yw9QWa47P5U866jlKgB6w== X-Received: by 2002:a17:902:e78e:b0:235:ed01:18cd with SMTP id d9443c01a7336-24096b2f89dmr80756495ad.44.1753913192699; Wed, 30 Jul 2025 15:06:32 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Daniel Henrique Barboza , Peter Maydell , qemu-arm@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Weiwei Li , philmd@linaro.org, Liu Zhiwei , Palmer Dabbelt , richard.henderson@linaro.org, qemu-riscv@nongnu.org, Alistair Francis , Pierrick Bouvier Subject: [PATCH 05/10] include/semihosting/common-semi: extract common_semi API Date: Wed, 30 Jul 2025 15:06:16 -0700 Message-ID: <20250730220621.1142496-6-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> References: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::535; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pg1-x535.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1753913412810116600 Content-Type: text/plain; charset="utf-8" We transform target/{arm,riscv}/common-semi-target.h headers to proper compilation units, and use them in arm-compat-semi.c. This way, we can include only the declaration header (which is target agnostic), and selectively link the appropriate implementation based on current target. Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- include/semihosting/common-semi.h | 5 +++++ semihosting/arm-compat-semi.c | 3 +-- ...mmon-semi-target.h =3D> common-semi-target.c} | 18 ++++++++---------- ...mmon-semi-target.h =3D> common-semi-target.c} | 17 ++++++++--------- target/arm/meson.build | 4 ++++ target/riscv/meson.build | 4 ++++ 6 files changed, 30 insertions(+), 21 deletions(-) rename target/arm/{common-semi-target.h =3D> common-semi-target.c} (66%) rename target/riscv/{common-semi-target.h =3D> common-semi-target.c} (60%) diff --git a/include/semihosting/common-semi.h b/include/semihosting/common= -semi.h index 0a91db7c414..9b8524dca13 100644 --- a/include/semihosting/common-semi.h +++ b/include/semihosting/common-semi.h @@ -35,5 +35,10 @@ #define COMMON_SEMI_H =20 void do_common_semihosting(CPUState *cs); +uint64_t common_semi_arg(CPUState *cs, int argno); +void common_semi_set_ret(CPUState *cs, uint64_t ret); +bool is_64bit_semihosting(CPUArchState *env); +uint64_t common_semi_stack_bottom(CPUState *cs); +bool common_semi_has_synccache(CPUArchState *env); =20 #endif /* COMMON_SEMI_H */ diff --git a/semihosting/arm-compat-semi.c b/semihosting/arm-compat-semi.c index 1a3abd45c5b..5a04ce55ca9 100644 --- a/semihosting/arm-compat-semi.c +++ b/semihosting/arm-compat-semi.c @@ -174,8 +174,7 @@ static LayoutInfo common_semi_find_bases(CPUState *cs) =20 #endif =20 -#include "cpu.h" -#include "common-semi-target.h" +#include "semihosting/common-semi.h" =20 /* * Read the input value from the argument block; fail the semihosting diff --git a/target/arm/common-semi-target.h b/target/arm/common-semi-targe= t.c similarity index 66% rename from target/arm/common-semi-target.h rename to target/arm/common-semi-target.c index b900121272c..bad33a711d7 100644 --- a/target/arm/common-semi-target.h +++ b/target/arm/common-semi-target.c @@ -7,12 +7,12 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ =20 -#ifndef TARGET_ARM_COMMON_SEMI_TARGET_H -#define TARGET_ARM_COMMON_SEMI_TARGET_H - +#include "qemu/osdep.h" +#include "cpu.h" +#include "semihosting/common-semi.h" #include "target/arm/cpu-qom.h" =20 -static inline uint64_t common_semi_arg(CPUState *cs, int argno) +uint64_t common_semi_arg(CPUState *cs, int argno) { ARMCPU *cpu =3D ARM_CPU(cs); CPUARMState *env =3D &cpu->env; @@ -23,7 +23,7 @@ static inline uint64_t common_semi_arg(CPUState *cs, int = argno) } } =20 -static inline void common_semi_set_ret(CPUState *cs, uint64_t ret) +void common_semi_set_ret(CPUState *cs, uint64_t ret) { ARMCPU *cpu =3D ARM_CPU(cs); CPUARMState *env =3D &cpu->env; @@ -34,22 +34,20 @@ static inline void common_semi_set_ret(CPUState *cs, ui= nt64_t ret) } } =20 -static inline bool is_64bit_semihosting(CPUArchState *env) +bool is_64bit_semihosting(CPUArchState *env) { return is_a64(env); } =20 -static inline uint64_t common_semi_stack_bottom(CPUState *cs) +uint64_t common_semi_stack_bottom(CPUState *cs) { ARMCPU *cpu =3D ARM_CPU(cs); CPUARMState *env =3D &cpu->env; return is_a64(env) ? env->xregs[31] : env->regs[13]; } =20 -static inline bool common_semi_has_synccache(CPUArchState *env) +bool common_semi_has_synccache(CPUArchState *env) { /* Ok for A64, invalid for A32/T32 */ return is_a64(env); } - -#endif diff --git a/target/riscv/common-semi-target.h b/target/riscv/common-semi-t= arget.c similarity index 60% rename from target/riscv/common-semi-target.h rename to target/riscv/common-semi-target.c index 2e6d6a659a3..7ac8b9164ee 100644 --- a/target/riscv/common-semi-target.h +++ b/target/riscv/common-semi-target.c @@ -8,38 +8,37 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ =20 -#ifndef TARGET_RISCV_COMMON_SEMI_TARGET_H -#define TARGET_RISCV_COMMON_SEMI_TARGET_H +#include "qemu/osdep.h" +#include "cpu.h" +#include "semihosting/common-semi.h" =20 -static inline uint64_t common_semi_arg(CPUState *cs, int argno) +uint64_t common_semi_arg(CPUState *cs, int argno) { RISCVCPU *cpu =3D RISCV_CPU(cs); CPURISCVState *env =3D &cpu->env; return env->gpr[xA0 + argno]; } =20 -static inline void common_semi_set_ret(CPUState *cs, uint64_t ret) +void common_semi_set_ret(CPUState *cs, uint64_t ret) { RISCVCPU *cpu =3D RISCV_CPU(cs); CPURISCVState *env =3D &cpu->env; env->gpr[xA0] =3D ret; } =20 -static inline bool is_64bit_semihosting(CPUArchState *env) +bool is_64bit_semihosting(CPUArchState *env) { return riscv_cpu_mxl(env) !=3D MXL_RV32; } =20 -static inline uint64_t common_semi_stack_bottom(CPUState *cs) +uint64_t common_semi_stack_bottom(CPUState *cs) { RISCVCPU *cpu =3D RISCV_CPU(cs); CPURISCVState *env =3D &cpu->env; return env->gpr[xSP]; } =20 -static inline bool common_semi_has_synccache(CPUArchState *env) +bool common_semi_has_synccache(CPUArchState *env) { return true; } - -#endif diff --git a/target/arm/meson.build b/target/arm/meson.build index 07d9271aa4d..688b50a2e26 100644 --- a/target/arm/meson.build +++ b/target/arm/meson.build @@ -27,12 +27,16 @@ arm_user_ss.add(files( 'helper.c', 'vfp_fpscr.c', )) +arm_user_ss.add(when: 'CONFIG_ARM_COMPATIBLE_SEMIHOSTING', + if_true: files('common-semi-target.c')) =20 arm_common_system_ss.add(files('cpu.c')) arm_common_system_ss.add(when: 'TARGET_AARCH64', if_false: files( 'cpu32-stubs.c')) arm_common_system_ss.add(when: 'CONFIG_KVM', if_false: files('kvm-stub.c')) arm_common_system_ss.add(when: 'CONFIG_HVF', if_false: files('hvf-stub.c')) +arm_common_system_ss.add(when: 'CONFIG_ARM_COMPATIBLE_SEMIHOSTING', + if_true: files('common-semi-target.c')) arm_common_system_ss.add(files( 'arch_dump.c', 'arm-powerctl.c', diff --git a/target/riscv/meson.build b/target/riscv/meson.build index a4bd61e52a9..fdefe88ccdd 100644 --- a/target/riscv/meson.build +++ b/target/riscv/meson.build @@ -8,6 +8,10 @@ gen =3D [ =20 riscv_ss =3D ss.source_set() riscv_ss.add(gen) + +riscv_ss.add(when: 'CONFIG_ARM_COMPATIBLE_SEMIHOSTING', + if_true: files('common-semi-target.c')) + riscv_ss.add(files( 'cpu.c', 'cpu_helper.c', --=20 2.47.2 From nobody Thu Oct 16 02:03:59 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753913336; cv=none; d=zohomail.com; s=zohoarc; b=UkthYVjTne4iVwP13mum89kXczVYqW5nFuptQn6odxYMdiIT+zaR7haAvc7t9L18HJuJFYWpjCXIFzMneUXM1gjG0DakMbl99jV1R6R0gl6U7g8VsqGtmWrHdkeZZP8akwvtHSCYlRAoPF5ZVMn0/gRxlWECErbD19s3Qr9ciHI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753913336; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=jbXLHmQQJw7qwZ2+SWP/dkFm2f03bsQgTb+axHNXMUo=; b=D3g48p97GEL7aLeY6Ej5oyPbLdokjTUYXyuBueg3cAOvLDxAadfTlTd6Rq6O6btB1PVtpwBLTN7wVTDsYmaIa3O2p+8fGo0981ePsqkVH8gaXmz0sBikhxzMSVgfpuPVUhCjY3XGwqSlwCIdQ9E6sstRrW4Zfn2WN8UueYHrCnY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175391333637658.81845012324629; Wed, 30 Jul 2025 15:08:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhEyj-0007Zi-0O; Wed, 30 Jul 2025 18:08:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhEwZ-0001S0-V6 for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:40 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uhEwV-0002c9-4Y for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:39 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-2406fe901c4so2613225ad.1 for ; Wed, 30 Jul 2025 15:06:34 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241e899d272sm981535ad.135.2025.07.30.15.06.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Jul 2025 15:06:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753913193; x=1754517993; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jbXLHmQQJw7qwZ2+SWP/dkFm2f03bsQgTb+axHNXMUo=; b=WpuCp3Bu/3UCu2OhC7k4PSr/y5dX2J5J22EvnPAFsD6GqYGRyZqxv8cB72Zxr+o8v/ n2XLHKHg+6bvCPNgBhglKaPG+VgvOiR6BuR+xxcZLW/PemNxMqu44pyS08bFUAFaZqk9 IK/7hT1jqljomWbLOVPxSCb5jlRvW/KzBrG3OCgBbax+6jja5PDa3sJsCwwrvASmxHSt QZiQtBuOylm7DUto0bSm+FdlMpp4lWx+YWXHOTamSerz6Z/MCa82awPEqzhQ/OeeROED SFuPkD6JQnWMksFaZ7yFTYJLGQdfndOj43Eob5Y4W1c7guReWtz9jPP80i0iUY/vfaFo j2tw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753913193; x=1754517993; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jbXLHmQQJw7qwZ2+SWP/dkFm2f03bsQgTb+axHNXMUo=; b=ub+QwBcyBmeBizEV9el31C0qtHlWCwr/IsyGhhGy6vbJxjUBc8Qtff4DHqZPDWM9KA whGoP7y7v7hOFpB5/HEaTCaEkFFtSJXI/d1p6n3C/Ta7nufIZ0RY1Cg6sjV0U+AK4j2N Vcg4MmAjI6mzjDJ+FWnGbPJZdhCL1hBiRkemHIQl48H94XvuclNhF065TOQNPofmC5Hd Nm1e6Uof3ZxaPuTU5sfJ9puSk/KdQgWfs2s38U/8bjyLspZaZFqWWbVmbd4wwIcTkUZG mDoRBFI0uAzZl/kB5IfaMOA8qWXs/kIA6DR50iVtISIWz/s7g114wzR/jQ0kTWyrTZfo Jkow== X-Gm-Message-State: AOJu0YygPWb/Dt9c5COLGveQQKzt5vB+hr5RRKUHGxrU69Cs/CZKuPcx 2oUNOjWtFZ1buunlf6gv3wZASynSQcfFMHq1FSczAajn5DPUe+dgDVKkgoHKDuPcySKmt+NA/3h ajZhn X-Gm-Gg: ASbGnctYifyqqIswzcuzDwKoKCPOk6AgHB7jF9T+BJVDz+alCGOiN7hEtUOPFvGELDM yQqyO2NwAQiZGMnSQwDngxtaP+Oheu2GllTVppQnXisUqdJqKisyCK9TY0fOYPKo9na9+BWRLm8 Otfi9Hi1BrnjU/vaPvKVT6eGucf3SYHyI1XeefMab1SIxHraveyPQmbi2oFYXoGT+xq9e11oeST 4FHUF8cWHL2rd/Z/uieKyu1vBrxvehG1NVihs9axs4b5WYG1SmX9wdjDo9FaOgP0LB6g0AqVbKr QB3V9RUQsEVC+wDJHxDmPP1FoXeNKplKmqUth3gjTmwSyj4uYlr7YpiMuTpHH0vaCeyGek8SId6 dEJbc6/or6l8OvnAM8DiWBmIe6sDaR6Lq X-Google-Smtp-Source: AGHT+IFoSoMOGjYHJDomwFFMKzj9lJw/pOTfpuFSUBCXqJUVExdQ12FyK25uLANeWRnctQ19TynBfQ== X-Received: by 2002:a17:903:19e5:b0:240:75dd:3a3 with SMTP id d9443c01a7336-24096b1bf27mr72747965ad.28.1753913193564; Wed, 30 Jul 2025 15:06:33 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Daniel Henrique Barboza , Peter Maydell , qemu-arm@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Weiwei Li , philmd@linaro.org, Liu Zhiwei , Palmer Dabbelt , richard.henderson@linaro.org, qemu-riscv@nongnu.org, Alistair Francis , Pierrick Bouvier Subject: [PATCH 06/10] semihosting/arm-compat-semi: eradicate sizeof(target_ulong) Date: Wed, 30 Jul 2025 15:06:17 -0700 Message-ID: <20250730220621.1142496-7-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> References: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::62b; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1753913337753116600 Content-Type: text/plain; charset="utf-8" No semantic change. Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- semihosting/arm-compat-semi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/semihosting/arm-compat-semi.c b/semihosting/arm-compat-semi.c index 5a04ce55ca9..e5a665d604b 100644 --- a/semihosting/arm-compat-semi.c +++ b/semihosting/arm-compat-semi.c @@ -787,7 +787,7 @@ void do_common_semihosting(CPUState *cs) =20 case TARGET_SYS_ELAPSED: elapsed =3D get_clock() - clock_start; - if (sizeof(target_ulong) =3D=3D 8) { + if (is_64bit_semihosting(env)) { if (SET_ARG(0, elapsed)) { goto do_fault; } --=20 2.47.2 From nobody Thu Oct 16 02:03:59 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753913281; cv=none; d=zohomail.com; s=zohoarc; b=eVvpGsc9exJmUiKwnHugbHQrXFdfxH/N+8cCs6x5ZSNMOhasSQHRiHR+CLTmTaIOnXxCVdZviniLLFvj7GBFOHlUtRUt5B5VwXg3Ti5NKID8mckqwAFonhOW1sSLlUiVqDqgZ/WvRAn2/rd2rDD/2E8Qn7c4Ro39RpjMPC53w5I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753913281; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=eYVzb4uq0baaeef2y1FkUKGWc2LoUDQfH7PSKL+/DMA=; b=AJWKwYlsibbSwSWtXnJzoNq6/PSac0TJPP4DBBwynAjVML/eDhMqMCvhkQcafsdNAIEl7k14yKfSQyFmIQwVcrARvAisB6S/fEdXMP/ZdMzoh2ZNDuH8WNMvJyJYu3WmYFWVr4GPl/zLrql5Rq13lSJ5xTn/QdQeDIuGainhEcQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753913281180420.22459424824365; Wed, 30 Jul 2025 15:08:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhExd-0004JB-I3; Wed, 30 Jul 2025 18:07:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhEwb-0001Vq-At for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:41 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uhEwW-0002cp-64 for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:40 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-2402bbb4bf3so5179735ad.2 for ; Wed, 30 Jul 2025 15:06:35 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241e899d272sm981535ad.135.2025.07.30.15.06.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Jul 2025 15:06:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753913194; x=1754517994; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=eYVzb4uq0baaeef2y1FkUKGWc2LoUDQfH7PSKL+/DMA=; b=FZGUoBD2YyWeW6Q14zfC78MvI0qvAi18L5dkab4/hR8CeqikgEf5WqkPjFVztxuuzt 7faYvQafxcg+zWZ6VMmmn2ZXrvU3qfEbMbc0EB1VxpSuSpKoRK9mooIdJDrQvP0cXofo LTiPp4KyA1jpZkXzkQWY/T+4qd3vj4h6MznCKORK5GpbKM4TNPgbA4VRYhT6xoMjgW8R p+1SMkX1J9sIyEoBUMABf6ovjOQl8TFYxCBaFaNDJoJIjuEahB+Oo6nLr3hSzBsEmZ4M 85n1uTAbHV44b53I/ILHN2uiMt3NNdNQiAr+0vKYQVGzx2H7Mfhhh0w7CKo4/2rzwdjb j5XA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753913194; x=1754517994; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eYVzb4uq0baaeef2y1FkUKGWc2LoUDQfH7PSKL+/DMA=; b=UPeft4bcFLM1VKW4l6B2vXWfs1ix1xbcSgFk463KAQafJpT7njMZ0/aCHIFh009apI 6ktXz9+RujNF5ftNpHkaBa+WYUglHLrORwDf0FfwNpBC2qGx/cVOfve4ESyzJv6cqAKB D2BfRvXZ3b3fdGS1q+dXVU1AVshIMFu9ky/pioOl8Q3dGkYRJfUTPooW540I1e7A9ZYf 4fZYbhzxdIclhHvkXBtzSAKVCaDNG/wtxr9v+l/hNtvWjpChb3BvOx3Y78g4UEd4OizO wm62Tvoz7r5wv8utrMLpp3zSKkiFRvAE4zJJsoIKwU5hvdv9nj5bFsC8n8xrcJpnW0co 072Q== X-Gm-Message-State: AOJu0YxBgx2lhr6dWXV7jMkGCY4mbvvjd+4njv0dSlKOGrP+1li0PVX7 0facw98u7KgumpGPiW4myjoEb+T1LqTIf4xXHFvgL/fGriXFSBuWQf7nGHmAiH0tlHiVgpm9KHJ usWIa X-Gm-Gg: ASbGncvG1Jir7gnLq1EKhHwU0eZAuEsA8Ut1NO0dxiVm7sAp/FMHdLYD9XWrSSAtknm /XBfa8WHsVOvR0xd5AxOA+Tbs4ZWX/af4V95y0W0zckciyz7cSvoE82FfDwFE0W+scpL6jh54nk KEL5dtz4vyRNISEjqgLzOZZluOm7W+RJficYF6Bp+0WWnBMK+9fLLZw9B6bPzlB3CjxtRUqnpXl V+UXmgy16u7YUHATdUq93LBldD7dlxkr4AZbqiC3xAdlRihJn/WB/yAhJiNuSKMZAUFDDRUUxo+ zGimxIYZ8fFQBuPyMrPgdPSjFuwoXsREy5f1SK6veRU98lH0ePXdBRSGNqF8FKM8FTDpmMOlUbr QoumN81dTYHdn2eInjOqhTQ== X-Google-Smtp-Source: AGHT+IGI2PRNJyX+U9IB2YJ0M51aEc7bvKmIioUeE3kGyANoDpfdqKVo1stDC30X16tEyAdaQ1ALwg== X-Received: by 2002:a17:902:d4cb:b0:240:52d7:e890 with SMTP id d9443c01a7336-24096bb30e1mr75335325ad.47.1753913194435; Wed, 30 Jul 2025 15:06:34 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Daniel Henrique Barboza , Peter Maydell , qemu-arm@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Weiwei Li , philmd@linaro.org, Liu Zhiwei , Palmer Dabbelt , richard.henderson@linaro.org, qemu-riscv@nongnu.org, Alistair Francis , Pierrick Bouvier Subject: [PATCH 07/10] semihosting/arm-compat-semi: replace target_ulong with uint64_t Date: Wed, 30 Jul 2025 15:06:18 -0700 Message-ID: <20250730220621.1142496-8-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> References: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::62b; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1753913283288116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- semihosting/arm-compat-semi.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/semihosting/arm-compat-semi.c b/semihosting/arm-compat-semi.c index e5a665d604b..e3b520631b3 100644 --- a/semihosting/arm-compat-semi.c +++ b/semihosting/arm-compat-semi.c @@ -123,7 +123,7 @@ GuestFD console_out_gf; */ =20 typedef struct LayoutInfo { - target_ulong rambase; + uint64_t rambase; size_t ramsize; hwaddr heapbase; hwaddr heaplimit; @@ -214,7 +214,7 @@ static LayoutInfo common_semi_find_bases(CPUState *cs) * global, and we assume that the guest takes care of avoiding any races. */ #ifndef CONFIG_USER_ONLY -static target_ulong syscall_err; +static uint64_t syscall_err; =20 #include "semihosting/uaccess.h" #endif @@ -260,8 +260,8 @@ static void common_semi_rw_cb(CPUState *cs, uint64_t re= t, int err) { /* Recover the original length from the third argument. */ CPUArchState *env G_GNUC_UNUSED =3D cpu_env(cs); - target_ulong args =3D common_semi_arg(cs, 1); - target_ulong arg2; + uint64_t args =3D common_semi_arg(cs, 1); + uint64_t arg2; GET_ARG(2); =20 if (err) { @@ -300,9 +300,9 @@ static void common_semi_seek_cb(CPUState *cs, uint64_t = ret, int err) * is defined by GDB's remote protocol and is not target-specific.) * We put this on the guest's stack just below SP. */ -static target_ulong common_semi_flen_buf(CPUState *cs) +static uint64_t common_semi_flen_buf(CPUState *cs) { - target_ulong sp =3D common_semi_stack_bottom(cs); + uint64_t sp =3D common_semi_stack_bottom(cs); return sp - 64; } =20 @@ -389,9 +389,9 @@ void semihosting_arm_compatible_init(void) void do_common_semihosting(CPUState *cs) { CPUArchState *env =3D cpu_env(cs); - target_ulong args; - target_ulong arg0, arg1, arg2, arg3; - target_ulong ul_ret; + uint64_t args; + uint64_t arg0, arg1, arg2, arg3; + uint64_t ul_ret; char * s; int nr; int64_t elapsed; @@ -462,7 +462,7 @@ void do_common_semihosting(CPUState *cs) =20 case TARGET_SYS_WRITEC: /* - * FIXME: the byte to be written is in a target_ulong slot, + * FIXME: the byte to be written is in a uint64_t slot, * which means this is wrong for a big-endian guest. */ semihost_sys_write_gf(cs, common_semi_dead_cb, @@ -688,11 +688,11 @@ void do_common_semihosting(CPUState *cs) =20 case TARGET_SYS_HEAPINFO: { - target_ulong retvals[4]; + uint64_t retvals[4]; int i; #ifdef CONFIG_USER_ONLY TaskState *ts =3D get_task_state(cs); - target_ulong limit; + uint64_t limit; #else LayoutInfo info =3D common_semi_find_bases(cs); #endif --=20 2.47.2 From nobody Thu Oct 16 02:03:59 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753913423; cv=none; d=zohomail.com; s=zohoarc; b=VcGHgrjJ/NVGn+amFIYtZ8R5bocR8Gp7f+AKuub3N8wQkdxaCXQT0vbKzqBhpwYppU65EArKZNUZqYBdg0+7dwAPXSPbggy+dpda2ykuKevqszggXmTJmDurMBbfEsCr40di89EhzvLYkJx/e90Vlg8bBODucYA6lZHQizevHw0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753913423; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=t5MOCh8vZ85TyUX2Kr+LHdMr3zhcFbFlGuu1sgPE5wg=; b=afsqNkcOYgObKrbUlwpwdnSi14Hmlfc2fmdKwfnb0I9kiIcIc7DHwWqGNiucy8aDNujp7sxbnSKG6Mq6/QBj/e31lx7nXoPto1Ib5RvckX8FNFmeTJxuLZ0dmdWB+eF/2fLshZaE2xpdlWWHCPPUThr5a6O5xQ6+IVtSKvl0Zh0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753913423318246.2065808200781; Wed, 30 Jul 2025 15:10:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhEzd-0001Nf-1T; Wed, 30 Jul 2025 18:09:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhEwb-0001XM-Ke for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:41 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uhEwX-0002d9-06 for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:41 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-2403ceef461so3250385ad.3 for ; Wed, 30 Jul 2025 15:06:36 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241e899d272sm981535ad.135.2025.07.30.15.06.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Jul 2025 15:06:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753913195; x=1754517995; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=t5MOCh8vZ85TyUX2Kr+LHdMr3zhcFbFlGuu1sgPE5wg=; b=RG5emM8YEy7KmmVSCFPt8rxFJW7qiyoVZpmdWCp4Q9FJVEfD1ECJwOm/8En2zwqXv1 iCfi+cMDWJghZXiqgSLIQZvYwApwFv+tYDICvr9uLhm4RLUqdiR/EgsJ272qMdJQk3Du 464vJ6nEW/yW1+fe+rkdbRjPsaDRJnbTfmpGllf3tbiNHB7oV+Klpi9WHqh3ngPW6I3j NwjO1a8ijbE3dxKEdEAZR6eIwqK9YUqG2KLmVOdg/egiyTtLhLCUI+vaL/tAKTXdHRY7 n4WZcKzTeluRHCMD0IE9QIrUMDDp8z+as5gcWba/cI32rHMnWsjOrkt6ZflDKwzwmEMp Xo5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753913195; x=1754517995; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=t5MOCh8vZ85TyUX2Kr+LHdMr3zhcFbFlGuu1sgPE5wg=; b=hWrTJ2RvPzHTtTAcTMIhzi1L7FqnXAKYbHxF0H+kD4YKnsQZzDqYUue7hLM8W4xK65 CQk3KIVr5ZIONEsb7i9io83MxbddEHHlhQr7wtrnblFrypwBITD47k3/Ya65HyMlp0vh iuHhLBKQH2tzeclZ7dlkNDfXQlhI1b3AmXQcL1kI3nMGTKtOn2tpaiiu/ln6f1hrU0iV wtFbGk8Jm6otAPOjnb798h6GQo2LNAvrXP2Gpf0A44ToFR8ayzYXFR+/3WazBfCUMLba 6gSIc73zG48K5DxtlKZvkENY0uZe/DufQfJsFfvoazTVjEDmRZa0O+mOaeE+WtK0MfZw MuZQ== X-Gm-Message-State: AOJu0Ywya3SlLQG/GkEG+K2A3eG9Xamfx/i14wM97Ux22bEZIdxWFujB g8bb7GRTk+xY0fWt01muN4hJ/wlUEGqh5yVjwFFNswKwZ07TquMLQvudz7apN1DwtTVnCKiP1su SAsJH X-Gm-Gg: ASbGncvehHLR8+Kd8TFFnKkBDyjPJTklxgRTVRpBzwVJDCptTwv6hGIKazLGeGWVc7N 2LK0xPbv2Yi8PNEOuHp0iKHv0tqfOPsLdBsbX9V9ZjiuLc3yUT/oAGn5V2APURWN5KRZV00Kw+g +xV8+nhd4Hn8bLbV12/zpZOu77xpzXdLk7vVWp2fct4xIlJXIxJciebXflAJoWnROaSMI87BWVe jOcNGYoekJImsSuWBc7HmFFxfvRLMREWOx1C+QP6nPcGPqrov60MLMQDdpF8yYT47RDc7zDaXgY QxQay9WWimLdJkihln65kM8TcvQ5CNqAIH6volSCPaNxyc/CKG9IHZWWdOp6yAsunbFV/dvgWkp 64ck5Y3HQF88A3ACXyoI3lw== X-Google-Smtp-Source: AGHT+IF1HRNCCD7zRktuNXo7omeQUVfwXTQJyCef5uTGpBAFnihPPCxSFKsuYupnOc+fpQUlejtg0g== X-Received: by 2002:a17:903:11d0:b0:240:2281:bd0e with SMTP id d9443c01a7336-24096a72dacmr70431405ad.2.1753913195279; Wed, 30 Jul 2025 15:06:35 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Daniel Henrique Barboza , Peter Maydell , qemu-arm@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Weiwei Li , philmd@linaro.org, Liu Zhiwei , Palmer Dabbelt , richard.henderson@linaro.org, qemu-riscv@nongnu.org, Alistair Francis , Pierrick Bouvier Subject: [PATCH 08/10] semihosting/arm-compat-semi: replace target_long with int64_t Date: Wed, 30 Jul 2025 15:06:19 -0700 Message-ID: <20250730220621.1142496-9-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> References: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::634; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x634.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1753913424730116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Pierrick Bouvier --- semihosting/arm-compat-semi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/semihosting/arm-compat-semi.c b/semihosting/arm-compat-semi.c index e3b520631b3..715a22528ab 100644 --- a/semihosting/arm-compat-semi.c +++ b/semihosting/arm-compat-semi.c @@ -502,7 +502,7 @@ void do_common_semihosting(CPUState *cs) =20 case TARGET_SYS_ISERROR: GET_ARG(0); - common_semi_set_ret(cs, (target_long)arg0 < 0); + common_semi_set_ret(cs, (int64_t)arg0 < 0); break; =20 case TARGET_SYS_ISTTY: --=20 2.47.2 From nobody Thu Oct 16 02:03:59 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753913511; cv=none; d=zohomail.com; s=zohoarc; b=aKxFH09U4T/wMdLHl7EGHCqPrtN1yyoCvEKt85aIgcrylp98eBEIVNXNlvXYYFm3h4hPz8tKmfsoDaTHyRXRTIV4kyRJya24a1PHxROD1h7R2duitVjjZun5K6bMbvrjrFBQiAbi7VtdcMkvwYDnmkspnkvO0qxqlefH0/Dvl1E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753913511; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=HkgXPOtfTDdRhmtR7+6K9lh3sJBO3AG78sxoSa7xDFE=; b=KQSwA7svUMN0CaE5AZDs+/omd4mwj+iVc6NtTDwTapXMN7/UMY7KQ3mKYpoeIRQ3zakHnhhmVd5rXPZYa/LoJGLp+4ijiYTN4jjBgBlNZEjCb4Jdc5WifkSKHiU8KssmXkn+/DUcVSbJHnVR8Bhb/TVmYHn9ZVVGxWf9wNT8DMA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753913511934988.4586824404765; Wed, 30 Jul 2025 15:11:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhEze-0001Qo-35; Wed, 30 Jul 2025 18:09:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhEwd-0001e1-18 for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:43 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uhEwY-0002dj-3R for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:42 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-23ffa7b3b30so3937145ad.1 for ; Wed, 30 Jul 2025 15:06:37 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241e899d272sm981535ad.135.2025.07.30.15.06.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Jul 2025 15:06:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753913196; x=1754517996; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HkgXPOtfTDdRhmtR7+6K9lh3sJBO3AG78sxoSa7xDFE=; b=Sia224/M9UDwNG/Gs8RYRY5ZdRjtRM/6CvvC5gTgImuvS+nGiPpvriWBk49jgMRPaa eDHNyfNTh3Vyr3UdbQ6hJxjWbl63OnmkGXw1QUjqUn9DScOTJc63jy9yDWZ5o1zmVkIw 2E3pR6Ibz2zCLeRmqpVgVbfJ66Akzb/LWMR1yk8WtuOHQC/C9S1hK6mwxVlwmDAMDfhA SOup/o9ac+Ru5Cjb5AzpaIAZtOflHKeCvtvMtd+uO1SA6hTCixwCFgjPcrd0UWCbfHM8 KA8mMCivXEUGEYityQ+O6bE2APwmNPeQ4/n60INsMLN8AEs/Y3XrLk5lOgSqNV2GRn1a ueNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753913196; x=1754517996; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HkgXPOtfTDdRhmtR7+6K9lh3sJBO3AG78sxoSa7xDFE=; b=dHawKrc+FmK5SgD3VsGAUZZJ9alng0SkJs7Pr2EQc4dGIhVarY38aM6JN6WS9EevO8 vhMyj6/Ve/3P65/nsB3BjhdcrcmQ/4hnWZ4qAZkxAz32G8+NYSjiGqDcLyOp9USkZ0Ot OsaxFTWkeE0UVG6biDVbMy2DQng3w/mBiwsktd2Z0HLZLdOKREUd88I4i3GA757quUXq JIgHja5sJQoXqEmzC/nDkx4ZnECpORdxmTJRwHkqoXwaNBhFuISCwfUraXGE0wamczdV 9MPSpb5Lm+VtA90INlUXBrL5Wnb97PsoWkkZaTafsu+CaHF7U2mjTtFx0kCJB3SrbvSN AOAg== X-Gm-Message-State: AOJu0Yz50QhGebgNJxQ+9vrG9RXt61aSBYpDXG120jWD9HmZQIDt8nr5 KRfqHWXr86TbGpxy2R/qy9Unq57nyKCQPqUYv0fFSsop1Bl3e7D2DwB11a1V/aVcJrbVC21xvSL pKtjd X-Gm-Gg: ASbGncvbGXlKi10wbqqBnmpfByTalkswn5acl0RdRO/oSI8Cq5IS8jJJ7+qgetTNuZP RQ5oAGpntUVN1zZt8rmUCTThs9EztZhRmgBLoYGKUMt+HUpiIRQkDiRY4SjkftNehsRAtvpzW4j vaFOSJuItZ3Zpuhkkz89qhw5K6eu39MlzFVzK3sbRMT1tgwIe3o9ocTFSakIGxJhxYUkoKE5Z26 CTPxSO0GUZgtxM768XLxZrE2lprAm1QxGgZQz7C7Ni/czu8542wxIEaBQo8R0LwTDG7FPgs6v12 g4JZ0/BLGZiZlNepgbc9KugAi/Fs1ndLE5TsP5F/p9cYeLjQY/pPAC2bLN1iVb4N4Tg+baYu9sG xLbkJVxHjtWvGHXnqoSA7rQ== X-Google-Smtp-Source: AGHT+IEwidS7gyMXA5LeWThiCer8JwrvnZNz44DvSfCO/Ty70yonQ3n3aS69EaIJU+bGs8fnXBZJIQ== X-Received: by 2002:a17:902:e54a:b0:240:3c0e:e8c3 with SMTP id d9443c01a7336-24096b587b5mr69293715ad.51.1753913196205; Wed, 30 Jul 2025 15:06:36 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Daniel Henrique Barboza , Peter Maydell , qemu-arm@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Weiwei Li , philmd@linaro.org, Liu Zhiwei , Palmer Dabbelt , richard.henderson@linaro.org, qemu-riscv@nongnu.org, Alistair Francis , Pierrick Bouvier Subject: [PATCH 09/10] semihosting/arm-compat-semi: remove dependency on cpu.h Date: Wed, 30 Jul 2025 15:06:20 -0700 Message-ID: <20250730220621.1142496-10-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> References: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::635; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x635.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1753913513804116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- semihosting/arm-compat-semi.c | 1 - 1 file changed, 1 deletion(-) diff --git a/semihosting/arm-compat-semi.c b/semihosting/arm-compat-semi.c index 715a22528ab..703db038a4e 100644 --- a/semihosting/arm-compat-semi.c +++ b/semihosting/arm-compat-semi.c @@ -34,7 +34,6 @@ #include "qemu/osdep.h" #include "qemu/timer.h" #include "exec/gdbstub.h" -#include "cpu.h" #include "gdbstub/syscalls.h" #include "semihosting/semihost.h" #include "semihosting/console.h" --=20 2.47.2 From nobody Thu Oct 16 02:03:59 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753913492; cv=none; d=zohomail.com; s=zohoarc; b=JQowamOVzBNK+UALupUleOIv43iA7j/Lo1oUBC1sGBO/YAaaBn6uDHG7Ms2TXqtrsxtS7sAD1OXCmIMZEc1VeQsdTT+qkjms/Pwt7uufgKU5n4DcM9Np4BO9gpOy3RP0CeYyWaQZKdj2JF6lcmPPucqEydgXmLg0fcATIzjEA2k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753913492; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=U9Jt2nnjSdWUZl5mAbqo93xKPN/u158eZmI9MYg927A=; b=BLTIOfRRQlTbFx6KH1ZDFDLwKaUYir2xrTcrU8Ybp4BAD0SXCRUBe60XFq1Q3vNjlAlva2tSufh09LRx8m86upr1QtcN9qEFSgEB7zoJszOHYxBJgWLOjum6CjZDma3uy0OrKorKKLORTZc+RtL301vxFD/6AcX7Ctk0BIYOmQM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753913492920887.7737551797286; Wed, 30 Jul 2025 15:11:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhF0R-0002bx-1Q; Wed, 30 Jul 2025 18:10:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhEwe-0001iv-4u for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:44 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uhEwY-0002em-VT for qemu-devel@nongnu.org; Wed, 30 Jul 2025 18:06:43 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-2403ca0313aso3078885ad.0 for ; Wed, 30 Jul 2025 15:06:38 -0700 (PDT) Received: from pc.. ([38.41.223.211]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241e899d272sm981535ad.135.2025.07.30.15.06.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Jul 2025 15:06:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753913197; x=1754517997; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=U9Jt2nnjSdWUZl5mAbqo93xKPN/u158eZmI9MYg927A=; b=E8+AxWweCIMYOIuLSNdp4xT8Z6ka2mJ7ASyx+jZOpWAez2YUzeIznoJHUg7tw5QiSI PJgZ1GC8LOAW3Tnc70vVZ6Y2UXePPfNzjR8aneiUjw1S5+ZgzZpAEW3QeFEKbXkv4Hj1 Gs1/X0izx0iMwkLasw7JLb4lY5mTp3pi2yY89O0VbgCkz794PEhWdK4zsJPyAKRTNJoV LswHkKeEhXujs1hOIYe585e+b/MrGfZuVZjJ6eWIXRbs10Sra8gjCFTWVLRIYZZp4RSI tPPb1+t4G96SiJ1Oz9i6qZAIIz+rwm+1WcQvhroQm3w4VUqIu1EJCPyXxa0+5uBu0zvt eGtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753913197; x=1754517997; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=U9Jt2nnjSdWUZl5mAbqo93xKPN/u158eZmI9MYg927A=; b=V6iT6AmrKEntHTviTRv3jLEJBWvOFDFbDZ7CcVow071n5zbTHtnTw3689GQVeVzJjL pN/JosaglNUaUc19KyQMcSrrmov0UK8+dLZa4+CUmhhtXUs80NAsTlpRMSY1LqaXQ+mr y0Fu754o5mm7Tt92762jw5jsfmYxwWYyz2w9928lZVfmg1ljn8s4cMki65AkVzz0UXW4 l1eL3CNhXTQY0u3BmfbwTC7EJHVOPfyd3XG9In64chL4Q7NZicMbEDb4fjSHWQkpSp3Y i17DtrpW2rcFeGTq3Rm7CLMAo/uJ8iY1pfmm8GpY2c0wi3hHvartHTSTnstWNjq7vrhm rHOg== X-Gm-Message-State: AOJu0YwtK1BANkNUZv8H9sht2VBn/4ZJX8GNfs4qKh2/OgjhZNVLRng1 L36Ql1gF90y5GHHtzYC0lm0ZL+Zvn2LpFBh/13l4hoJqCIy987ZFaGUXi6jvSNN44tiwU4eqQLX r5JgO X-Gm-Gg: ASbGnct4Xuo/dpw+ELJYqNX5mACBO3uN9CYgdU+F+fyNimKhCaa4l7QlNbCG+Cjp1mA lmjpVsDZKsD2eBS4Iosvgofq8oQ5cyRumqVyYqximItTMMzNdeba5+TWGGHKceXCqJIwANbSl8j I4DAZYOByZy+afuSZjA7pTIPYnKSpLVELMrNHjE4y3NH7Ags1Wl54iL7zNd+6Gu7T/AXuFGJxRN jXTBBGLzTT7WNEj1S6VM/YxrqAt17fN+dhoH2+nxJMMp1K+7bNqC4YhPOwqVnPk/LSsyNe+zSPB NrAg4LYwpkDpUOIPK3eSjJLqeG/4TgGO+vQNXsP7qtQygg+hxcgA/TVJ10nXPgO7V/MTX7T0DUL Oja1cz4gUQmW8hqdFn/usXjVEs04Hw/+Y X-Google-Smtp-Source: AGHT+IGDX57VB0I9QpChqVGeyhjh+hRxgaejT8za47l/v+1e6x5YM+ZvCahPZ3jmijncowPJN4d5SQ== X-Received: by 2002:a17:902:ea10:b0:234:d778:13fa with SMTP id d9443c01a7336-24096b2364dmr64741585ad.26.1753913197120; Wed, 30 Jul 2025 15:06:37 -0700 (PDT) From: Pierrick Bouvier To: qemu-devel@nongnu.org Cc: Daniel Henrique Barboza , Peter Maydell , qemu-arm@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Weiwei Li , philmd@linaro.org, Liu Zhiwei , Palmer Dabbelt , richard.henderson@linaro.org, qemu-riscv@nongnu.org, Alistair Francis , Pierrick Bouvier Subject: [PATCH 10/10] semihosting/arm-compat-semi: compile once in system and per target for user mode Date: Wed, 30 Jul 2025 15:06:21 -0700 Message-ID: <20250730220621.1142496-11-pierrick.bouvier@linaro.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> References: <20250730220621.1142496-1-pierrick.bouvier@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::62c; envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x62c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1753913493648116600 Content-Type: text/plain; charset="utf-8" We don't have any target dependency left in system mode, so we can compile once. User mode depends on qemu.h, which is duplicated between linux and bsd, so we can't easily compile it once. Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson --- semihosting/meson.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/semihosting/meson.build b/semihosting/meson.build index bb0db323937..99f10e2e2bb 100644 --- a/semihosting/meson.build +++ b/semihosting/meson.build @@ -12,9 +12,10 @@ system_ss.add(when: 'CONFIG_SEMIHOSTING', if_true: files( 'stubs-system.c', )) system_ss.add(when: 'CONFIG_ARM_COMPATIBLE_SEMIHOSTING', + if_true: files('arm-compat-semi.c'), if_false: files('arm-compat-semi-stub.c')) =20 specific_ss.add(when: ['CONFIG_SEMIHOSTING', 'CONFIG_USER_ONLY'], if_true: files('syscalls.c')) -specific_ss.add(when: ['CONFIG_ARM_COMPATIBLE_SEMIHOSTING'], +specific_ss.add(when: ['CONFIG_ARM_COMPATIBLE_SEMIHOSTING', 'CONFIG_USER_O= NLY'], if_true: files('arm-compat-semi.c')) --=20 2.47.2