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 elf_check_arch(const struct elf32_hdr * x)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 } 30 EXPORT_SYMBOL(elf_check_arch); 31 elf_set_personality(const struct elf32_hdr * x)32void elf_set_personality(const struct elf32_hdr *x) 33 { 34 unsigned int personality = PER_LINUX; 35 36 set_personality(personality); 37 } 38 EXPORT_SYMBOL(elf_set_personality); 39