Squashed backup commit (no shallow-clone history issues) of xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2 branch, upstream commit 9eece662e) plus all fixes applied to get everpal_defconfig building clean against a modern (GCC 15.2.0) toolchain -- see the previous commit message on the lineage-23.2 branch (also in this repo history is not available here since this is a squashed snapshot; full incremental history lives in the local DL380 checkout and the upstream GitHub remote). Upstream: https://github.com/xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2)
68 lines
1.0 KiB
ArmAsm
68 lines
1.0 KiB
ArmAsm
/* ----------------------------------------------------------------------- *
|
|
*
|
|
* Copyright (C) 1991, 1992 Linus Torvalds
|
|
* Copyright 2007 rPath, Inc. - All Rights Reserved
|
|
*
|
|
* This file is part of the Linux kernel, and is made available under
|
|
* the terms of the GNU General Public License version 2.
|
|
*
|
|
* ----------------------------------------------------------------------- */
|
|
|
|
#include <linux/linkage.h>
|
|
|
|
/*
|
|
* Memory copy routines
|
|
*/
|
|
|
|
.code16
|
|
.text
|
|
|
|
GLOBAL(memcpy)
|
|
pushw %si
|
|
pushw %di
|
|
movw %ax, %di
|
|
movw %dx, %si
|
|
pushw %cx
|
|
shrw $2, %cx
|
|
rep; movsl
|
|
popw %cx
|
|
andw $3, %cx
|
|
rep; movsb
|
|
popw %di
|
|
popw %si
|
|
retl
|
|
ENDPROC(memcpy)
|
|
|
|
GLOBAL(memset)
|
|
pushw %di
|
|
movw %ax, %di
|
|
movzbl %dl, %eax
|
|
imull $0x01010101,%eax
|
|
pushw %cx
|
|
shrw $2, %cx
|
|
rep; stosl
|
|
popw %cx
|
|
andw $3, %cx
|
|
rep; stosb
|
|
popw %di
|
|
retl
|
|
ENDPROC(memset)
|
|
|
|
GLOBAL(copy_from_fs)
|
|
pushw %ds
|
|
pushw %fs
|
|
popw %ds
|
|
calll memcpy
|
|
popw %ds
|
|
retl
|
|
ENDPROC(copy_from_fs)
|
|
|
|
GLOBAL(copy_to_fs)
|
|
pushw %es
|
|
pushw %fs
|
|
popw %es
|
|
calll memcpy
|
|
popw %es
|
|
retl
|
|
ENDPROC(copy_to_fs)
|