diff options
author | 2020-11-28 19:49:30 +0000 | |
---|---|---|
committer | 2020-11-28 19:49:30 +0000 | |
commit | 15572fcf8c6bfa0588565cd23f393a5a1499ea57 (patch) | |
tree | a41513c79b27dd0f2180dbab6506b34caf86aa35 /sys/lib/libkern/arch | |
parent | Since our IPI broadcast functions exclude the CPU doing the broadcast, we (diff) | |
download | wireguard-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.S | 6 | ||||
-rw-r--r-- | sys/lib/libkern/arch/powerpc/memmove.S | 8 |
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 |