summaryrefslogtreecommitdiffstats
path: root/sys/lib/libkern/arch
diff options
context:
space:
mode:
authorgkoehler <gkoehler@openbsd.org>2020-11-28 19:49:30 +0000
committergkoehler <gkoehler@openbsd.org>2020-11-28 19:49:30 +0000
commit15572fcf8c6bfa0588565cd23f393a5a1499ea57 (patch)
treea41513c79b27dd0f2180dbab6506b34caf86aa35 /sys/lib/libkern/arch
parentSince our IPI broadcast functions exclude the CPU doing the broadcast, we (diff)
downloadwireguard-openbsd-15572fcf8c6bfa0588565cd23f393a5a1499ea57.tar.xz
wireguard-openbsd-15572fcf8c6bfa0588565cd23f393a5a1499ea57.zip
Add retguard to macppc kernel locore.S, ofwreal.S, setjmp.S
This changes RETGUARD_SETUP(ffs) to RETGUARD_SETUP(ffs, %r11, %r12) and RETGUARD_CHECK(ffs) to RETGUARD_CHECK(ffs, %r11, %r12) to show that r11 and r12 are in use between setup and check, and to pick registers other than r11 and r12 in some kernel functions. ok mortimer@ deraadt@
Diffstat (limited to 'sys/lib/libkern/arch')
-rw-r--r--sys/lib/libkern/arch/powerpc/ffs.S6
-rw-r--r--sys/lib/libkern/arch/powerpc/memmove.S8
2 files changed, 7 insertions, 7 deletions
diff --git a/sys/lib/libkern/arch/powerpc/ffs.S b/sys/lib/libkern/arch/powerpc/ffs.S
index 5e0e64c53aa..7fba3b0c3c1 100644
--- a/sys/lib/libkern/arch/powerpc/ffs.S
+++ b/sys/lib/libkern/arch/powerpc/ffs.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ffs.S,v 1.2 2020/10/27 01:26:53 gkoehler Exp $ */
+/* $OpenBSD: ffs.S,v 1.3 2020/11/28 19:49:30 gkoehler Exp $ */
/*
* Written by Christian Weisgerber <naddy@openbsd.org>.
* Public domain.
@@ -7,11 +7,11 @@
#include <machine/asm.h>
ENTRY(ffs)
- RETGUARD_SETUP(ffs)
+ RETGUARD_SETUP(ffs, %r11, %r12)
neg %r4, %r3
and %r3, %r3, %r4
cntlzw %r3, %r3
subfic %r3, %r3, 32
- RETGUARD_CHECK(ffs)
+ RETGUARD_CHECK(ffs, %r11, %r12)
blr
END(ffs)
diff --git a/sys/lib/libkern/arch/powerpc/memmove.S b/sys/lib/libkern/arch/powerpc/memmove.S
index 4633cd0beac..dc0782ebb40 100644
--- a/sys/lib/libkern/arch/powerpc/memmove.S
+++ b/sys/lib/libkern/arch/powerpc/memmove.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: memmove.S,v 1.5 2020/10/27 01:26:53 gkoehler Exp $ */
+/* $OpenBSD: memmove.S,v 1.6 2020/11/28 19:49:30 gkoehler Exp $ */
/* $NetBSD: memmove.S,v 1.3 2011/01/15 07:31:12 matt Exp $ */
/* stropt/memmove.S, pl_string_common, pl_linux 10/11/04 11:45:37
@@ -45,7 +45,7 @@
/* void *memcpy(void *to, const void *from, size_t len) */
ENTRY(memcpy)
- RETGUARD_SETUP(memmove)
+ RETGUARD_SETUP(memmove, %r11, %r12)
mr %r8, %r3 /* Save dst (return value) */
b fwd
@@ -57,7 +57,7 @@ ENTRY(bcopy)
/* void *memmove(void *, const void *, size_t) */
ENTRY(memmove)
- RETGUARD_SETUP(memmove)
+ RETGUARD_SETUP(memmove, %r11, %r12)
mr %r8, %r3 /* Save dst (return value) */
cmpw %r4, %r8 /* Branch to reverse if */
@@ -167,5 +167,5 @@ rlast2:
bdnz+ rlast2 /* Dec ctr, and branch if more */
/* bytes left */
done:
- RETGUARD_CHECK(memmove)
+ RETGUARD_CHECK(memmove, %r11, %r12)
blr