4 (C) 2014-2015 VOSystems.
7 #include<Diverge/diverge.h>
8 #include<Diverge/env_var.h>
9 #include<Diverge/kstdio.h>
13 void init_CPUinfo(void)
17 printTASK("Get CPU Information");
19 printOK("Get CPU Information");
20 switch(pc_env.vendor){
22 printINFO("CPU Vendor = Intel");
25 printINFO("CPU Vendor = AMD");
28 printINFO("CPU Vendor = Centaur Technology");
31 printINFO("CPU Vendor = Cyrix");
34 printINFO("CPU Vendor = Transmeta");
37 printINFO("CPU Vendor = NSC");
40 printINFO("CPU Vendor = NexGen");
43 printINFO("CPU Vendor = Rise Technology");
46 printINFO("CPU Vendor = SiS");
49 printINFO("CPU Vendor = UMC");
52 printINFO("CPU Vendor = VIA Technology");
55 printFAIL("Can't get CPU Vendor");
61 inline void RunCPUID(struct general_registers *reg, unsigned int eax)
70 :"=m"(reg->eax), "=m"(reg->ebx), "=m"(reg->ecx), "=m"(reg->edx)
77 struct general_registers reg;
80 if(reg.ebx==0x756e6547 && reg.edx==0x49656e69){
83 }else if(reg.ebx==0x69444d41 || reg.ebx==0x68747541){
86 }else if(reg.ebx==0x746e6543){
89 }else if(reg.ebx==0x69727943){
92 }else if(reg.ebx==0x756e6547 || reg.ebx==0x6e617254){
95 }else if(reg.ebx==0x646f6547){
98 }else if(reg.ebx==0x4778654e){
101 }else if(reg.ebx==0x65736952){
104 }else if(reg.ebx==0x20536953){
107 }else if(reg.ebx==0x20434d55){
110 }else if(reg.ebx==0x20414956){