chao an
3d57055057
libc/arm: add support of PACBTI
...
Reference:
https://developer.arm.com/documentation/100748/0617/Security-features-supported-in-Arm-Compiler-for-Embedded/PACBTI-M-extension-mitigations-against-ROP-and-JOP-style-attacks
https://developer.arm.com/documentation/101754/0619/armclang-Reference/armclang-Command-line-Options/-mbranch-protection
Signed-off-by: chao an <anchao@xiaomi.com>
2023-11-30 01:12:24 -08:00
chao an
29bda7cf27
libc/machine/arm: align related implementations of armv7 architecture
...
1. sync arch elf changes
2. fix cmake compilation break
3. remove the definition of related math files
Signed-off-by: chao an <anchao@xiaomi.com>
2023-11-29 19:04:30 -08:00
wangyongrong
2d817deecb
armv8m/strcpy: add arch optimize version
2023-09-22 08:52:25 +08:00
yangdongdong
1956385a7d
libs/libc: Breakdown LIBC_BUILD_STRING into specific string operations macro.
...
Provide a way to only customize specific string operations,
such as for memcpy with the DMA capability by ROM.
Signed-off-by: yangdongdong <yangdongdong@xiaomi.com>
2023-08-29 22:55:18 +08:00
zhangyuan21
699c401889
libc: update arm-m memset function
...
Use the memset function in bionic for better performance.
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-08-03 21:15:50 -07:00
zhangyuan21
a10cc49e67
Revert "newlib: libc: memcpy M-profile PACBTI-enablement"
...
This reverts commit 9fa097ab69
.
2023-08-03 07:03:39 -07:00
zhangyuan21
3625385541
arch_memcpy: Optimize arch memcpy for armv7-m and armv8-m
...
Use ldm and stm instruction to optimize performance when
both src and dst are 32-bit aligned.
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-08-02 16:52:25 +02:00
Tiago Medicci Serrano
58e97e521c
libc/string: prevent libc in the kernel/userspace optionally
...
Add the `LIBC_PREVENT_STRING_KERNEL` and `LIBC_PREVENT_STRING_USER`
that are meant to be selected by the chip if no libc implementation
is going to be built. If selected, neither NuttX's software version
of the libc nor any architecture-specific implementation will be
built in the kernel or in the userspace, respectively. In this
case, the linker may provide a ROM-defined version of the libc
functions instead.
2023-05-17 13:58:48 +08:00
chao an
d6747dd6ad
libc/armv8-m: fix build break if MVE is disabled
...
machine/arm/armv8-m/gnu/arch_memcpy.S: Assembler messages:
machine/arm/armv8-m/gnu/arch_memcpy.S:105: Error: bad instruction `prologue push_ip=HAVE_PAC_LEAF'
machine/arm/armv8-m/gnu/arch_memcpy.S:121: Error: bad instruction `epilogue push_ip=HAVE_PAC_LEAF'
make[1]: *** [Makefile:143: bin/arch_memcpy.o] Error
Signed-off-by: chao an <anchao@xiaomi.com>
2023-05-05 08:07:08 +02:00
chao an
9fa097ab69
newlib: libc: memcpy M-profile PACBTI-enablement
...
Add function prologue/epilogue to conditionally add BTI landing pads
and/or PAC code generation & authentication instructions depending on
compilation flags.
Signed-off-by: chao an <anchao@xiaomi.com>
2023-04-28 09:51:52 +08:00
Xiang Xiao
2c5f653bfd
Remove the tail spaces from all files except Documentation
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-26 13:24:24 -08:00
Fotis Panagiotopoulos
85ceb7920e
Typo fixes.
2023-02-17 11:17:11 -03:00
zhangyuan21
650f17169a
libc: add armv7-a armv7-m armv8-m libc function
...
Porting memory and string optimize functions from newlib and bionic
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-01-10 11:31:26 +08:00
Huang Qi
cfff115f21
arm: Move setjmp to common place
...
Since some Cortex A core supports thumb mode also,
thus they can share same implementation.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-03-08 21:00:29 +08:00
Oki Minabe
c1ea37742b
fix arm FPSCR typos in comments.
2022-02-17 01:08:11 +08:00
Xiang Xiao
39fc9325cf
arch/arm: Replace "b lr" or "mov pc, lr" with "bx lr"
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-04-05 05:50:14 -07:00
Xiang Xiao
d62ae03bf8
arch: Move setjmp/longjmp to libc/machine
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-04-04 16:30:37 -07:00