qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: Helge Deller <deller@gmx.de>,
	Peter Maydell <peter.maydell@linaro.org>,
	Helge Deller <deller@kernel.org>,
	John David Anglin <dave.anglin@bell.net>,
	Laurent Vivier <laurent@vivier.eu>
Cc: Michael Tokarev <mjt@tls.msk.ru>,
	Richard Henderson <richard.henderson@linaro.org>,
	qemu-devel@nongnu.org, qemu-trivial@nongnu.org
Subject: Re: [PATCH] tcg/tci: Fix TCI on hppa host and update TCI test matrix
Date: Mon, 8 Jan 2024 12:50:09 +0100	[thread overview]
Message-ID: <eea1905e-f2dc-4dfe-b40c-ed6c1f55cc7b@linaro.org> (raw)
In-Reply-To: <7df97a8e-6bb2-482c-86cf-a9dbf2bd2e53@gmx.de>

On 7/1/24 22:40, Helge Deller wrote:
> On 1/7/24 16:22, Peter Maydell wrote:
>> On Sun, 7 Jan 2024 at 07:20, Helge Deller <deller@kernel.org> wrote:
>>>
>>> Update the TCI interpreter test matrix for big-endian hosts with
>>> big- (hppa, hppa64) and little-endian (x86,x96-64) targets.
>>> I used native ppc64 and hppa hosts for those tests.
>>>
>>> Starting TCI on a hppa host crashed immediately, because hppa is
>>> the only archive left where the stack grows upwards.
>>> Write-protecting the stack guard page at the top of the stack
>>> fixes the crash.
>>
>> We deliberately dropped support for HPPA hosts, under
>> commit a1eaa6281f8b and commit b1cef6d02f84bd8.
>> Do we really care enough about trying to run on these
>> ancient host CPUs to want to bring it back?
>>
>> My personal rule of thumb is that if a host CPU is supported
>> only by TCI then we are better off saying it is entirely
>> unsupported -- in practice the performance will be so
>> terrible as to not be something anybody will want to use,
>> especially for older architectures which are slow to
>> start with.
> 
> I can see your point (and the performance is really horrible).
> It's not my intention to make hppa a supported TCI platform,
> but for me it's a good candidate to at least test TCI on
> a big-endian machine, mostly because I have access to some of
> such machines.
> And, this patch is all what's needed and it's pretty trivial, so
> it would be great if it could be accepted.

I was also running linux-user tests under HPPA/TCI and Cc'ed
Helge for HPPA host removal:
https://lore.kernel.org/qemu-devel/f61ff7ff-44a2-14c3-da08-755c290c75b7@linaro.org/
where he seemed to agree with the change so I didn't insist:
https://lore.kernel.org/qemu-devel/9a5f4a80-0700-4261-f26d-ad86ad4209cd@gmx.de/

Peter, in 2021 I had a go at implementing it (back then there
were few more HW still alive). I hit 2 issues:

- in compat32-bit user mode, signals are broken, see in
   arch/parisc/kernel/signal32.h:

   /* ELF32 signal handling */

   /* In a deft move of uber-hackery, we decide to carry the top half of all
    * 64-bit registers in a non-portable, non-ABI, hidden structure.
    * Userspace can read the hidden structure if it *wants* but is never
    * guaranteed to be in the same place. In fact the uc_sigmask from the
    * ucontext_t structure may push the hidden register file downwards
    */
   struct compat_regfile {
           /* Upper half of all the 64-bit registers that were truncated
              on a copy to a 32-bit userspace */
           compat_int_t rf_gr[32];
           compat_int_t rf_iasq[2];
           compat_int_t rf_iaoq[2];
           compat_int_t rf_sar;
   };

- 64-bit userland is missing glibc (missing L3 TLB support for user
   applications). John was working on it.

Regards,

Phil.


      reply	other threads:[~2024-01-08 11:51 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-07  7:19 [PATCH] tcg/tci: Fix TCI on hppa host and update TCI test matrix Helge Deller
2024-01-07 10:54 ` Philippe Mathieu-Daudé
2024-01-08  7:24   ` Akihiko Odaki
2024-01-07 15:22 ` Peter Maydell
2024-01-07 21:40   ` Helge Deller
2024-01-08 11:50     ` Philippe Mathieu-Daudé [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=eea1905e-f2dc-4dfe-b40c-ed6c1f55cc7b@linaro.org \
    --to=philmd@linaro.org \
    --cc=dave.anglin@bell.net \
    --cc=deller@gmx.de \
    --cc=deller@kernel.org \
    --cc=laurent@vivier.eu \
    --cc=mjt@tls.msk.ru \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).