X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Farchitecture.c;h=34c5a53fa9f6ffa2a2b9f96d59ffcc117c809d32;hp=1dc5fa5c0fbcbead889dad619460f3b8839a8040;hb=679bc6cb9016715339aac4ae6b2d5371c6262935;hpb=099524d7b0df690e3361ffc3fe3c6aed0558b4fc diff --git a/src/shared/architecture.c b/src/shared/architecture.c index 1dc5fa5c0..34c5a53fa 100644 --- a/src/shared/architecture.c +++ b/src/shared/architecture.c @@ -23,7 +23,7 @@ #include "architecture.h" -Architecture uname_architecture(void) { +int uname_architecture(void) { /* Return a sanitized enum identifying the architecture we are * running on. This is based on uname(), and the user may @@ -41,7 +41,7 @@ Architecture uname_architecture(void) { static const struct { const char *machine; - Architecture arch; + int arch; } arch_map[] = { #if defined(__x86_64__) || defined(__i386__) { "x86_64", ARCHITECTURE_X86_64 }, @@ -51,7 +51,9 @@ Architecture uname_architecture(void) { { "i386", ARCHITECTURE_X86 }, #elif defined(__powerpc__) || defined(__powerpc64__) { "ppc64", ARCHITECTURE_PPC64 }, + { "ppc64le", ARCHITECTURE_PPC64_LE }, { "ppc", ARCHITECTURE_PPC }, + { "ppcle", ARCHITECTURE_PPC_LE }, #elif defined(__ia64__) { "ia64", ARCHITECTURE_IA64 }, #elif defined(__hppa__) || defined(__hppa64__) @@ -110,12 +112,16 @@ Architecture uname_architecture(void) { { "sh", ARCHITECTURE_SH }, #elif defined(__m68k__) { "m68k", ARCHITECTURE_M68K }, +#elif defined(__tilegx__) + { "tilegx", ARCHITECTURE_TILEGX }, +#elif defined(__cris__) + { "crisv32", ARCHITECTURE_CRIS }, #else #error "Please register your architecture here!" #endif }; - static Architecture cached = _ARCHITECTURE_INVALID; + static int cached = _ARCHITECTURE_INVALID; struct utsname u; unsigned i; @@ -136,7 +142,9 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { [ARCHITECTURE_X86] = "x86", [ARCHITECTURE_X86_64] = "x86-64", [ARCHITECTURE_PPC] = "ppc", + [ARCHITECTURE_PPC_LE] = "ppc-le", [ARCHITECTURE_PPC64] = "ppc64", + [ARCHITECTURE_PPC64_LE] = "ppc64-le", [ARCHITECTURE_IA64] = "ia64", [ARCHITECTURE_PARISC] = "parisc", [ARCHITECTURE_PARISC64] = "parisc64", @@ -145,7 +153,9 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { [ARCHITECTURE_SPARC] = "sparc", [ARCHITECTURE_SPARC64] = "sparc64", [ARCHITECTURE_MIPS] = "mips", + [ARCHITECTURE_MIPS_LE] = "mips-le", [ARCHITECTURE_MIPS64] = "mips64", + [ARCHITECTURE_MIPS64_LE] = "mips64-le", [ARCHITECTURE_ALPHA] = "alpha", [ARCHITECTURE_ARM] = "arm", [ARCHITECTURE_ARM_BE] = "arm-be", @@ -154,6 +164,8 @@ static const char *const architecture_table[_ARCHITECTURE_MAX] = { [ARCHITECTURE_SH] = "sh", [ARCHITECTURE_SH64] = "sh64", [ARCHITECTURE_M68K] = "m68k", + [ARCHITECTURE_TILEGX] = "tilegx", + [ARCHITECTURE_CRIS] = "cris", }; -DEFINE_STRING_TABLE_LOOKUP(architecture, Architecture); +DEFINE_STRING_TABLE_LOOKUP(architecture, int);