diff options
author | Jinyang He <hejinyang@loongson.cn> | 2021-01-21 13:31:38 +0800 |
---|---|---|
committer | Thomas Bogendoerfer <tsbogend@alpha.franken.de> | 2021-01-25 12:21:23 +0100 |
commit | 50886234e846bbf2cbf14a86c727e5fc309fdf25 (patch) | |
tree | 5301ada42dc0d4e3e629819a177bb205632bfb82 /arch/mips/kernel/cacheinfo.c | |
parent | 2d62f64bcc72ba45f73e58199f8e1b8cc5b67489 (diff) |
MIPS: Add is_jr_ra_ins() to end the loop early
For those leaf functions, they are likely to have no stack operations.
Add is_jr_ra_ins() to determine whether jr ra has been touched before
the frame_size is found. Without this patch, the get frame_size operation
may be out of range and get the frame_size from the next nested function.
There is no POOL32A format in uapi/asm/inst.h, so some bits here use the
format of r_format instead.
e.g.
---------------------------------------------------------------------
| format | 31:26 | 25:21 | 20:16 | 15:6 | 5:0 |
-----------------+---------+-------+-------+------------+------------
| pool32a_format | pool32a | rt | rs | jalrc | pool32axf |
-----------------+---------+-------+-------+------------+------------
| r_format | opcode | rs | rt | rd:5, re:5 | func |
---------------------------------------------------------------------
Signed-off-by: Jinyang He <hejinyang@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Diffstat (limited to 'arch/mips/kernel/cacheinfo.c')
0 files changed, 0 insertions, 0 deletions