Beispiel #1
0
/****************************************************************************
DESCRIPTION:
Returns a string defining the speed and name of the processor.

HEADER:
ztimer.h

RETURNS:
Processor name string.

REMARKS:
This function returns an English string describing the speed and name of the
CPU.

SEE ALSO:
CPU_getProcessorType, CPU_haveMMX, CPU_getProcessorName
****************************************************************************/
char * ZAPI CPU_getProcessorName(void)
{
#if defined(__INTEL__)
    static int  cpu,speed = -1;
    static char name[80];

    if (speed == -1) {
	cpu = CPU_getProcessorType();
	speed = CPU_getProcessorSpeed(false);
	}
    sprintf(name,"%d MHz ", speed);
    switch (cpu & CPU_mask) {
	case CPU_i386:
	    strcat(name,"Intel i386 processor");
	    break;
	case CPU_i486:
	    strcat(name,"Intel i486 processor");
	    break;
	case CPU_Pentium:
	    strcat(name,"Intel Pentium processor");
	    break;
	case CPU_PentiumPro:
	    strcat(name,"Intel Pentium Pro processor");
	    break;
	case CPU_PentiumII:
	    strcat(name,"Intel Pentium II processor");
	    break;
	case CPU_Celeron:
	    strcat(name,"Intel Celeron processor");
	    break;
	case CPU_PentiumIII:
	    strcat(name,"Intel Pentium III processor");
	    break;
	case CPU_UnkIntel:
	    strcat(name,"Unknown Intel processor");
	    break;
	case CPU_Cyrix6x86:
	    strcat(name,"Cyrix 6x86 processor");
	    break;
	case CPU_Cyrix6x86MX:
	    strcat(name,"Cyrix 6x86MX processor");
	    break;
	case CPU_CyrixMediaGX:
	    strcat(name,"Cyrix MediaGX processor");
	    break;
	case CPU_CyrixMediaGXm:
	    strcat(name,"Cyrix MediaGXm processor");
	    break;
	case CPU_UnkCyrix:
	    strcat(name,"Unknown Cyrix processor");
	    break;
	case CPU_AMDAm486:
	    strcat(name,"AMD Am486 processor");
	    break;
	case CPU_AMDAm5x86:
	    strcat(name,"AMD Am5x86 processor");
	    break;
	case CPU_AMDK5:
	    strcat(name,"AMD K5 processor");
	    break;
	case CPU_AMDK6:
	    strcat(name,"AMD K6 processor");
	    break;
	case CPU_AMDK6_2:
	    strcat(name,"AMD K6-2 processor");
	    break;
	case CPU_AMDK6_III:
	    strcat(name,"AMD K6-III processor");
	    break;
	case CPU_AMDK6_2plus:
	    strcat(name,"AMD K6-2+ processor");
	    break;
	case CPU_AMDK6_IIIplus:
	    strcat(name,"AMD K6-III+ processor");
	    break;
	case CPU_UnkAMD:
	    strcat(name,"Unknown AMD processor");
	    break;
	case CPU_AMDAthlon:
	    strcat(name,"AMD Athlon processor");
	    break;
	case CPU_AMDDuron:
	    strcat(name,"AMD Duron processor");
	    break;
	case CPU_WinChipC6:
	    strcat(name,"IDT WinChip C6 processor");
	    break;
	case CPU_WinChip2:
	    strcat(name,"IDT WinChip 2 processor");
	    break;
	case CPU_UnkIDT:
	    strcat(name,"Unknown IDT processor");
	    break;
	default:
	    strcat(name,"Unknown processor");
	}
    if (CPU_haveMMX())
	strcat(name," with MMX(R)");
    if (CPU_have3DNow())
	strcat(name,", 3DNow!(R)");
    if (CPU_haveSSE())
	strcat(name,", SSE(R)");
    return name;
#else
    return "Unknown";
#endif
}
Beispiel #2
0
/****************************************************************************
DESCRIPTION:
Returns a string defining the speed and name of the processor.

HEADER:
cpuinfo.h

RETURNS:
Processor name string.

REMARKS:
This function returns an English string describing the speed and name of the
CPU.

SEE ALSO:
CPU_getProcessorType, CPU_haveMMX, CPU_getProcessorName
****************************************************************************/
char * ZAPI CPU_getProcessorName(void)
{
#if defined(__INTEL__)
    static int  cpu,speed = -1;
    static char name[80];

    if (speed == -1) {
        cpu = CPU_getProcessorType();
        speed = CPU_getProcessorSpeed(false);
        }
    if (speed >= 1000)
        sprintf(name,"%d.%d GHz ", speed / 1000,((speed + 50) / 100) % 10);
    else
        sprintf(name,"%d MHz ", speed);
    switch (cpu & CPU_mask) {
        case CPU_i386:
            strcat(name,"Intel i386 processor");
            break;
        case CPU_i486:
            strcat(name,"Intel i486 processor");
            break;
        case CPU_Pentium:
            strcat(name,"Intel Pentium processor");
            break;
        case CPU_PentiumPro:
            strcat(name,"Intel Pentium Pro processor");
            break;
        case CPU_PentiumII:
            strcat(name,"Intel Pentium II processor");
            break;
        case CPU_Celeron:
            strcat(name,"Intel Celeron processor");
            break;
        case CPU_PentiumIII:
            strcat(name,"Intel Pentium III processor");
            break;
        case CPU_Pentium4:
            strcat(name,"Intel Pentium 4 processor");
            break;
        case CPU_UnkIntel:
            strcat(name,"Unknown Intel processor");
            break;
        case CPU_UnkX86:
            strcat(name,"Unknown x86 processor");
            break;
        case CPU_Cyrix6x86:
            strcat(name,"Cyrix 6x86 processor");
            break;
        case CPU_Cyrix6x86MX:
            strcat(name,"Cyrix 6x86MX processor");
            break;
        case CPU_CyrixMediaGX:
            strcat(name,"Cyrix MediaGX processor");
            break;
        case CPU_CyrixMediaGXm:
            strcat(name,"Cyrix MediaGXm processor");
            break;
        case CPU_UnkCyrix:
            strcat(name,"Unknown Cyrix processor");
            break;
        case CPU_AMDAm486:
            strcat(name,"AMD Am486 processor");
            break;
        case CPU_AMDAm5x86:
            strcat(name,"AMD Am5x86 processor");
            break;
        case CPU_AMDK5:
            strcat(name,"AMD K5 processor");
            break;
        case CPU_AMDK6:
            strcat(name,"AMD K6 processor");
            break;
        case CPU_AMDK6_2:
            strcat(name,"AMD K6-2 processor");
            break;
        case CPU_AMDK6_III:
            strcat(name,"AMD K6-III processor");
            break;
        case CPU_AMDK6_2plus:
            strcat(name,"AMD K6-2+ processor");
            break;
        case CPU_AMDK6_IIIplus:
            strcat(name,"AMD K6-III+ processor");
            break;
        case CPU_UnkAMD:
            strcat(name,"Unknown AMD processor");
            break;
        case CPU_AMDAthlon:
            strcat(name,"AMD Athlon processor");
            break;
        case CPU_AMDDuron:
            strcat(name,"AMD Duron processor");
            break;
        case CPU_AMDOpteron:
            strcat(name,"AMD Opteron processor");
            break;
        case CPU_WinChipC6:
            strcat(name,"IDT WinChip C6 processor");
            break;
        case CPU_WinChip2:
            strcat(name,"IDT WinChip 2 processor");
            break;
        case CPU_UnkIDT:
            strcat(name,"Unknown IDT processor");
            break;
        case CPU_ViaCyrixIII:
            strcat(name,"VIA CyrixIII processor");
            break;
        case CPU_ViaEden:
            strcat(name,"VIA Eden ESP processor");
            break;
        case CPU_UnkVIA:
            strcat(name,"Unknown VIA processor");
            break;
        case CPU_GeodeGX1:
            strcat(name,"Geode GX1 processor");
            break;
        case CPU_GeodeGX2:
            strcat(name,"Geode GX2 processor");
            break;
        case CPU_UnkGeode:
            strcat(name,"Unknown Geode processor");
            break;
        default:
            strcat(name,"Unknown processor");
        }
    if (CPU_haveMMX())
        strcat(name," with MMX(R)");
    if (CPU_have3DNow())
        strcat(name,", 3DNow!(R)");
    if (CPU_haveSSE())
        strcat(name,", SSE(R)");
    if (CPU_haveSSE2())
        strcat(name,", SSE2(R)");
    return name;
#elif defined(__LINUX__)
    return _CPU_getProcessorName();
#else
    return "Unknown";
#endif
}