summaryrefslogtreecommitdiffstats
path: root/sys/amd64/amd64/support.S
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2014-11-08 11:56:26 +0000
committerkib <kib@FreeBSD.org>2014-11-08 11:56:26 +0000
commitac5c592f50cbae9d0b7747972189a4e5cc17d736 (patch)
treec3049a7912f6ca85c70b7ead3d8ff7bf76b354fa /sys/amd64/amd64/support.S
parente03debee49f23adf10b3e4d4b4a2fc0bcb27dc3f (diff)
downloadFreeBSD-src-ac5c592f50cbae9d0b7747972189a4e5cc17d736.zip
FreeBSD-src-ac5c592f50cbae9d0b7747972189a4e5cc17d736.tar.gz
MFi386 r253328:
Create a proper stack frame for amd64 version of bcopy(). Note that this also makes the stack properly aligned in the function, despite it is not strictly needed. Sponsored by: The FreeBSD Foundation MFC after: 1 week
Diffstat (limited to 'sys/amd64/amd64/support.S')
-rw-r--r--sys/amd64/amd64/support.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/amd64/amd64/support.S b/sys/amd64/amd64/support.S
index 50e653d..069cf8c 100644
--- a/sys/amd64/amd64/support.S
+++ b/sys/amd64/amd64/support.S
@@ -100,6 +100,8 @@ END(bcmp)
* ws@tools.de (Wolfgang Solfrank, TooLs GmbH) +49-228-985800
*/
ENTRY(bcopy)
+ pushq %rbp
+ movq %rsp,%rbp
xchgq %rsi,%rdi
movq %rdx,%rcx
@@ -116,6 +118,7 @@ ENTRY(bcopy)
andq $7,%rcx /* any bytes left? */
rep
movsb
+ popq %rbp
ret
/* ALIGN_TEXT */
@@ -135,6 +138,7 @@ ENTRY(bcopy)
rep
movsq
cld
+ popq %rbp
ret
END(bcopy)
OpenPOWER on IntegriCloud