zephyr/arch/xtensa
Daniel Leung 42b209f816 xtensa: optimize syscall helper functions
The original idea of the syscall helpers is to workaround
an issue where the compiler could not correctly model register
usage with inline functions. It was supposed to be only used
when there are more then 3 arguments to syscalls. However,
during the original MMU code development, the helper got
expanded to cover "less then 2 arguments syscalls" as a way
for debugging syscall handling code and was never removed.
So fix that now by limiting the helper for syscalls with
more than 3 arguments.

Moreover, instead of using one helper with 6 arguments, now
we have separate implementations for both 4 and 5 arguments
syscall helpers. Now the compiler does not have to generate
code to always handle 6 arguments which saves a few code bytes
as there is no need to pass extra zeroes as arguments.

This has been verified to work with xt-clang RI-2022.10.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-12-04 14:16:15 -05:00
..
core xtensa: optimize syscall helper functions 2024-12-04 14:16:15 -05:00
include init: support per-core init hook 2024-11-16 14:04:25 -05:00
CMakeLists.txt xtensa: fix typo userpsace to userspace 2024-10-08 18:10:03 -04:00
Kconfig xtensa: optimize syscall helper functions 2024-12-04 14:16:15 -05:00