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;