From nobody Mon Feb 9 09:00:12 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) client-ip=209.85.128.41; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f41.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1625418465; cv=none; d=zohomail.com; s=zohoarc; b=k75tR0vpqwgHu0mtWg+Nl4MxLwxb9JEwxS85NKgd/Fym7CUcTyrPLmh67N2KCspUpjV/oOftKhD+sNAIy7UQNSrCPHCkbrAh8O6LK9jXz9sB1igm70X9B3YtFffxmqsddMaQajc9XyhBg6JfwiUCTclAZqY85PGd841vIYMP/eI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625418465; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=98/Ie1aTZTJyFzAqF6gNinSZNMSWK+bxlmDbDSuQA44=; b=KYzcUHKUweLXi9YGkdFiY8zY2ia+JQ7aSRNxA5/Seb8+RLzc1ZdF3Ka0YUNLYtgpDokFPIhFavNtLZr0bFbOWQ2A1as/eIv+NqS1CijN/mA2pkAhIiBTRx64kJL+BpzEvt8FVIeWZ/CzBTj/WsoAqWN4b15P44FmTL/W0j3vmMc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by mx.zohomail.com with SMTPS id 1625418465925912.5981554479108; Sun, 4 Jul 2021 10:07:45 -0700 (PDT) Received: by mail-wm1-f41.google.com with SMTP id w13so9785027wmc.3 for ; Sun, 04 Jul 2021 10:07:45 -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 b187sm20979920wmh.32.2021.07.04.10.07.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 Jul 2021 10:07:43 -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=98/Ie1aTZTJyFzAqF6gNinSZNMSWK+bxlmDbDSuQA44=; b=MrF11BysXhTlODwIjEXgs3sbbN8s16GsWWlkFeZHd6VjGFhkSkoNUHSymu1o7UANs4 P1PIf480D732OorNeb5HrFgwl2qv8ozYqHTrR/YzXJ2GFEAF7D1nwpKKkQT+RqM0ZekB cEPC/5Tix00WUVh3v26OileipfMRTksjhgBz4bAIpk2eexFR5Z1TgxcwoGfw5Lo84R9b 8nTfCkI3qKTESirCOc9dUiO15ZyMMBUZAoGyZTq2RNgNMjPulbsEix7VQruoWH0nyU2y 6PM2KTvByRtrjyh1c79AY6RNtMhKT6MQlyVtdT0R3ocGMtPuJkKgZi63yFSG+fEZqGlx RTlQ== 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=98/Ie1aTZTJyFzAqF6gNinSZNMSWK+bxlmDbDSuQA44=; b=qKhOmHd//wUZBp0kb9B3BTEA2KX4jcLlU3umk7H6pobwg026tg93RwCFweiiysKyat 5DpyvqP724JglZCCEIX/bSB8iIiFwWt+uxEjp3AN/6LwNWYK8Cw85J7LEvTnNtrnp2Ul bryO/B7SVCLontTccNkLhiDlLX0nIlcdZCAdU6UKlS7bLGb0TCpSd7dk4EIINiFVLkt8 8h/+KKQTYFiARi1iKgBTO9Maw6LxyaU5crvETw3sf0YvqYucEp0XstUOdPnqSjCfrzcA rfMTZqDKfmdhq0Fkv/94hx4BtvuuYJqmj8fDBmPwuLAf+UTQ0QVp0sOTxVytJUMtg01/ N4EQ== X-Gm-Message-State: AOAM531A8tH2m8Wjp2d6VfGg8Xq2qBOO8C2SXjSKpiUmDa/xZMittz1P dBYlswFvzsU8Dxh52c0JnsM= X-Google-Smtp-Source: ABdhPJwTsWBtlrdiBihiqA/+jHE9P9Mgmr00WlJC+4Hn8v+LL9bnpG3+21Ins6phXvpEs+ctKARPyw== X-Received: by 2002:a7b:c8c1:: with SMTP id f1mr10299203wml.135.1625418464061; Sun, 04 Jul 2021 10:07:44 -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 1/4] target/mips: Fix UHI error values Date: Sun, 4 Jul 2021 19:07:33 +0200 Message-Id: <20210704170736.617895-2-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: 1625418467643100001 The UHI support was posted *before* [1] the specification was released, and merged (commit 2c44b19c199) around the same time [2], using Linux kernel errno values. Update to use the spec values. [1] https://lists.gnu.org/archive/html/qemu-devel/2015-02/msg05387.html [2] https://lists.gnu.org/archive/html/qemu-devel/2015-06/msg05231.html Fixes: 2c44b19c199 ("target-mips: convert host to MIPS errno values when re= quired") Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/tcg/sysemu/mips-semi.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/target/mips/tcg/sysemu/mips-semi.c b/target/mips/tcg/sysemu/mi= ps-semi.c index 77108b0b1a9..3b1939365c4 100644 --- a/target/mips/tcg/sysemu/mips-semi.c +++ b/target/mips/tcg/sysemu/mips-semi.c @@ -1,6 +1,8 @@ /* * Unified Hosting Interface syscalls. * + * Specifications: MD01069 Reference Manual (rev 1.1.6, 06 Jul 2015) + * * Copyright (c) 2015 Imagination Technologies * * This library is free software; you can redistribute it and/or @@ -74,14 +76,17 @@ enum UHIOpenFlags { UHIOpen_EXCL =3D 0x800 }; =20 -/* Errno values taken from asm-mips/errno.h */ +/* + * Unified Hosting Interface (rev 1.1.6) + * Appendix A. "Error values" + */ static const uint16_t host_to_mips_errno[] =3D { - [ENAMETOOLONG] =3D 78, + [ENAMETOOLONG] =3D 91, #ifdef EOVERFLOW - [EOVERFLOW] =3D 79, + [EOVERFLOW] =3D 139, #endif #ifdef ELOOP - [ELOOP] =3D 90, + [ELOOP] =3D 92, #endif }; =20 --=20 2.31.1 From nobody Mon Feb 9 09:00:12 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) client-ip=209.85.221.42; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f42.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1625418470; cv=none; d=zohomail.com; s=zohoarc; b=TaVoqaFz0WCt5pjcIyeQnENndMY/htZj/YxIKhZ3VxWXj2aovgllkCfwszJ1soxwpn5dFOBeQLDAr1mAz43KzYdRqehQBwutQtgHk3uCYeMUpF645royIcliPwWFsEFw+vpIwZ3TPFgcviG9tUGET4RpAuUf/sitztf2JJyzWOg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625418470; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=34oogpA4jPcDPLlC0GkfhuqbOcedgJ2v07IEMWiHPY8=; b=Crtz19/Bef9SBBjFdDdU99hQIwS27XYIKTNzq6rCm45YtY092Kf5nSqzrIlKEs5WbDOloLkCPnfKpsj+KIQObW0bYldFq4XthOajGFxmK5Jx1EXwg95QaX+T9xZgUVyWuIJry/8ClqL/2SFH8Vgt8O/tS2wamYuIu3JkVGGSbY0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) by mx.zohomail.com with SMTPS id 1625418470741209.25163735111528; Sun, 4 Jul 2021 10:07:50 -0700 (PDT) Received: by mail-wr1-f42.google.com with SMTP id u8so19035882wrq.8 for ; Sun, 04 Jul 2021 10:07:50 -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 z4sm8888216wrp.46.2021.07.04.10.07.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 Jul 2021 10:07:48 -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=34oogpA4jPcDPLlC0GkfhuqbOcedgJ2v07IEMWiHPY8=; b=DE/sh5MgzMVQJ0lWa+Ex6Ba7zyALdc+Qpd9b6VbCuKvoS96lnMtXIWx1qBrOJKIfvi pMyeOKPymj1PiAxlup1VYBDORd8HRLMGFp4TV23T8a02ZuEUquF+YZ9uP2vS20Eep6sj EO7d8hXhZzp7IrCmH4oieP2iTxRMST9wU9idVcC69g9T+tMXtAcx9R6rXfuUjJrJgV4m wGTn/ENrYLt/DaTP9r2nvdXo1mHYPOwiqICNsO4qDGCAfwmwZs2ex2Pj/hNMO87uJ+O1 l/vfOy//JosS/2uejrWrp5kp7b6arzZXH/pEmny+sN7fM04B9B8GEiSKVxkoPpnDAFrn EXeQ== 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=34oogpA4jPcDPLlC0GkfhuqbOcedgJ2v07IEMWiHPY8=; b=TR0yD/fK/woAIX6oEyuhZs54sAoHjLWrxdbJZX0SibOnn/0wYJkNPDiWHoL3/Rmqfm yCVX23Ef4Uuu5IhFm+a56EhdKJzbyTrSS4wQHwezu9iDEOLMcjIqixipxRWnAgoQGOPF LmmBOIlC5njD15ymg/t5J7GV+b12tfO3oVA36AjYl/NTe+TZau1MoWKQ13rj37SbkqSk S7+9HdNgiAKROY8XCcUhCluhEy9LCPiQ8xyAxDbetGVXXVdKHvlW/i39/8ofh/gh9kSf ExZDopbacFx5iADDt6DJ1OVlwJCGxAvACqBapcyhPPqJSCJZRerfwID7HxAYN//My2V+ miuQ== X-Gm-Message-State: AOAM531Z56muIcHXA91cR26PtxRsMu5Uzr/rOCJJGNNqrwKw6Q5AODo4 B+9M8GTe0lq1cFLFBAGg2ug= X-Google-Smtp-Source: ABdhPJw8PxIpInAL0lVVm16VE4W8kEtRO8kVXFLMPDDxEefdBLhmje10YiJBDhtbWspLpcQHb8O0cQ== X-Received: by 2002:adf:ef8b:: with SMTP id d11mr11040316wro.346.1625418469060; Sun, 04 Jul 2021 10:07:49 -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 2/4] target/mips: Rename UHI err -> host_errno Date: Sun, 4 Jul 2021 19:07:34 +0200 Message-Id: <20210704170736.617895-3-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: 1625418472415100001 Rename 'err' as 'host_errno' to ease code review. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/tcg/sysemu/mips-semi.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/target/mips/tcg/sysemu/mips-semi.c b/target/mips/tcg/sysemu/mi= ps-semi.c index 3b1939365c4..4c924273c1b 100644 --- a/target/mips/tcg/sysemu/mips-semi.c +++ b/target/mips/tcg/sysemu/mips-semi.c @@ -90,14 +90,14 @@ static const uint16_t host_to_mips_errno[] =3D { #endif }; =20 -static int errno_mips(int err) +static int errno_mips(int host_errno) { - if (err < 0 || err >=3D ARRAY_SIZE(host_to_mips_errno)) { + if (host_errno < 0 || host_errno >=3D ARRAY_SIZE(host_to_mips_errno)) { return EINVAL; - } else if (host_to_mips_errno[err]) { - return host_to_mips_errno[err]; + } else if (host_to_mips_errno[host_errno]) { + return host_to_mips_errno[host_errno]; } else { - return err; + return host_errno; } } =20 --=20 2.31.1 From nobody Mon Feb 9 09:00:12 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.52 as permitted sender) client-ip=209.85.128.52; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f52.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1625418476; cv=none; d=zohomail.com; s=zohoarc; b=EMpQcSOFDgXzDx/siol3xUdBDfkkJrr1+DbV5O8yY0JnTo/X7ksk4I0daRCNpMkl+Pllw/NUdxYDz5oDF6Q+VPqSbAbqjwmG3M6tVhW7e1ertXlRFLgZczUoYeb02uoiwRhJWNFJ6g8JiQIX28aq1XY/7YMPyelwDA+HNAT//GM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1625418476; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dIjFa1vlzDxyh9HV658SDCUUQDgEESic8u1n2a+fuvo=; b=c/WEz55QY/6BzgAkGygO6mxEOJuKRQe8LqCEHbPVG8yCOAupxTXzL8H7a9rlOxlv5bBdJc1YHBKSVjlpNa0QLtw1uFvkj5lOUz2rWcDdrOkvxMju+jpZHxpcU3GSCc80fCqqBHl7lBEZzZwKDZnx63ABCwD6M1yGEvFD0nuiRhc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by mx.zohomail.com with SMTPS id 1625418476614647.5301414955111; Sun, 4 Jul 2021 10:07:56 -0700 (PDT) Received: by mail-wm1-f52.google.com with SMTP id b14-20020a1c1b0e0000b02901fc3a62af78so5848092wmb.3 for ; Sun, 04 Jul 2021 10:07:55 -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 q19sm19020101wmc.44.2021.07.04.10.07.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 Jul 2021 10:07:53 -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=dIjFa1vlzDxyh9HV658SDCUUQDgEESic8u1n2a+fuvo=; b=lQ8fuE9C6WTtL1iZEQKfqN7yvCHpNnJ4C/NgzS9hf5623KGO0iS23YYl1LSnNkEJ5s BxlR7Hotk1ZtqxNFp+Nq5FlwvmMDFkpxKpU63bzuMaos/umgrKDrwLE2TgJo//YHA8wq GQQx2LthAH2nYsD0/iaV/Si/g0PUDWBn8VM9cCe6CMIRLPJ1vs9dXFEDXrO0UmOKocBh 3SuZyVfDs9AWhjn40qv+j/ACbn68c3yM9p3KRBA8FvzJGDkMlMwVMWPkXmjJj2btMkmx PXsC96yViZkXTZP8jZJ+cnaatCTkmkBgC1sfYhBCPOo54XZIyoMxc/1LpgpIdn6IPpMZ AxRQ== 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=dIjFa1vlzDxyh9HV658SDCUUQDgEESic8u1n2a+fuvo=; b=s5PpYXrWzo+yOOw6cTnskJDHJH613KM6twNw1xW+QEUHa+Schpcpdh65eHKfRzRC6k 1OOCSoTdC6u+ktcFAtVdsGokdmAhJfnEz33+v3TrJamY4Xey1mJfXIAXs/Q5HHJaFL5Y 7RNGZkuzWk9iN1pMYsBZ4lWZMtYvx21lFIZRt1nHycW7P3i4Oy1K5jLYA8QHaJiaI1pS DSHQlohXiEGEqcRp0dK8tnYLxmepEFLzJwyKQONmm2kAeGnbfPCBsznTeYWL5VK8taN5 CAPpZ5lD3LEg/spwbqSowodK8jEHpKoH6kbeyl0u9SJzZFmh0yPWrX3PadsHBNUOm7LQ VX5g== X-Gm-Message-State: AOAM531BUYfqmFpZlnXuz3xLA7kE/dOOEd2kLqqkTuDqoTx0mDe/zoo7 4W5GEO7/icGZSEc4RVnnzJQ= X-Google-Smtp-Source: ABdhPJxcNUnO3Ech48RBTU1evbJC1wyzv9bkGpBSiq8doztIFoZDZMtYNiGKqzWDGmX8RstMRRjBJA== X-Received: by 2002:a7b:cb53:: with SMTP id v19mr10012997wmj.127.1625418473886; Sun, 04 Jul 2021 10:07:53 -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 3/4] target/mips: Rewrite UHI errno_mips() using GHashTable Date: Sun, 4 Jul 2021 19:07:35 +0200 Message-Id: <20210704170736.617895-4-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: 1625418478780100001 Linking on Haiku OS fails: /boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../.= ./../../x86_64-unknown-haiku/bin/ld: error: libqemu-mips-softmmu.fa.p/target_mips_tcg_sysemu_mips-semi.c.o(.ro= data) is too large (0xffff405a bytes) /boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../.= ./../../x86_64-unknown-haiku/bin/ld: final link failed: memory exhausted collect2: error: ld returned 1 exit status This is because the host_to_mips_errno[] uses errno as index, for example: static const uint16_t host_to_mips_errno[] =3D { [ENAMETOOLONG] =3D 91, ... and Haiku defines [*] ENAMETOOLONG as: 12 /* Error baselines */ 13 #define B_GENERAL_ERROR_BASE INT_MIN .. 22 #define B_STORAGE_ERROR_BASE (B_GENERAL_ERROR_BASE + 0x6= 000) ... 106 #define B_NAME_TOO_LONG (B_STORAGE_ERROR_BASE + 4) ... 211 #define ENAMETOOLONG B_TO_POSIX_ERROR(B_NAME_TOO= _LONG) so the array ends up beeing indeed too big. Since POSIX errno can't be use as indexes on Haiku, rewrite errno_mips() using a GHashTable. [*] https://github.com/haiku/haiku/blob/r1beta3/headers/os/support/Errors.h= #L130 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/tcg/sysemu/mips-semi.c | 62 ++++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 17 deletions(-) diff --git a/target/mips/tcg/sysemu/mips-semi.c b/target/mips/tcg/sysemu/mi= ps-semi.c index 4c924273c1b..3e91c9eb76c 100644 --- a/target/mips/tcg/sysemu/mips-semi.c +++ b/target/mips/tcg/sysemu/mips-semi.c @@ -4,6 +4,7 @@ * Specifications: MD01069 Reference Manual (rev 1.1.6, 06 Jul 2015) * * Copyright (c) 2015 Imagination Technologies + * Copyright (c) 2021 Philippe Mathieu-Daud=C3=A9 * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -76,29 +77,56 @@ enum UHIOpenFlags { UHIOpen_EXCL =3D 0x800 }; =20 -/* - * Unified Hosting Interface (rev 1.1.6) - * Appendix A. "Error values" - */ -static const uint16_t host_to_mips_errno[] =3D { - [ENAMETOOLONG] =3D 91, -#ifdef EOVERFLOW - [EOVERFLOW] =3D 139, -#endif +static GHashTable *uhi_errno_hash_table; + +static void uhi_errno_insert(int host_errno, int uhi_errno) +{ + gboolean ret =3D TRUE; + + assert(uhi_errno_hash_table !=3D NULL); + ret =3D g_hash_table_insert(uhi_errno_hash_table, + GINT_TO_POINTER(host_errno), + GINT_TO_POINTER(uhi_errno)); + assert(ret =3D=3D TRUE); +} + +static void uhi_errno_init(void) +{ + gboolean ret =3D TRUE; + + uhi_errno_hash_table =3D g_hash_table_new(NULL, NULL); + + /* + * Unified Hosting Interface (rev 1.1.6) + * Appendix A. "Error values" + */ + uhi_errno_insert(ENAMETOOLONG, 91); #ifdef ELOOP - [ELOOP] =3D 92, + uhi_errno_insert(ELOOP, 92); #endif -}; +#ifdef EOVERFLOW + uhi_errno_insert(EOVERFLOW, 139); +#endif + assert(ret =3D=3D TRUE); +} =20 static int errno_mips(int host_errno) { - if (host_errno < 0 || host_errno >=3D ARRAY_SIZE(host_to_mips_errno)) { - return EINVAL; - } else if (host_to_mips_errno[host_errno]) { - return host_to_mips_errno[host_errno]; - } else { - return host_errno; + gpointer uhi_errno; + + if (uhi_errno_hash_table =3D=3D NULL) { + uhi_errno_init(); } + + if (host_errno =3D=3D 0) { + return 0; + } + if (g_hash_table_lookup_extended(uhi_errno_hash_table, + GINT_TO_POINTER(host_errno), + NULL, &uhi_errno)) { + return GPOINTER_TO_INT(uhi_errno); + } + return EINVAL; /* Not reachable per the specification */ } =20 static int copy_stat_to_target(CPUMIPSState *env, const struct stat *src, --=20 2.31.1 From nobody Mon Feb 9 09:00:12 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