Ignore:
File:
1 edited

Legend:

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

    r45b4300 r57c2a87  
    7272void fpu_disable(void)
    7373{
    74         asm volatile (
    75                 "mov %%cr0, %%eax\n"
    76                 "or $8, %%eax\n"
    77                 "mov %%eax, %%cr0\n"
    78                 ::: "%eax"
    79         );
     74        write_cr0(read_cr0() & ~CR0_TS);
    8075}
    8176
    8277void fpu_enable(void)
    8378{
    84         asm volatile (
    85                 "mov %%cr0, %%eax\n"
    86                 "and $0xffFFffF7, %%eax\n"
    87                 "mov %%eax,%%cr0\n"
    88                 ::: "%eax"
    89         );
     79        write_cr0(read_cr0() | CR0_TS);
    9080}
    9181
     
    115105                        "mov %[help], %%cr4\n"
    116106                        : [help] "+r" (help)
    117                         : [mask] "i" (CR4_OSFXSR_MASK | CR4_OSXMMEXCPT_MASK)
     107                        : [mask] "i" (CR4_OSFXSR | CR4_OSXMMEXCPT)
    118108                );
    119109        }
     
    160150void cpu_print_report(cpu_t* cpu)
    161151{
    162         printf("cpu%u: (%s family=%u model=%u stepping=%u) %" PRIu16 " MHz\n",
    163                 cpu->id, vendor_str[cpu->arch.vendor], cpu->arch.family,
    164                 cpu->arch.model, cpu->arch.stepping, cpu->frequency_mhz);
     152        printf("cpu%u: (%s family=%u model=%u stepping=%u apicid=%u) %" PRIu16
     153                " MHz\n", cpu->id, vendor_str[cpu->arch.vendor], cpu->arch.family,
     154                cpu->arch.model, cpu->arch.stepping, cpu->arch.id, cpu->frequency_mhz);
    165155}
    166156
Note: See TracChangeset for help on using the changeset viewer.