qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 0/8] target/ppc: powerpc_excp improvements [40x] (3/n)


From: Cédric Le Goater
Subject: Re: [PATCH 0/8] target/ppc: powerpc_excp improvements [40x] (3/n)
Date: Tue, 11 Jan 2022 09:37:33 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0

On 1/10/22 19:15, Fabiano Rosas wrote:
This is the first series of the exception model-specific changes. I
intend to keep this same structure for the rest of the exception
models.

== preparation ==

First few patches are cleanups specific to this model. This comes
first because I'm using some of these changes to help validate what
should be removed in the subsequent patches.

== new powerpc_excp function ==

One patch copies the powerpc_excp function as is and renames it to the
exception model in question. Doing this first facilitates spotting
what changed from the _legacy version.

The following patch changes everything that needs to be changed at the
top level (MSR mask, SF, ILE, AIL, SRRs, etc.) and removes exceptions
that are not used by this processor family.

== exceptions cleanup ==

After the new powerpc_excp function has been made specific to that one
exception model, go through every exception removing anything that
does not apply to this model.

Based on legoater/ppc-7.0

Cleanups 2/n [in ppc-7.0]:
https://lists.nongnu.org/archive/html/qemu-ppc/2022-01/msg00252.html

Cleanups 1/n [already merged]:
https://mail.gnu.org/archive/html/qemu-ppc/2021-12/msg00696.html

RFC v2:
https://lists.nongnu.org/archive/html/qemu-ppc/2021-12/msg00542.html

RFC v1:
https://lists.nongnu.org/archive/html/qemu-ppc/2021-06/msg00026.html

Fabiano Rosas (8):
   target/ppc: 405: Add missing MSR bits to msr_mask
   target/ppc: 405: Add missing exception handlers
   target/ppc: Introduce powerpc_excp_40x
   squash target/ppc: Introduce powerpc_excp_40x
   target/ppc: 405: Critical exceptions cleanup
   target/ppc: 405: Machine check exception cleanup
   target/ppc: 405: External exception cleanup
   target/ppc: 405: System call exception cleanup

  target/ppc/cpu_init.c    |   8 +-
  target/ppc/excp_helper.c | 246 +++++++++++++++++++++++++++++++++++++++
  2 files changed, 253 insertions(+), 1 deletion(-)


The 405 CPU emulation is not "fully" functional today. the latest kernel
boots, see instructions here :

  https://github.com/legoater/qemu/wiki/ref405ep

but user space segfaults after a while. I suspect some registers (r31)
being clobbered. The same user space image boots correctly under the
QEMU bamboo machine using a 440EP CPU.

That said, the 405 MMU, DECR, SYSCALL exceptions seem to work fine.
So it might be the kernel in some dark corner when restoring user
context.

It would be nice to fix to get a test better coverage for this patchset.
Anyhow, these are good cleanups and they won't be gated by 405 user
space being broken.

Thanks,

C.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]