From 0ae96f65328bf2be927342d04a1c06f8e55b5330 Mon Sep 17 00:00:00 2001 From: wlott <wlott> Date: Fri, 9 Oct 1992 18:17:00 +0000 Subject: [PATCH] Added sanctify_for_execution --- lisp/hppa-assem.S | 31 +++++++++++++++++++++++++++++++ lisp/hppa-assem.s | 31 +++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) diff --git a/lisp/hppa-assem.S b/lisp/hppa-assem.S index 118379a2b..3374f1246 100644 --- a/lisp/hppa-assem.S +++ b/lisp/hppa-assem.S @@ -216,6 +216,37 @@ call_into_c copy reg_OCFP, reg_CFP + +/* + * Stuff to sanctify a block of memory for execution. + */ + + .EXPORT sanctify_for_execution +sanctify_for_execution + .proc + .callinfo + .enter + /* arg0=start addr, arg1=length in bytes */ + add arg0,arg1,arg1 + ldo 32(arg1),arg1 + depi 0,31,5,arg0 + depi 0,31,5,arg1 + ldsid (arg0),t1 + mtsp t1,sr1 + ldi 32,t1 ; bytes per cache line +sanctify_loop + fdc 0(sr1,arg0) + fic,m t1(sr1,arg0) + fdc 0(sr1,arg0) + fic,m t1(sr1,arg0) + fdc 0(sr1,arg0) + fic,m t1(sr1,arg0) + fdc 0(sr1,arg0) + comb,< arg0,arg1,sanctify_loop + fic,m t1(sr1,arg0) + .leave + .procend + /* * Trampolines. diff --git a/lisp/hppa-assem.s b/lisp/hppa-assem.s index 118379a2b..3374f1246 100644 --- a/lisp/hppa-assem.s +++ b/lisp/hppa-assem.s @@ -216,6 +216,37 @@ call_into_c copy reg_OCFP, reg_CFP + +/* + * Stuff to sanctify a block of memory for execution. + */ + + .EXPORT sanctify_for_execution +sanctify_for_execution + .proc + .callinfo + .enter + /* arg0=start addr, arg1=length in bytes */ + add arg0,arg1,arg1 + ldo 32(arg1),arg1 + depi 0,31,5,arg0 + depi 0,31,5,arg1 + ldsid (arg0),t1 + mtsp t1,sr1 + ldi 32,t1 ; bytes per cache line +sanctify_loop + fdc 0(sr1,arg0) + fic,m t1(sr1,arg0) + fdc 0(sr1,arg0) + fic,m t1(sr1,arg0) + fdc 0(sr1,arg0) + fic,m t1(sr1,arg0) + fdc 0(sr1,arg0) + comb,< arg0,arg1,sanctify_loop + fic,m t1(sr1,arg0) + .leave + .procend + /* * Trampolines. -- GitLab