[Top][All Lists]

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

Re: [PATCH v8 0/5] Mac Old World ROM experiment (ppc/mac_* clean ups and

From: Mark Cave-Ayland
Subject: Re: [PATCH v8 0/5] Mac Old World ROM experiment (ppc/mac_* clean ups and loading binary ROM)
Date: Sat, 17 Oct 2020 13:54:35 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1

On 16/10/2020 13:19, BALATON Zoltan via wrote:

On Fri, 16 Oct 2020, Mark Cave-Ayland wrote:
On 16/10/2020 00:47, BALATON Zoltan via wrote:
This is the cut down version of the earlier series omitting unfinished
patches that I plan to rework later and rebased to Mark's qemu-macppc
branch. Compared to v7 the only change is the cast to (target_ulong)
from (uint32_t) as requested by Mark in patch 1.

FWIW the reason for suggesting the cast to target_ulong is so that the same code works for both qemu-system-ppc and qemu-system-ppc64. For qemu-system-ppc that should correctly drop the sign extension from 32-bit, whilst still allowing someone to load a 64-bit ELF into qemu-system-ppc64 if requested.

Can you confirm that the sign extension behaviour is still correct for both qemu-system-ppc and qemu-system-ppc64? If so I'm happy to give it a R-B tag.

I've tried it now again with both ppc and ppc64: both OpenBIOS and a G3 beige ROM can be loaded with qemu-system-ppc but qemu-system-ppc64 fails with OpenBIOS when casting to target_ulong (i think because target_ulong is 64 bit there but g3beige is still 32 bit but I haven't throughly debugged it). But everything works with my original uint32_t cast, so ditch it and use my original version. Should I resubmit or you can fix up? (I think I wait until it's clear if this will be taken by David or you and send a fixed version cc-ing David if this is decided to go through the PPC queue.)

Hmmm yes I see that qemu-system-ppc64 fails because target_ulong will always represent a 64-bit quantity, even if you request a 32-bit CPU. Rather than add some CPU-specific code let's keep the uint32_t cast for now as I would hope it is unlikely someone would load an ELF in high memory, and perhaps the sign-extended address bug will get fixed later.

With the cast reverted to uint32_t then for patches 1 and 2:
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>

If you can send a v9 with the cast fixed I'll apply this to my qemu-macppc branch right away.



reply via email to

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