From 9a5503d01c41c7afc680c30256fba28700fc8b60 Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Wed, 1 Aug 2012 11:13:14 +0100 Subject: [PATCH] Different uname machine type for x86_64. * Added B_64_BIT_PC_PLATFORM platform type. * Return "x86_64" as the machine type for that platform in uname. --- headers/os/kernel/OS.h | 3 ++- src/system/kernel/arch/x86/arch_system_info.cpp | 4 ++++ src/system/libroot/posix/sys/uname.c | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/headers/os/kernel/OS.h b/headers/os/kernel/OS.h index 6fc6a3badd..d5441da4d2 100644 --- a/headers/os/kernel/OS.h +++ b/headers/os/kernel/OS.h @@ -713,7 +713,8 @@ typedef enum platform_types { B_MK_61_PLATFORM, B_NINTENDO_64_PLATFORM, B_AMIGA_PLATFORM, - B_ATARI_PLATFORM + B_ATARI_PLATFORM, + B_64_BIT_PC_PLATFORM } platform_type; typedef struct { diff --git a/src/system/kernel/arch/x86/arch_system_info.cpp b/src/system/kernel/arch/x86/arch_system_info.cpp index 8789dca0f4..a1423ffaa7 100644 --- a/src/system/kernel/arch/x86/arch_system_info.cpp +++ b/src/system/kernel/arch/x86/arch_system_info.cpp @@ -68,7 +68,11 @@ arch_get_system_info(system_info *info, size_t size) // - various cpu_info info->cpu_clock_speed = sCpuClockSpeed; // - bus_clock_speed +#ifdef __x86_64__ + info->platform_type = B_64_BIT_PC_PLATFORM; +#else info->platform_type = B_AT_CLONE_PLATFORM; +#endif // ToDo: clock speeds could be retrieved via SMBIOS/DMI return B_OK; diff --git a/src/system/libroot/posix/sys/uname.c b/src/system/libroot/posix/sys/uname.c index 8fe5be1d3c..120a95157d 100644 --- a/src/system/libroot/posix/sys/uname.c +++ b/src/system/libroot/posix/sys/uname.c @@ -55,6 +55,9 @@ uname(struct utsname *info) case B_AT_CLONE_PLATFORM: platform = "BePC"; break; + case B_64_BIT_PC_PLATFORM: + platform = "x86_64"; + break; default: platform = "unknown"; break;