在 2021/9/14 2:50, Feiyang Chen 写道:
Convert MIPS to use the generic entry infrastructure from
kernel/entry/*.
v2: Use regs->regs[27] to mark whether to restore all registers in
handle_sys and enable IRQ stack.
Hi Feiyang,
Thanks for your patch, could you please expand how could this improve
the performance?
Thanks.
- Jiaxun
Feiyang Chen (2):
MIPS: convert syscall to generic entry
MIPS: convert irq to generic entry
arch/mips/Kconfig | 1 +
arch/mips/include/asm/entry-common.h | 13 ++
arch/mips/include/asm/irqflags.h | 42 ----
arch/mips/include/asm/ptrace.h | 8 +-
arch/mips/include/asm/sim.h | 70 -------
arch/mips/include/asm/stackframe.h | 8 +
arch/mips/include/asm/syscall.h | 5 +
arch/mips/include/asm/thread_info.h | 17 +-
arch/mips/include/uapi/asm/ptrace.h | 7 +-
arch/mips/kernel/Makefile | 14 +-
arch/mips/kernel/entry.S | 143 +-------------
arch/mips/kernel/genex.S | 150 +++------------
arch/mips/kernel/head.S | 1 -
arch/mips/kernel/linux32.c | 1 -
arch/mips/kernel/ptrace.c | 78 --------
arch/mips/kernel/r4k-bugs64.c | 14 +-
arch/mips/kernel/scall.S | 136 +++++++++++++
arch/mips/kernel/scall32-o32.S | 223 ---------------------
arch/mips/kernel/scall64-n32.S | 107 ----------
arch/mips/kernel/scall64-n64.S | 116 -----------
arch/mips/kernel/scall64-o32.S | 221 ---------------------
arch/mips/kernel/signal.c | 59 +-----
arch/mips/kernel/signal_n32.c | 15 +-
arch/mips/kernel/signal_o32.c | 29 +--
arch/mips/kernel/syscall.c | 148 +++++++++++---
arch/mips/kernel/syscalls/syscall_n32.tbl | 8 +-
arch/mips/kernel/syscalls/syscall_n64.tbl | 8 +-
arch/mips/kernel/syscalls/syscall_o32.tbl | 8 +-
arch/mips/kernel/traps.c | 225 ++++++++++++++++------
arch/mips/kernel/unaligned.c | 19 +-
arch/mips/mm/c-octeon.c | 15 ++
arch/mips/mm/cex-oct.S | 8 +-
arch/mips/mm/fault.c | 12 +-
arch/mips/mm/tlbex-fault.S | 7 +-
34 files changed, 594 insertions(+), 1342 deletions(-)
create mode 100644 arch/mips/include/asm/entry-common.h
delete mode 100644 arch/mips/include/asm/sim.h
create mode 100644 arch/mips/kernel/scall.S
delete mode 100644 arch/mips/kernel/scall32-o32.S
delete mode 100644 arch/mips/kernel/scall64-n32.S
delete mode 100644 arch/mips/kernel/scall64-n64.S
delete mode 100644 arch/mips/kernel/scall64-o32.S