30 lines
		
	
	
		
			715 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			715 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /* $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");
 | |
| }
 | 
