Thread (9 messages) 9 messages, 3 authors, 2014-09-19

Re: [PATCH v3 03/21] powerpc/8xx: exception InstructionAccess does not exist on MPC8xx

From: Joakim Tjernlund <hidden>
Date: 2014-09-18 20:02:15
Also in: lkml

christophe leroy [off-list ref] wrote on 2014/09/18 21:11:01:
=20
=20
Le 18/09/2014 20:12, Joakim Tjernlund a =E9crit :
quoted
leroy christophe [off-list ref] wrote on 2014/09/18=20
18:42:14:
quoted
quoted
Le 18/09/2014 17:15, Joakim Tjernlund a =E9crit :
quoted
Christophe Leroy [off-list ref] wrote on 2014/09/17
18:36:57:
quoted
quoted
quoted
Exception InstructionAccess does not exist on MPC8xx. No need to
branch
quoted
quoted
there from somewhere else.
quoted
Handling can be done directly in InstructionTLBError Exception.

Signed-off-by: Christophe Leroy <redacted>
       . =3D 0x1200
   DataStoreTLBMiss:
@@ -477,7 +475,11 @@ DataStoreTLBMiss:
    */
       . =3D 0x1300
   InstructionTLBError:
-    b    InstructionAccess
+    EXCEPTION=5FPROLOG
+    mr    r4,r12
+    mr    r5,r9
+    /* 0x400 is InstructionAccess exception, needed by=20
bad=5Fpage=5Ffault()
quoted
*/
quoted
+    EXC=5FXFER=5FLITE(0x400, handle=5Fpage=5Ffault)
You should have the code in TLBMiss and have the TLBError branch there =
as
quoted
that is the common case.
As far as I remember, I tried it already but we don't have enough space=20
in TLBmiss for that. We can only have 40 instructions.
Do your other optimizations first, then you might have space :)

 Jocke
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help