nuttx/arch/risc-v
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
..
include riscv/syscall: Optimize user service call performance 2024-06-01 10:40:53 -03:00
src riscv/syscall: Optimize user service call performance 2024-06-01 10:40:53 -03:00
CMakeLists.txt cmake:init RISC-V cmake qemu-rv build 2023-10-26 21:01:46 +08:00
Kconfig arch/risc-v: add risc-v SSTC extension support 2024-04-27 22:09:22 -03:00