src/os/macosx/G5_detector.cpp
changeset 5584 1111b4d36e35
parent 5475 2e6990a8c7c4
child 9111 48ce04029fe4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/os/macosx/G5_detector.cpp	Wed Jan 10 18:12:09 2007 +0000
@@ -0,0 +1,29 @@
+/* $Id$ */
+
+#include <mach/mach.h>
+#include <mach/mach_host.h>
+#include <mach/host_info.h>
+#include <mach/machine.h>
+#include <stdio.h>
+
+
+#ifndef CPU_SUBTYPE_POWERPC_970
+#define CPU_SUBTYPE_POWERPC_970 ((cpu_subtype_t) 100)
+#endif
+
+// this function is a lightly modified version of some code from Apple's developer homepage to detect G5 CPUs at runtime
+main()
+{
+	host_basic_info_data_t hostInfo;
+	mach_msg_type_number_t infoCount;
+	boolean_t is_G5;
+
+	infoCount = HOST_BASIC_INFO_COUNT;
+	host_info(mach_host_self(), HOST_BASIC_INFO,
+			  (host_info_t)&hostInfo, &infoCount);
+
+	 is_G5 = ((hostInfo.cpu_type == CPU_TYPE_POWERPC) &&
+			(hostInfo.cpu_subtype == CPU_SUBTYPE_POWERPC_970));
+	 if (is_G5)
+		 printf("1");
+}