Message ID | 20220126164200.1048677-1-farosas@linux.ibm.com (mailing list archive) |
---|---|
Headers | show |
Series | target/ppc: powerpc_excp improvements [74xx] (5/n) | expand |
On Wed, 26 Jan 2022, Fabiano Rosas wrote: > This handles the exception code for the 74xx family, i.e. 7400, 7410, > 7440, 7445, 7450, 7455, 7457. > > This is another family that is quite well known, so it should be > straight-forward as well. I guess this is what may break VOF on pegasos2. Was Philippe's test case for this machine ever merged? (Although that may use the firmware ROM that was preferred as it tests more of the machine and may predate VOF so not sure it also tests with VOF.) The way to test it is this: Get morphos demo ISO from https://www.morphos-team.net/morphos-3.15.iso Extract boot.img from the root directory of the CD Run QEMU as shown at http://zero.eik.bme.hu/~balaton/qemu/amiga/#morphos (For debugging maybe enabling vof traces would give more info but it was a while so I don't remember the details any more.) > Based on legoater/ppc-7.0 I could test when it's merged or when it applies on master but I don't usually test on branches. Did you verify it still works with pegasos2 or could you please make sure it won't break that use case? Regards, BALATON Zoltan > 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 | 175 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 175 insertions(+) > >
On 1/26/22 18:55, BALATON Zoltan wrote: > On Wed, 26 Jan 2022, Fabiano Rosas wrote: >> This handles the exception code for the 74xx family, i.e. 7400, 7410, >> 7440, 7445, 7450, 7455, 7457. >> >> This is another family that is quite well known, so it should be >> straight-forward as well. > > I guess this is what may break VOF on pegasos2. Was Philippe's test case for this machine ever merged? (Although that may use the firmware ROM that was preferred as it tests more of the machine and may predate VOF so not sure it also tests with VOF.) The way to test it is this: > > Get morphos demo ISO from https://www.morphos-team.net/morphos-3.15.iso > Extract boot.img from the root directory of the CD > Run QEMU as shown at http://zero.eik.bme.hu/~balaton/qemu/amiga/#morphos I could never make it work :/ > > (For debugging maybe enabling vof traces would give more info but it was a while so I don't remember the details any more.) > >> Based on legoater/ppc-7.0 > > I could test when it's merged or when it applies on master but I don't usually test on branches. Did you verify it still works with pegasos2 or could you please make sure it won't break that use case? I have a large set of images, here, that I use for non regression tests : https://github.com/legoater/qemu-ppc-boot If we could add a pegasos, that would be nice. Thanks, C.
On Wed, 26 Jan 2022, Cédric Le Goater wrote: > On 1/26/22 18:55, BALATON Zoltan wrote: >> On Wed, 26 Jan 2022, Fabiano Rosas wrote: >>> This handles the exception code for the 74xx family, i.e. 7400, 7410, >>> 7440, 7445, 7450, 7455, 7457. >>> >>> This is another family that is quite well known, so it should be >>> straight-forward as well. >> >> I guess this is what may break VOF on pegasos2. Was Philippe's test case >> for this machine ever merged? (Although that may use the firmware ROM that >> was preferred as it tests more of the machine and may predate VOF so not >> sure it also tests with VOF.) The way to test it is this: >> >> Get morphos demo ISO from https://www.morphos-team.net/morphos-3.15.iso >> Extract boot.img from the root directory of the CD >> Run QEMU as shown at http://zero.eik.bme.hu/~balaton/qemu/amiga/#morphos > > I could never make it work :/ Philippe's test or the MorphOS iso? If the MorphOS boot, what problem do you get? I don't have or use avocado so can't comment on the former. >> (For debugging maybe enabling vof traces would give more info but it was a >> while so I don't remember the details any more.) >> >>> Based on legoater/ppc-7.0 >> >> I could test when it's merged or when it applies on master but I don't >> usually test on branches. Did you verify it still works with pegasos2 or >> could you please make sure it won't break that use case? > > I have a large set of images, here, that I use for non regression tests : > > https://github.com/legoater/qemu-ppc-boot > > If we could add a pegasos, that would be nice. I'm not sure how could I help with that. Once you can boot from command line it should be easy to add to the script as well. Regards, BALATON Zoltan
BALATON Zoltan <balaton@eik.bme.hu> writes: > On Wed, 26 Jan 2022, Fabiano Rosas wrote: >> This handles the exception code for the 74xx family, i.e. 7400, 7410, >> 7440, 7445, 7450, 7455, 7457. >> >> This is another family that is quite well known, so it should be >> straight-forward as well. > > I guess this is what may break VOF on pegasos2. Was Philippe's test case > for this machine ever merged? (Although that may use the firmware ROM that > was preferred as it tests more of the machine and may predate VOF so not > sure it also tests with VOF.) The way to test it is this: > > Get morphos demo ISO from https://www.morphos-team.net/morphos-3.15.iso > Extract boot.img from the root directory of the CD > Run QEMU as shown at http://zero.eik.bme.hu/~balaton/qemu/amiga/#morphos > > (For debugging maybe enabling vof traces would give more info but it was > a while so I don't remember the details any more.) > >> Based on legoater/ppc-7.0 > > I could test when it's merged or when it applies on master but I don't > usually test on branches. Did you verify it still works with pegasos2 or > could you please make sure it won't break that use case? I can test with pegasos2. I'll make sure we don't merge this before testing there. That said, I forgot about the sc 1 thing and it is indeed broken. I'll send a v2 fixing it.
On 26/01/2022 16:41, Fabiano Rosas wrote: > This handles the exception code for the 74xx family, i.e. 7400, 7410, > 7440, 7445, 7450, 7455, 7457. > > This is another family that is quite well known, so it should be > straight-forward as well. > > Based on legoater/ppc-7.0 > > 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 | 175 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 175 insertions(+) I'm not overly familiar with PPC exception handling detail, so I can't offer much in the way of review I'm afraid. I could do a quick test and make sure nothing breaks with my MacOS images though? Also any thoughts on Christophe's question re: e300 PVRs at https://lists.gnu.org/archive/html/qemu-ppc/2022-01/msg00592.html? I can handle merging the OpenBIOS changes if someone can come up with a suitable fix. ATB, Mark.
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> writes: > On 26/01/2022 16:41, Fabiano Rosas wrote: > >> This handles the exception code for the 74xx family, i.e. 7400, 7410, >> 7440, 7445, 7450, 7455, 7457. >> >> This is another family that is quite well known, so it should be >> straight-forward as well. >> >> Based on legoater/ppc-7.0 >> >> 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 | 175 +++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 175 insertions(+) > > I'm not overly familiar with PPC exception handling detail, so I can't offer much in > the way of review I'm afraid. I could do a quick test and make sure nothing breaks > with my MacOS images though? Sure, no problem. This is more of an FYI and so you know whom to yell at in case anything breaks for you. I have some MacOS images I can use to test as well. I'll do a thorough pass before sending the v2. > Also any thoughts on Christophe's question re: e300 PVRs at > https://lists.gnu.org/archive/html/qemu-ppc/2022-01/msg00592.html? I can handle > merging the OpenBIOS changes if someone can come up with a suitable fix. I believe Cédric has been looking at the 60x, maybe he has some input. We currently can only run the 604 if I'm not mistaken, so there's some work to be done to bring all of the 60x back to life. The e300 will be in the mix.
On 1/27/22 16:16, Fabiano Rosas wrote: > Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> writes: > >> On 26/01/2022 16:41, Fabiano Rosas wrote: >> >>> This handles the exception code for the 74xx family, i.e. 7400, 7410, >>> 7440, 7445, 7450, 7455, 7457. >>> >>> This is another family that is quite well known, so it should be >>> straight-forward as well. >>> >>> Based on legoater/ppc-7.0 >>> >>> 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 | 175 +++++++++++++++++++++++++++++++++++++++ >>> 1 file changed, 175 insertions(+) >> >> I'm not overly familiar with PPC exception handling detail, so I can't offer much in >> the way of review I'm afraid. I could do a quick test and make sure nothing breaks >> with my MacOS images though? > > Sure, no problem. This is more of an FYI and so you know whom to yell at > in case anything breaks for you. yes ! Thanks, > I have some MacOS images I can use to test as well. I'll do a thorough > pass before sending the v2. > >> Also any thoughts on Christophe's question re: e300 PVRs at >> https://lists.gnu.org/archive/html/qemu-ppc/2022-01/msg00592.html? I can handle >> merging the OpenBIOS changes if someone can come up with a suitable fix. Why not simply extend 'struct cpudef' with a flag/feature field ? > I believe Cédric has been looking at the 60x, maybe he has some > input. yes. 604 is running fine under the 40p machine with OpenBIOS. I have an old debian 3 disk image for it. On the same machine, AIX 4x and 5x also run with this firmware : http://github.com/artyom-tarasenko/openfirmware/releases/download/40p-20190413/q40pofw-serial.rom and the g3beige supports 604. Getting a status on 603 is more complex. We need support for the 6xx SoftTLBs in OpenBIOS to move forward. Christophe and I have spent some time on this. Work in progress. 602 should be removed IMHO. It has no real value. 601 is a transitional processor. It think it should be good to keep as a reference. I don't have a workload for it though. > We currently can only run the 604 if I'm not mistaken, so there's > some work to be done to bring all of the 60x back to life. The e300 will > be in the mix. It should yes. I haven't looked at it yet. Thanks, C.