1/* 2 * linux/arch/unicore32/kernel/elf.c 3 * 4 * Code specific to PKUnity SoC and UniCore ISA 5 * 6 * Copyright (C) 2001-2010 GUAN Xue-tao 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License version 2 as 10 * published by the Free Software Foundation. 11 */ 12#include <linux/module.h> 13#include <linux/sched.h> 14#include <linux/personality.h> 15#include <linux/binfmts.h> 16#include <linux/elf.h> 17 18int elf_check_arch(const struct elf32_hdr *x) 19{ 20 /* Make sure it's an UniCore executable */ 21 if (x->e_machine != EM_UNICORE) 22 return 0; 23 24 /* Make sure the entry address is reasonable */ 25 if (x->e_entry & 3) 26 return 0; 27 28 return 1; 29} 30EXPORT_SYMBOL(elf_check_arch); 31 32void elf_set_personality(const struct elf32_hdr *x) 33{ 34 unsigned int personality = PER_LINUX; 35 36 set_personality(personality); 37} 38EXPORT_SYMBOL(elf_set_personality); 39