target/ppc/excp_helper.c | 197 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 197 insertions(+)
Changes from v1: - Restored the 'sc 1' support to avoid breaking the pegasos2 machine. I tested this version in the G4 with the following OSes: - Linux 5.15 (5.16 seems to be broken, even with master) - FreeBSD 13 - Mac OS 9.2 - Mac OS Darwin 6.0 - Mac OS X 10.4 - MorphOS 3.15 (-M pegasos2 and -M mac99,via=pmu) Based on legoater/ppc-7.0 v1: https://lore.kernel.org/r/20220126164200.1048677-1-farosas@linux.ibm.com Fabiano Rosas (8): target/ppc: Introduce powerpc_excp_74xx target/ppc: Simplify powerpc_excp_74xx target/ppc: 74xx: Machine Check exception cleanup target/ppc: 74xx: External interrupt cleanup target/ppc: 74xx: Program exception cleanup target/ppc: 74xx: System Call exception cleanup target/ppc: 74xx: System Reset interrupt cleanup target/ppc: 74xx: Set SRRs directly in exception code target/ppc/excp_helper.c | 197 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 197 insertions(+) -- 2.34.1
On 27/01/2022 20:11, Fabiano Rosas wrote: > Changes from v1: > > - Restored the 'sc 1' support to avoid breaking the pegasos2 machine. > > I tested this version in the G4 with the following OSes: > > - Linux 5.15 (5.16 seems to be broken, even with master) > - FreeBSD 13 > - Mac OS 9.2 > - Mac OS Darwin 6.0 > - Mac OS X 10.4 > - MorphOS 3.15 (-M pegasos2 and -M mac99,via=pmu) > > Based on legoater/ppc-7.0 > > v1: > https://lore.kernel.org/r/20220126164200.1048677-1-farosas@linux.ibm.com > > Fabiano Rosas (8): > target/ppc: Introduce powerpc_excp_74xx > target/ppc: Simplify powerpc_excp_74xx > target/ppc: 74xx: Machine Check exception cleanup > target/ppc: 74xx: External interrupt cleanup > target/ppc: 74xx: Program exception cleanup > target/ppc: 74xx: System Call exception cleanup > target/ppc: 74xx: System Reset interrupt cleanup > target/ppc: 74xx: Set SRRs directly in exception code > > target/ppc/excp_helper.c | 197 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 197 insertions(+) That certainly covers a good range MacOS images so I'm happy to give: Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Just out of curiosity have you tried booting MacOS 9.2 under KVM-PR? Last time I tried on my G4 Mac Mini here, OS X worked fine but 9.2 failed early after jumping into the 68k emulator. Unfortunately due to the split real mode (see https://github.com/torvalds/linux/commit/c01e3f66cd5cdc1f727f4c7b0c10b3e3bdb91ba7 where MSR_IR != MSR_DR) I can't step through with QEMU's gdbstub to see what is going wrong... ATB, Mark.
On Thu, 27 Jan 2022, Mark Cave-Ayland wrote: > On 27/01/2022 20:11, Fabiano Rosas wrote: > >> Changes from v1: >> >> - Restored the 'sc 1' support to avoid breaking the pegasos2 machine. >> >> I tested this version in the G4 with the following OSes: >> >> - Linux 5.15 (5.16 seems to be broken, even with master) >> - FreeBSD 13 >> - Mac OS 9.2 >> - Mac OS Darwin 6.0 >> - Mac OS X 10.4 >> - MorphOS 3.15 (-M pegasos2 and -M mac99,via=pmu) >> >> Based on legoater/ppc-7.0 >> >> v1: >> https://lore.kernel.org/r/20220126164200.1048677-1-farosas@linux.ibm.com >> >> Fabiano Rosas (8): >> target/ppc: Introduce powerpc_excp_74xx >> target/ppc: Simplify powerpc_excp_74xx >> target/ppc: 74xx: Machine Check exception cleanup >> target/ppc: 74xx: External interrupt cleanup >> target/ppc: 74xx: Program exception cleanup >> target/ppc: 74xx: System Call exception cleanup >> target/ppc: 74xx: System Reset interrupt cleanup >> target/ppc: 74xx: Set SRRs directly in exception code >> >> target/ppc/excp_helper.c | 197 +++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 197 insertions(+) > > That certainly covers a good range MacOS images so I'm happy to give: > > Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > > Just out of curiosity have you tried booting MacOS 9.2 under KVM-PR? Last > time I tried on my G4 Mac Mini here, OS X worked fine but 9.2 failed early > after jumping into the 68k emulator. Unfortunately due to the split real mode > (see > https://github.com/torvalds/linux/commit/c01e3f66cd5cdc1f727f4c7b0c10b3e3bdb91ba7 > where MSR_IR != MSR_DR) I can't step through with QEMU's gdbstub to see what > is going wrong... Can't comment on that as I don't have PPC hardware but in case you don't know it yet, check out this blog entry (and its part 2): https://www.talospace.com/2018/08/making-your-talos-ii-into-power-mac.html which talks about running KVM-PR on POWER9 and why MacOS may not work at least with newer POWER CPUs. But if you run G4 code on G4 it may be a different problem but still an interesting article and may give you some ideas. Regards, BALATON Zoltan
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> writes: > On 27/01/2022 20:11, Fabiano Rosas wrote: > >> Changes from v1: >> >> - Restored the 'sc 1' support to avoid breaking the pegasos2 machine. >> >> I tested this version in the G4 with the following OSes: >> >> - Linux 5.15 (5.16 seems to be broken, even with master) >> - FreeBSD 13 >> - Mac OS 9.2 >> - Mac OS Darwin 6.0 >> - Mac OS X 10.4 >> - MorphOS 3.15 (-M pegasos2 and -M mac99,via=pmu) >> >> Based on legoater/ppc-7.0 >> >> v1: >> https://lore.kernel.org/r/20220126164200.1048677-1-farosas@linux.ibm.com >> >> Fabiano Rosas (8): >> target/ppc: Introduce powerpc_excp_74xx >> target/ppc: Simplify powerpc_excp_74xx >> target/ppc: 74xx: Machine Check exception cleanup >> target/ppc: 74xx: External interrupt cleanup >> target/ppc: 74xx: Program exception cleanup >> target/ppc: 74xx: System Call exception cleanup >> target/ppc: 74xx: System Reset interrupt cleanup >> target/ppc: 74xx: Set SRRs directly in exception code >> >> target/ppc/excp_helper.c | 197 +++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 197 insertions(+) > > That certainly covers a good range MacOS images so I'm happy to give: > > Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > > Just out of curiosity have you tried booting MacOS 9.2 under KVM-PR? Last time I > tried on my G4 Mac Mini here, OS X worked fine but 9.2 failed early after jumping > into the 68k emulator. Unfortunately due to the split real mode (see > https://github.com/torvalds/linux/commit/c01e3f66cd5cdc1f727f4c7b0c10b3e3bdb91ba7 > where MSR_IR != MSR_DR) I can't step through with QEMU's gdbstub to see what is going > wrong... Never crossed my mind actually. =) I don't immediately see why the step wouldn't work due to split mode. Let me understand that patch first. KVM-PR is full of surprises. > > > ATB, > > Mark.
On 27/01/2022 23:08, Fabiano Rosas wrote: > Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> writes: > >> On 27/01/2022 20:11, Fabiano Rosas wrote: >> >>> Changes from v1: >>> >>> - Restored the 'sc 1' support to avoid breaking the pegasos2 machine. >>> >>> I tested this version in the G4 with the following OSes: >>> >>> - Linux 5.15 (5.16 seems to be broken, even with master) >>> - FreeBSD 13 >>> - Mac OS 9.2 >>> - Mac OS Darwin 6.0 >>> - Mac OS X 10.4 >>> - MorphOS 3.15 (-M pegasos2 and -M mac99,via=pmu) >>> >>> Based on legoater/ppc-7.0 >>> >>> v1: >>> https://lore.kernel.org/r/20220126164200.1048677-1-farosas@linux.ibm.com >>> >>> Fabiano Rosas (8): >>> target/ppc: Introduce powerpc_excp_74xx >>> target/ppc: Simplify powerpc_excp_74xx >>> target/ppc: 74xx: Machine Check exception cleanup >>> target/ppc: 74xx: External interrupt cleanup >>> target/ppc: 74xx: Program exception cleanup >>> target/ppc: 74xx: System Call exception cleanup >>> target/ppc: 74xx: System Reset interrupt cleanup >>> target/ppc: 74xx: Set SRRs directly in exception code >>> >>> target/ppc/excp_helper.c | 197 +++++++++++++++++++++++++++++++++++++++ >>> 1 file changed, 197 insertions(+) >> >> That certainly covers a good range MacOS images so I'm happy to give: >> >> Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> >> >> Just out of curiosity have you tried booting MacOS 9.2 under KVM-PR? Last time I >> tried on my G4 Mac Mini here, OS X worked fine but 9.2 failed early after jumping >> into the 68k emulator. Unfortunately due to the split real mode (see >> https://github.com/torvalds/linux/commit/c01e3f66cd5cdc1f727f4c7b0c10b3e3bdb91ba7 >> where MSR_IR != MSR_DR) I can't step through with QEMU's gdbstub to see what is going >> wrong... > > Never crossed my mind actually. =) > > I don't immediately see why the step wouldn't work due to split > mode. Let me understand that patch first. KVM-PR is full of surprises. IIRC from a debugging point of view the problem was that the QEMU *_debug() functions can't translate correctly in split mode, so if gdbstub is enabled with KVM all you end up seeing in gdb is junk :( ATB, Mark.
On 1/27/22 21:11, Fabiano Rosas wrote: > Changes from v1: > > - Restored the 'sc 1' support to avoid breaking the pegasos2 machine. > > I tested this version in the G4 with the following OSes: > > - Linux 5.15 (5.16 seems to be broken, even with master) Have you tried pmac32 defconfig plus these configs : CONFIG_SERIAL_PMACZILOG=y CONFIG_SERIAL_PMACZILOG_TTYS=y CONFIG_SERIAL_PMACZILOG_CONSOLE=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y 5.17-rc1 looks fine with your patchset. Thanks, C. > - FreeBSD 13 > - Mac OS 9.2 > - Mac OS Darwin 6.0 > - Mac OS X 10.4 > - MorphOS 3.15 (-M pegasos2 and -M mac99,via=pmu) > > Based on legoater/ppc-7.0 > > v1: > https://lore.kernel.org/r/20220126164200.1048677-1-farosas@linux.ibm.com > > Fabiano Rosas (8): > target/ppc: Introduce powerpc_excp_74xx > target/ppc: Simplify powerpc_excp_74xx > target/ppc: 74xx: Machine Check exception cleanup > target/ppc: 74xx: External interrupt cleanup > target/ppc: 74xx: Program exception cleanup > target/ppc: 74xx: System Call exception cleanup > target/ppc: 74xx: System Reset interrupt cleanup > target/ppc: 74xx: Set SRRs directly in exception code > > target/ppc/excp_helper.c | 197 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 197 insertions(+) >
© 2016 - 2024 Red Hat, Inc.