diff --git a/lisp/hppa-assem.S b/lisp/hppa-assem.S
index 118379a2b2d0ff51df0af9f9d3ec75be8c8a12c0..3374f1246a94ff0fac3c104359630583e1fbc5dc 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 118379a2b2d0ff51df0af9f9d3ec75be8c8a12c0..3374f1246a94ff0fac3c104359630583e1fbc5dc 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.