Changeset 3b05862f in mainline for arch/ia32/src/cpu/cpu.c


Ignore:
Timestamp:
2006-03-15T16:12:37Z (19 years ago)
Author:
Jakub Vana <jakub.vana@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
2f7342d
Parents:
b629483
Message:

ia32 MMX and SSEx support

File:
1 edited

Legend:

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

    rb629483 r3b05862f  
    9393void cpu_arch_init(void)
    9494{
     95        __u32 help=0;
     96       
    9597        CPU->arch.tss = tss_p;
    9698        CPU->fpu_owner=NULL;
     99
     100        cpuid_feature_info fi;
     101        cpuid_extended_feature_info efi;
     102
     103        cpu_info_t info;
     104        cpuid(1, &info);
     105
     106        fi.word=info.cpuid_edx;
     107        efi.word=info.cpuid_ecx;
     108       
     109        if(fi.bits.fxsr)        fpu_fxsr();
     110        else fpu_fsr();
     111       
     112        if(fi.bits.sse) asm volatile (
     113                "mov %%cr4,%0;\n"
     114                "or %1,%0;\n"
     115                "mov %0,%%cr4;\n"
     116                :"+r"(help)
     117                :"i"(CR4_OSFXSR_MASK|(1<<10))
     118        );
     119       
    97120}
    98121
Note: See TracChangeset for help on using the changeset viewer.