mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-22 01:05:23 +00:00
Since firq utilizes a 2nd register bank, and since all of those many GPRs can be used, the strategy here is to save extra registers, such as lp_count, lp_start, lp_end into callee saved registers. These registers are safe to use because the C-ABI followed by the compiler will cause these to be spilled to the stack if a C function wants to use them. By selecting upper GPRs, r23-r25, it is very unlikely the compiler will spill them. This improvement, therefore, can avoid a d-cache miss since we are avoding memory altogether when saving these. The struct firq_regs is no longer needed. Change-Id: I7c0d061908a90376da7a0101b62e804647a20443 Signed-off-by: Chuck Jordan <cjordan@synopsys.com> |
||
---|---|---|
arch | ||
boards | ||
doc | ||
drivers | ||
ext | ||
include | ||
kernel | ||
lib | ||
misc | ||
net | ||
samples | ||
scripts | ||
tests | ||
.checkpatch.conf | ||
.gitattributes | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
Kbuild | ||
Kconfig | ||
Kconfig.zephyr | ||
LICENSE | ||
MAINTAINERS | ||
Makefile | ||
Makefile.inc | ||
zephyr-env.sh |