From nobody Tue Feb 10 02:55:33 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) client-ip=209.85.128.46; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f46.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1625418480; cv=none; d=zohomail.com; s=zohoarc; b=XOQXvODt+vooNnyYGMS3TJHM0zDZ66RXuJ6tOtiOH2PNrk/cR5hsD3PHmHGN52ntnethIhklY0XbORk+/vnUwKiys+Gbr9m/B7oQqqv/y80Cid3JPHM6mYXMbduaSH97wRjjgnPxGu5hr6jOy0f7l+4Qh373X40JW7XpCVEQCnM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625418480; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=yyWwCax0ANqlJGd1zXixJ2cUF3+/K6etOqORQ4aXV8U=; b=P2Ymf+bZDsXZ0qlq66rK0F4ecex5lqnxdp16su3AHmbxv2F356q+ExTvdNqqKkBTv6KNcM1A1SH/0if/QV/uSp3hXdKzmJ35xhKAljIgA+u4vpWq0beBW5K3hebqlgzaZxycKynA7waQktD/f5dpJXhVheDG+Fa8U0mb5iFpR80= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by mx.zohomail.com with SMTPS id 1625418480831405.83954842699677; Sun, 4 Jul 2021 10:08:00 -0700 (PDT) Received: by mail-wm1-f46.google.com with SMTP id l18-20020a1ced120000b029014c1adff1edso12406024wmh.4 for ; Sun, 04 Jul 2021 10:08:00 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (93.red-83-35-24.dynamicip.rima-tde.net. [83.35.24.93]) by smtp.gmail.com with ESMTPSA id e8sm10422670wrq.10.2021.07.04.10.07.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 Jul 2021 10:07:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yyWwCax0ANqlJGd1zXixJ2cUF3+/K6etOqORQ4aXV8U=; b=aeU0Z+yQ2vF+2c0yQ9+eQOmSVtTyMgmY8k3BuBR2Bk5iMa4Mx8X5przc0MRLTmIWlC cjuEepluYpVJsMgkkIW9QA9Fvz8k3hYqpI9Q8/kZWeL9rZf1Gj6yjZj8mQy/1FX7koVZ qUQPtd4nsOLZnTo+obFGCb5iIg8DdM8dHp3eyuz/WEyxYwxeTuJqynDz+k7FTSKR2lyO 7KqjN4QbV8X7r4w7tkiw64VpFSWnKcHTkUGaQ3A2c718yTt16dNQ4xlXrKVApj4Pr4Ad +fozsVvCgFgwnV2L+bCVA4rAXruAMXFbG7dE+bS9akvy72ceqNb2yyF/06yMLoGwMulz AWmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=yyWwCax0ANqlJGd1zXixJ2cUF3+/K6etOqORQ4aXV8U=; b=Ldlom4EA3bl5SCzALbRdeSO3RKOniRGcST6tOs8JqHc/fa4kEQGWVwprwvB4Zi0YKy WEg6nATSgn5RXtfb9pCf9W8D/+8siiMAIGaW4yfCTpD9CCZqX5rBqcyiOOvkBGOnHZTr VHcD8Ob/4M+YKysJjKBjUteFfmcuWNxpEfsk/KXVY322s9rw8FLdj6eYTkvdVbpWKeag TtcTFBcv7alMN/iH4x3JwcbQNzqHbbnCDuRMZcmH/7+qxgNDDys7+qcR2096mu7bioda ixTcmHKCxR5q6XY+UzDHmL48PCwDyeSpD+oet9mWL/snjiG874kUoLB1jckQURZdlRqW xv5g== X-Gm-Message-State: AOAM533w4TCZdNERBAdZ4SmLsbSb181cqX1MA3FE2n6iMb5mtNqckqa9 FBFXgzAHxcB+MlChMiUKXms= X-Google-Smtp-Source: ABdhPJy41eC8tESwBe33SkgLlDoUIpijiW+vIfquwxNtJocc+eqY/9PfnvnwcJmNMQGJ2QtPYeu+Fw== X-Received: by 2002:a05:600c:3783:: with SMTP id o3mr10707524wmr.123.1625418479082; Sun, 04 Jul 2021 10:07:59 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Zak , Aleksandar Rikalo , Thomas Huth , Aurelien Jarno , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Alexander von Gluck IV , Jiaxun Yang , Leon Alrae , Peter Maydell , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH 4/4] target/mips: Complete UHI errno list and log unexpected errors Date: Sun, 4 Jul 2021 19:07:36 +0200 Message-Id: <20210704170736.617895-5-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210704170736.617895-1-f4bug@amsat.org> References: <20210704170736.617895-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1625418483011100001 The spec only defines a set of host errno to translate to guest. Complete the current errno set, and log unexpected errno (they are currently replaced by EINVAL, which is dubious, but we don't modify this). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/tcg/sysemu/mips-semi.c | 38 ++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/target/mips/tcg/sysemu/mips-semi.c b/target/mips/tcg/sysemu/mi= ps-semi.c index 3e91c9eb76c..6e6518dd626 100644 --- a/target/mips/tcg/sysemu/mips-semi.c +++ b/target/mips/tcg/sysemu/mips-semi.c @@ -100,10 +100,46 @@ static void uhi_errno_init(void) * Unified Hosting Interface (rev 1.1.6) * Appendix A. "Error values" */ + uhi_errno_insert(EPERM, 1); + uhi_errno_insert(ENOENT, 2); + uhi_errno_insert(EINTR, 4); + uhi_errno_insert(EIO, 5); + uhi_errno_insert(ENXIO, 6); + uhi_errno_insert(EBADF, 9); + uhi_errno_insert(EAGAIN, 11); + uhi_errno_insert(EWOULDBLOCK, 11); + uhi_errno_insert(ENOMEM, 12); + uhi_errno_insert(EACCES, 13); + uhi_errno_insert(EBUSY, 16); + uhi_errno_insert(EEXIST, 17); + uhi_errno_insert(EXDEV, 18); + uhi_errno_insert(ENOTDIR, 20); + uhi_errno_insert(EISDIR, 21); + uhi_errno_insert(EINVAL, 22); + uhi_errno_insert(ENFILE, 23); + uhi_errno_insert(EMFILE, 24); +#ifdef ETXTBSY + uhi_errno_insert(ETXTBSY, 26); +#endif + uhi_errno_insert(EFBIG, 27); + uhi_errno_insert(ENOSPC, 28); + uhi_errno_insert(ESPIPE, 29); + uhi_errno_insert(EROFS, 30); + uhi_errno_insert(EMLINK, 31); + uhi_errno_insert(EPIPE, 32); + uhi_errno_insert(ERANGE, 34); + uhi_errno_insert(ENOSR, 63); + uhi_errno_insert(EBADMSG, 77); uhi_errno_insert(ENAMETOOLONG, 91); #ifdef ELOOP uhi_errno_insert(ELOOP, 92); #endif + uhi_errno_insert(ECONNRESET, 104); + uhi_errno_insert(ENOBUFS, 105); + uhi_errno_insert(ENETUNREACH, 114); + uhi_errno_insert(ENETDOWN, 115); + uhi_errno_insert(ETIMEDOUT, 116); + uhi_errno_insert(ENOTCONN, 128); #ifdef EOVERFLOW uhi_errno_insert(EOVERFLOW, 139); #endif @@ -126,6 +162,8 @@ static int errno_mips(int host_errno) NULL, &uhi_errno)) { return GPOINTER_TO_INT(uhi_errno); } + qemu_log("semihosting: Illegal UHI errno: %d\n", host_errno); + return EINVAL; /* Not reachable per the specification */ } =20 --=20 2.31.1