Le 15/02/2020 à 03:42, Larry Finger a écrit :
Christophe,
On 2/14/20 1:35 PM, Christophe Leroy wrote:
--- a/arch/powerpc/kernel/head_32.S
+++ b/arch/powerpc/kernel/head_32.S
@@ -270,6 +270,9 @@ __secondary_hold_acknowledge:
* pointer when we take an exception from supervisor mode.)
* -- paulus.
*/
+#ifdef CONFIG_PPC_CHRP
+1: b machine_check_in_rtas
+#endif
. = 0x200
DO_KVM 0x200
MachineCheck:
@@ -290,12 +293,9 @@ MachineCheck:
7: EXCEPTION_PROLOG_2
addi r3,r1,STACK_FRAME_OVERHEAD
#ifdef CONFIG_PPC_CHRP
- bne cr1,1f
+ bne cr1,1b
#endif
EXC_XFER_STD(0x200, machine_check_exception)
-#ifdef CONFIG_PPC_CHRP
-1: b machine_check_in_rtas
-#endif
I'll need to make it a bit different because it shoehorns into your
config but won't fit if CONFIG_KVM_BOOK3S_32 is added.
/* Data access exception. */
. = 0x300
With the above changes and all the other patches applied, the machine
finally boots. It is so bloody slow that it takes a long time to do
anything, but you finally got all the places that needed patches. I
really lost track of how many bugs were fixed in the process, but I can
now put that old box aside until time for v5.7.0-rc1. As you can tell,
it only gets used to verify that PPC32 is working on real G4 hardware.
It has no real value for any other function.
Yes, I don't have a G4 myself but this is so much nested with other
stuff for the powerpc 83xx than we can't avoid the changes impacting the
G4 and other hash-MMU based PPC32 allthough the changes I'm doing are
not targetted at those platform at first. And as the 83xx is a 603 core,
it is non-hash so all hash related things can't be verified. Plus all
those small parts like power saving, RTAS, etc... which are more specific.
And checking with all possible options is also not easy.
VMAP-STACK was really a challenging functionnality, I'm happy it made
its way to mainline though.
Thanks for the help,
Thanks to you for testing and for your patience.
Christophe