diff options
author | Jamey Sharp <jamey@thetovacompany.com> | 2008-05-15 22:42:10 -0700 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2008-05-21 16:29:56 +1000 |
commit | 7c3109cb6c5e1834bb3b6f788c9dcaa0ddbdf090 (patch) | |
tree | afe65be035cbb3bc3377b5b9113d3d91e6e49b41 /kexec/arch/mips/kexec-mips.c | |
parent | 01cc79edacf626472e3d505b60ac86f7150efa84 (diff) |
Factor uname-based native architecture detection into a common function.
This code was copy-pasted into every architecture and was basically
identical.
Besides producing a nice net reduction in code, this factors a
portability challenge into a single function that can be easily replaced
at build-time.
Signed-off-by: Jamey Sharp <jamey@thetovacompany.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec/arch/mips/kexec-mips.c')
-rw-r--r-- | kexec/arch/mips/kexec-mips.c | 29 |
1 files changed, 8 insertions, 21 deletions
diff --git a/kexec/arch/mips/kexec-mips.c b/kexec/arch/mips/kexec-mips.c index b17a20b..e4ec71b 100644 --- a/kexec/arch/mips/kexec-mips.c +++ b/kexec/arch/mips/kexec-mips.c @@ -16,7 +16,6 @@ #include <stdint.h> #include <string.h> #include <getopt.h> -#include <sys/utsname.h> #include "../../kexec.h" #include "../../kexec-syscall.h" #include "kexec-mips.h" @@ -122,28 +121,16 @@ int arch_process_options(int argc, char **argv) return 0; } +const struct arch_map_entry arches[] = { + /* For compatibility with older patches + * use KEXEC_ARCH_DEFAULT instead of KEXEC_ARCH_MIPS here. + */ + { "mips", KEXEC_ARCH_DEFAULT }, + { 0 }, +}; + int arch_compat_trampoline(struct kexec_info *info) { - int result; - struct utsname utsname; - result = uname(&utsname); - if (result < 0) { - fprintf(stderr, "uname failed: %s\n", - strerror(errno)); - return -1; - } - if (strcmp(utsname.machine, "mips") == 0) - { - /* For compatibility with older patches - * use KEXEC_ARCH_DEFAULT instead of KEXEC_ARCH_MIPS here. - */ - info->kexec_flags |= KEXEC_ARCH_DEFAULT; - } - else { - fprintf(stderr, "Unsupported machine type: %s\n", - utsname.machine); - return -1; - } return 0; } |