
Pull new ImgTec Meta architecture from James Hogan: "This adds core architecture support for Imagination's Meta processor cores, followed by some later miscellaneous arch/metag cleanups and fixes which I kept separate to ease review: - Support for basic Meta 1 (ATP) and Meta 2 (HTP) core architecture - A few fixes all over, particularly for symbol prefixes - A few privilege protection fixes - Several cleanups (setup.c includes, split out a lot of metag_ksyms.c) - Fix some missing exports - Convert hugetlb to use vm_unmapped_area() - Copy device tree to non-init memory - Provide dma_get_sgtable()" * tag 'metag-v3.9-rc1-v4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag: (61 commits) metag: Provide dma_get_sgtable() metag: prom.h: remove declaration of metag_dt_memblock_reserve() metag: copy devicetree to non-init memory metag: cleanup metag_ksyms.c includes metag: move mm/init.c exports out of metag_ksyms.c metag: move usercopy.c exports out of metag_ksyms.c metag: move setup.c exports out of metag_ksyms.c metag: move kick.c exports out of metag_ksyms.c metag: move traps.c exports out of metag_ksyms.c metag: move irq enable out of irqflags.h on SMP genksyms: fix metag symbol prefix on crc symbols metag: hugetlb: convert to vm_unmapped_area() metag: export clear_page and copy_page metag: export metag_code_cache_flush_all metag: protect more non-MMU memory regions metag: make TXPRIVEXT bits explicit metag: kernel/setup.c: sort includes perf: Enable building perf tools for Meta metag: add boot time LNKGET/LNKSET check metag: add __init to metag_cache_probe() ...
29 lines
709 B
C
29 lines
709 B
C
#include <uapi/asm-generic/unistd.h>
|
|
|
|
/*
|
|
* These are required system calls, we should
|
|
* invert the logic eventually and let them
|
|
* be selected by default.
|
|
*/
|
|
#if __BITS_PER_LONG == 32
|
|
#define __ARCH_WANT_STAT64
|
|
#define __ARCH_WANT_SYS_LLSEEK
|
|
#endif
|
|
|
|
/*
|
|
* "Conditional" syscalls
|
|
*
|
|
* What we want is __attribute__((weak,alias("sys_ni_syscall"))),
|
|
* but it doesn't work on all toolchains, so we just do it by hand
|
|
*/
|
|
#ifndef cond_syscall
|
|
#ifdef CONFIG_SYMBOL_PREFIX
|
|
#define __SYMBOL_PREFIX CONFIG_SYMBOL_PREFIX
|
|
#else
|
|
#define __SYMBOL_PREFIX
|
|
#endif
|
|
#define cond_syscall(x) asm(".weak\t" __SYMBOL_PREFIX #x "\n\t" \
|
|
".set\t" __SYMBOL_PREFIX #x "," \
|
|
__SYMBOL_PREFIX "sys_ni_syscall")
|
|
#endif
|