diff --git a/arch/armv7a/memset.S b/arch/armv7a/memset.S new file mode 100644 index 00000000..379f74b0 --- /dev/null +++ b/arch/armv7a/memset.S @@ -0,0 +1,45 @@ +/* + * Phoenix-RTOS + * + * libphoenix + * + * memset + * + * Copyright 2024 Phoenix Systems + * Author: Lukasz Leczkowski + * + * This file is part of Phoenix-RTOS. + * + * %LICENSE% + */ + +#define DST r3 +#define VAL r1 +#define LEN r2 + +.thumb +.syntax unified + +.text +.align 4 + +/* void *memset(void *dst, int v, size_t l) */ +.thumb_func + +.globl memset +.type memset, %function +memset: + cbz r2, .Lreturn + mov DST, r0 + + /* check alignment */ + ands r3, r0, #7 + beq .Laligned + + + + + + +.Lreturn: + bx lr \ No newline at end of file