Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 37d181bb authored by Eric Paris's avatar Eric Paris
Browse files

SH: define syscall_get_arch() for superh



This patch defines syscall_get_arch() for the superh platform.  It does
so in both syscall_32.h and syscall_64.h.  I'm not certain if the
implementation in syscall_64.h couldn't just be used in syscall.h as I
can't really track the setting of CONFIG_64BIT...

This way is safe, but we might be able to combine these if a superh
person were able to review...

[v2]
	fixed indentation stoopidity (Sergei Shtylyov)
	use AUDIT_ARCH_SH instead of EM_SH

Based-on-patch-by: default avatarRichard Briggs <rgb@redhat.com>
Signed-off-by: default avatarEric Paris <eparis@redhat.com>
Cc: linux-sh@vger.kernel.org
parent 1002d94d
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
#ifndef __ASM_SH_SYSCALL_32_H
#define __ASM_SH_SYSCALL_32_H

#include <uapi/linux/audit.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/err.h>
@@ -93,4 +94,13 @@ static inline void syscall_set_arguments(struct task_struct *task,
	}
}

static inline int syscall_get_arch(void)
{
	int arch = AUDIT_ARCH_SH;

#ifdef CONFIG_CPU_LITTLE_ENDIAN
	arch |= __AUDIT_ARCH_LE;
#endif
	return arch;
}
#endif /* __ASM_SH_SYSCALL_32_H */
+14 −0
Original line number Diff line number Diff line
#ifndef __ASM_SH_SYSCALL_64_H
#define __ASM_SH_SYSCALL_64_H

#include <uapi/linux/audit.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <asm/ptrace.h>
@@ -61,4 +62,17 @@ static inline void syscall_set_arguments(struct task_struct *task,
	memcpy(&regs->regs[2 + i], args, n * sizeof(args[0]));
}

static inline int syscall_get_arch(void)
{
	int arch = AUDIT_ARCH_SH;

#ifdef CONFIG_64BIT
	arch |= __AUDIT_ARCH_64BIT;
#endif
#ifdef CONFIG_CPU_LITTLE_ENDIAN
	arch |= __AUDIT_ARCH_LE;
#endif

	return arch;
}
#endif /* __ASM_SH_SYSCALL_64_H */