linux/arch/arc
Vineet Gupta b060b7d0c1 ARC: __switch_to: asm with dwarf ops (vs. inline asm)
__switch_to() is final step of context switch, swapping kernel modes
stack (and callee regs) of outgoing task with next task.

It is also the starting point of stack unwinging of a sleeping task and
captures SP, FP, BLINK and the corresponding dwarf info. Back when
dinosaurs still roamed around, ARC gas didn't support CFI pseudo ops and
gcc was responsible for generating dwarf info. Thus it had to be written
in "C" with inline asm to do the hand crafting of stack. The function
prologue (and crucial saving of blink etc) was still gcc generated but
not visible in code. Likewise dwarf info was missing.

Now with modern tools, we can make things more obvious by writing the
code in asm and adding approproate dwarf cfi pseudo ops.

This is mostly non functional change, except for slight chnages to asm

 - ARCompact doesn't support MOV_S fp, sp, so we use MOV

Signed-off-by: Vineet Gupta <vgupta@kernel.org>
2023-08-17 20:31:59 -07:00
..
boot arc: dts: Harmonize EHCI/OHCI DT nodes name 2022-10-17 16:32:12 -07:00
configs mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED 2023-05-26 19:01:47 +02:00
include ARC: __switch_to: asm with dwarf ops (vs. inline asm) 2023-08-17 20:31:59 -07:00
kernel ARC: __switch_to: asm with dwarf ops (vs. inline asm) 2023-08-17 20:31:59 -07:00
lib ARCv2: memset: don't prefetch for len == 0 which happens a alot 2023-08-17 12:40:26 -07:00
mm ARC: boot log: eliminate struct cpuinfo_arc #4: boot log per ISA 2023-08-17 20:31:59 -07:00
plat-axs10x arc: Replace lkml.org links with lore 2021-12-28 19:48:49 -08:00
plat-hsdk arc: Replace lkml.org links with lore 2021-12-28 19:48:49 -08:00
plat-sim ARC: merge HAPS-HS with nSIM-HS configs 2019-10-28 12:12:31 -07:00
plat-tb10x treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
Kbuild kbuild: use more subdir- for visiting subdirectories while cleaning 2021-10-24 13:49:46 +09:00
Kconfig ARC: entry: use gp to cache task pointer (vs. r25) 2023-08-17 20:31:59 -07:00
Kconfig.debug Kconfig: consolidate the "Kernel hacking" menu 2018-08-02 08:06:48 +09:00
Makefile ARC: entry: use gp to cache task pointer (vs. r25) 2023-08-17 20:31:59 -07:00