Changeset 0172eba in mainline for arch/ia64/src/cpu/cpu.c


Ignore:
Timestamp:
2005-11-11T12:40:45Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
73a4bab
Parents:
59e07c91
Message:

ia64 CPU identification.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia64/src/cpu/cpu.c

    r59e07c91 r0172eba  
    2828
    2929#include <cpu.h>
     30#include <arch.h>
     31#include <arch/register.h>
     32#include <print.h>
    3033
    3134void cpu_arch_init(void)
     
    3336}
    3437
     38void cpu_identify(void)
     39{
     40        CPU->arch.cpuid0 = cpuid_read(0);
     41        CPU->arch.cpuid1 = cpuid_read(1);
     42        CPU->arch.cpuid3.value = cpuid_read(3);
     43}
    3544
     45void cpu_print_report(cpu_t *m)
     46{
     47        char *family_str;
     48        char vendor[2*sizeof(__u64)+1];
     49       
     50        *((__u64 *) &vendor[0*sizeof(__u64)]) = CPU->arch.cpuid0;
     51        *((__u64 *) &vendor[1*sizeof(__u64)]) = CPU->arch.cpuid1;
     52        vendor[sizeof(vendor)-1] = '\0';
     53       
     54        switch(m->arch.cpuid3.family) {
     55            case FAMILY_ITANIUM:
     56                family_str = "Itanium";
     57                break;
     58            case FAMILY_ITANIUM2:
     59                family_str = "Itanium 2";
     60                break;
     61            default:
     62                family_str = "Unknown";
     63                break;
     64        }
     65       
     66        printf("cpu%d: %s (%s), archrev=%d, model=%d, revision=%d\n", CPU->id, family_str, vendor, CPU->arch.cpuid3.archrev, CPU->arch.cpuid3.model, CPU->arch.cpuid3.revision);
     67}
Note: See TracChangeset for help on using the changeset viewer.