On Sat, 17 Oct 2020, Mark Cave-Ayland wrote:
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-ayl...@ilande.co.uk>
If you can send a v9 with the cast fixed I'll apply this to my qemu-macppc
branch right away.
You could've really just edit the single cast in patch 1 before applying
to change the it back but I've resent the changed patch 1 as v9 also
adding your R-b for your convenience. Other patches are unchanged so you
can take the v8 for those, I haven't resent those, let me know if you want
the whole series but this is really getting much more work that it should
be for such a simple change. (There is no cast in patch 2 as I've already
stated several times.)
Regards,
BALATON Zoltan