src/os/macosx/G5_detector.cpp
author belugas
Sun, 14 Jan 2007 01:27:19 +0000
changeset 5653 d8847aa3a0c8
parent 5584 1111b4d36e35
child 9111 48ce04029fe4
permissions -rw-r--r--
(svn r8112) -Codechange: MSVC solution files will now make it so that openttd will be THE startup project.
Take note that it will only be the case on a clean checkout, without any other files than those coming from that checkout.
/* $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");
}