linux/arch/arc/kernel
Vineet Gupta 840c054fd0 ARC: Support syscall ABI v4
The syscall ABI includes the gcc functional calling ABI since a syscall
implies userland caller and kernel callee.

The current gcc ABI (v3) for ARCv2 ISA required 64-bit data be passed in
even-odd register pairs, (potentially punching reg holes when passing such
values as args). This was partly driven by the fact that the double-word
LDD/STD instructions in ARCv2 expect the register alignment and thus gcc
forcing this avoids extra MOV at the cost of a few unused register (which we
have plenty anyways).

This however was rejected as part of upstreaming gcc port to HS. So the new
ABI v4 doesn't enforce the even-odd reg restriction.

Do note that for ARCompact ISA builds v3 and v4 are practically the same in
terms of gcc code generation.

In terms of change management, we infer the new ABI if gcc 6.x onwards
is used for building the kernel.

This also needs a stable backport to enable older kernels to work with
new tools/user-space

Cc: <stable@vger.kernel.org>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-08-19 10:44:34 -07:00
..
.gitignore ARC: Add some .gitignore entries 2013-08-26 09:40:24 +05:30
arc_hostlink.c ARC: Hostlink Pseudo-Driver for Metaware Debugger 2013-02-15 23:16:10 +05:30
arcksyms.c
asm-offsets.c ARCv2: [vdk] dts files and defconfig for HS38 VDK 2015-06-25 06:00:21 +05:30
ctx_sw_asm.S ARC: remove SYNC from __switch_to() 2015-11-17 22:05:30 +05:30
ctx_sw.c ARC: [plat-eznps] Use dedicated identity auxiliary register. 2016-05-09 09:32:33 +05:30
devtree.c ARC: RIP arc_{get|set}_core_freq() clk API 2016-05-09 09:32:31 +05:30
disasm.c ARC: rename kconfig option for unaligned emulation 2014-10-13 14:46:15 +05:30
entry-arcv2.S ARCv2: Enable LOCKDEP 2016-04-22 18:12:31 +05:30
entry-compact.S ARC: [intc-compact] simplify code for 2 priority levels 2016-05-30 22:45:04 +05:30
entry.S ARC: [arcompact] Handle bus error from userspace as Interrupt not exception 2015-11-14 13:12:20 +05:30
fpu.c ARC: Process-creation/scheduling/idle-loop 2013-02-11 20:00:38 +05:30
head.S ARC: boot: Non Master cpus only need to call EARLY_CPU_SETUP once 2015-10-28 16:13:42 +05:30
intc-arcv2.c ARC: [intc-*] switch to linear domain 2016-05-09 09:32:30 +05:30
intc-compact.c ARC: [intc-compact] simplify code for 2 priority levels 2016-05-30 22:45:04 +05:30
irq.c ARC: [intc-*] Do a domain lookup in primary handler for hwirq -> linux virq 2016-05-09 09:32:30 +05:30
kgdb.c ARC: kgdb: generic kgdb_arch_pc() suffices 2014-10-22 16:14:04 -06:00
kprobes.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-11-15 16:47:22 -08:00
Makefile ARC: RIP arc_{get|set}_core_freq() clk API 2016-05-09 09:32:31 +05:30
mcip.c ARC: irq: export some IRQs again 2016-05-09 09:32:30 +05:30
module.c ARC: Fix coding style issues 2013-04-09 12:21:14 +05:30
pcibios.c ARC: Add PCI support 2016-03-10 14:44:13 -06:00
perf_event.c Fix typos 2016-05-30 10:07:32 +05:30
process.c ARC: Support syscall ABI v4 2016-08-19 10:44:34 -07:00
ptrace.c ARCv2: Support for ARCv2 ISA and HS38x cores 2015-06-22 14:06:55 +05:30
reset.c arc: export symbol for pm_power_off in reset.c 2013-11-06 10:41:44 +05:30
setup.c ARC: Support syscall ABI v4 2016-08-19 10:44:34 -07:00
signal.c Fix typos 2016-05-30 10:07:32 +05:30
smp.c ARC: Mark secondary cpu online only after all HW setup is done 2016-05-09 09:32:32 +05:30
stacktrace.c arc: unwind: warn only once if DW2_UNWIND is disabled 2016-06-28 11:11:44 +05:30
sys.c ARC: ABIv3: fork/vfork wrappers not needed in "no-legacy-syscall" ABI 2013-03-11 19:01:10 +05:30
time.c ARC/time: Convert to hotplug state machine 2016-07-15 10:41:46 +02:00
traps.c ARC: rename unhandled exception handler 2015-04-13 15:14:57 +05:30
troubleshoot.c Fix typos 2016-05-30 10:07:32 +05:30
unaligned.c ARC: change some branchs to jumps to resolve linkage errors 2015-08-20 18:53:15 +05:30
unwind.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching 2016-01-14 16:38:02 -08:00
vmlinux.lds.S ARC: boot: Support Halt-on-reset and Run-on-reset SMP booting modes 2015-10-28 16:08:17 +05:30