summaryrefslogtreecommitdiff
path: root/kexec/arch/mips/kexec-mips.c
diff options
context:
space:
mode:
authorJamey Sharp <jamey@thetovacompany.com>2008-05-15 22:42:10 -0700
committerSimon Horman <horms@verge.net.au>2008-05-21 16:29:56 +1000
commit7c3109cb6c5e1834bb3b6f788c9dcaa0ddbdf090 (patch)
treeafe65be035cbb3bc3377b5b9113d3d91e6e49b41 /kexec/arch/mips/kexec-mips.c
parent01cc79edacf626472e3d505b60ac86f7150efa84 (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.c29
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;
}