nuttx/arch
Ville Juven e6973c764c riscv/syscall: Optimize user service call performance
This patch changes how user service calls are executed:
Instead of using the common interrupt logic, execute the user service
call directly.

Why? When a user makes a service call request, all of the service call
parameters are already loaded into the correct registers, thus it makes
no sense to first clobber them and then reload them, which is what the
old logic does. It is much more effective to run the system call directly.

During a user system call the interrupts must be re-enabled, which the
new logic does as soon as we know the exception is a user service call
request.

This patch does NOT change the behavior of reserved system calls (like
switch_context), only the user service call request is affected.
2024-06-01 10:40:53 -03:00
..
arm cmake:bugfix CMake compilation options settings should not use strings 2024-05-30 10:02:10 -03:00
arm64 imx9: map flexspi peripheral interface 2024-05-31 10:22:27 +08:00
avr Add basic support for locales in order to C++ streams to build and work for simple cases (POSIX / C locale). 2024-04-29 17:34:10 +08:00
ceva Add basic support for locales in order to C++ streams to build and work for simple cases (POSIX / C locale). 2024-04-29 17:34:10 +08:00
dummy
hc stack: update up_get_intstackbase API to support cpu id 2024-04-09 16:59:00 -03:00
mips up_putc: int up_putc, enter_critical_section may be called 2024-05-09 13:45:02 +08:00
misoc fix nxstyle 2024-05-13 22:24:36 +02:00
or1k up_putc: int up_putc, enter_critical_section may be called 2024-05-09 13:45:02 +08:00
renesas stack: update up_get_intstackbase API to support cpu id 2024-04-09 16:59:00 -03:00
risc-v riscv/syscall: Optimize user service call performance 2024-06-01 10:40:53 -03:00
sim cmake:bugfix CMake compilation options settings should not use strings 2024-05-30 10:02:10 -03:00
sparc up_putc: int up_putc, enter_critical_section may be called 2024-05-09 13:45:02 +08:00
tricore arch/tricore: add spinlock support 2024-03-21 18:47:14 +08:00
x86 stack: update up_get_intstackbase API to support cpu id 2024-04-09 16:59:00 -03:00
x86_64 cmake:bugfix CMake compilation options settings should not use strings 2024-05-30 10:02:10 -03:00
xtensa esp32s2/esp32s3 textheap: do not require RTC heap 2024-05-24 21:31:42 +08:00
z16 up_putc: int up_putc, enter_critical_section may be called 2024-05-09 13:45:02 +08:00
z80 up_putc: int up_putc, enter_critical_section may be called 2024-05-09 13:45:02 +08:00
CMakeLists.txt build/cmake: add initial KERNEL mode support 2024-03-15 16:21:23 +08:00
Kconfig Revert "arch/sim: temporary remove vfork test to fix cibreak on arch sim" 2024-05-24 15:41:20 +08:00