qemu-ppc
[Top][All Lists]
Advanced

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

Re: [PATCH] hw/ppc/e500: Partial implementation of local access window r


From: BALATON Zoltan
Subject: Re: [PATCH] hw/ppc/e500: Partial implementation of local access window registers
Date: Mon, 3 Mar 2025 01:33:49 +0100 (CET)

On Sun, 2 Mar 2025, Bernhard Beschow wrote:
Am 1. März 2025 16:10:35 UTC schrieb BALATON Zoltan <balaton@eik.bme.hu>:
On Wed, 15 Jan 2025, BALATON Zoltan wrote:
This allows guests to set the CCSR base address. Also store and return
values of the local access window registers but their functionality
isn't implemented.

Bernhard,

Hi Zoltan,


If you have no alternative patch you plan to submit for next release should we merge this for now? This helps running u-boot binaries even if it's not enough alone but would be one patch less in my local tree. Or do you know about a problem with this patch why this should not be merged?

QEMU sets a machine-specific CCSR base address (pmc->ccsrbar_base) which differs from the real chip's default. The default is checked by U-Boot which enters an infinite loop on mismatch: <https://source.denx.de/u-boot/u-boot/-/blob/v2024.07/arch/powerpc/cpu/mpc85xx/start.S#L614>. How does this work for you?

The U-Boot version I've tested (or something else, I don't remember) wanted to set the CCSRBAR to the value it expects which is different from where it looks for it at reset and that works with this patch. I don't know which code path that corresponds to in start.S.

In addition, when moving the CCSR region, `env->mpic_iack` should be updated as well: <https://gitlab.com/qemu-project/qemu/-/blob/v9.2.2/hw/ppc/e500.c?ref_type=tags#L969>

I did not notice that. Maybe it's only relevant with KVM and I've only tested with TCG or could be I did not get to the part yet when this would cause problems. I don't see an easy way to update this as these are in separate places and also don't know how this mpic_iack is handled with multiple cores. So in case this patch breaks this then it's OK to drop it for now. I can carry it locally until fixed upstream.

I'm happy to submit an implementation on top of my e500 cleanup series <https://patchew.org/QEMU/20241103133412.73536-1-shentey@gmail.com/> which needs agreement on some open discussions.

Some of that series was already merged. What are the outstanding patches and discussions? I don't remember seeing an updated version of that series with only the outstanding patches.

Regards,
BALATON Zoltan

reply via email to

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