18cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/** 28cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @file cpu_type.c 38cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * CPU determination 48cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 58cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Copyright 2002 OProfile authors 68cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Read the file COPYING 78cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 88cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author John Levon 98cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author Philippe Elie 108cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author Will Cohen 118cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */ 128cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 138cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include "oprofile.h" 148cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 158cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike DoddEXPORT_NO_SYMBOLS; 168cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 178cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd__init op_cpu get_cpu_type(void) 188cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd{ 198cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd __u8 family = local_cpu_data->family; 208cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 218cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd /* FIXME: There should be a bit more checking here. */ 228cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd switch (family) { 238cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd /* Itanium */ 248cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd case 0x07: 258cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd return CPU_IA64_1; 268cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd break; 278cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd /* Itanium 2 */ 288cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd case 0x1f: 298cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd return CPU_IA64_2; 308cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd break; 318cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd } 328cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd /* Go for the basic generic IA64 */ 338cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd return CPU_IA64; 348cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd} 35