00001
00002
00003 #ifndef cpu_i_h
00004 #define cpu_i_h
00005
00006 #include <cstdio>
00007 #include <cstring>
00008 #include "config.h"
00009 #include "panic.h"
00010 #include "processor.h"
00011 #include "regdefs.h"
00012
00013 #include "boot_info.h"
00014 #include "config.h"
00015 #include "globals.h"
00016 #include "initcalls.h"
00017 #include "io.h"
00018 #include "pit.h"
00019 #include "tss.h"
00020
00021
00022
00023
00024
00025
00026
00027 inline FIASCO_INIT
00028 void
00029 Cpu::cpuid(Unsigned32 const mode,
00030 Unsigned32 *const eax, Unsigned32 *const ebx,
00031 Unsigned32 *const ecx, Unsigned32 *const edx)
00032 {
00033 asm volatile ("cpuid" : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx)
00034 : "a" (mode));
00035 }
00036
00037 #endif // cpu_i_h