Kernel: Remove obsole CPUID::IsAvailable
This is now a harware requirement that is verified already in boot.S
This commit is contained in:
		
							parent
							
								
									7d45b3cbd6
								
							
						
					
					
						commit
						64c57ea3d0
					
				|  | @ -341,12 +341,6 @@ namespace APIC | |||
| 
 | ||||
| 	static bool InitializeAPIC() | ||||
| 	{ | ||||
| 		if (!CPUID::IsAvailable()) | ||||
| 		{ | ||||
| 			kprintln("CPUID not available"); | ||||
| 			return false; | ||||
| 		} | ||||
| 
 | ||||
| 		uint32_t ecx, edx; | ||||
| 		CPUID::GetFeatures(ecx, edx); | ||||
| 		if (!(edx & CPUID::Features::EDX_APIC)) | ||||
|  |  | |||
|  | @ -12,24 +12,6 @@ namespace CPUID | |||
| 		asm volatile ("cpuid": "=a"(out[0]), "=b"(out[0]), "=d"(out[1]), "=c"(out[2]) : "a"(code)); | ||||
| 	} | ||||
| 
 | ||||
| 	bool IsAvailable() | ||||
| 	{ | ||||
| 		uint32_t res; | ||||
| 		asm volatile( | ||||
| 			"pushfl;" | ||||
| 			"pushfl;" | ||||
| 			"popl %0;" | ||||
| 			"xorl %1, %0;" | ||||
| 			"pushl %0;" | ||||
| 			"popfl;" | ||||
| 			"pushfl;" | ||||
| 			"popl %0;" | ||||
| 			"popfl;" | ||||
| 			: "=r"(res) | ||||
| 			: "i" (0x00200000)); | ||||
| 		return res != 0; | ||||
| 	} | ||||
| 
 | ||||
| 	const char* GetVendor() | ||||
| 	{ | ||||
| 		static char vendor[13] {}; | ||||
|  | @ -48,9 +30,6 @@ namespace CPUID | |||
| 
 | ||||
| 	bool Is64Bit() | ||||
| 	{ | ||||
| 		if (!IsAvailable()) | ||||
| 			return false; | ||||
| 		 | ||||
| 		uint32_t buffer[4] {}; | ||||
| 		get_cpuid(0x80000000, buffer); | ||||
| 		if (buffer[0] < 0x80000001) | ||||
|  |  | |||
|  | @ -148,7 +148,6 @@ namespace CPUID | |||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	bool IsAvailable(); | ||||
| 	const char* GetVendor(); | ||||
| 	void GetFeatures(uint32_t& ecx, uint32_t& edx); | ||||
| 	bool Is64Bit(); | ||||
|  |  | |||
|  | @ -125,11 +125,6 @@ namespace Kernel | |||
| 				TTY_PRINTLN("'cpuinfo' does not support command line arguments"); | ||||
| 				return;	 | ||||
| 			} | ||||
| 			if (!CPUID::IsAvailable()) | ||||
| 			{ | ||||
| 				TTY_PRINTLN("'cpuid' instruction not available"); | ||||
| 				return; | ||||
| 			} | ||||
| 
 | ||||
| 			uint32_t ecx, edx; | ||||
| 			auto vendor = CPUID::GetVendor(); | ||||
|  | @ -154,11 +149,6 @@ namespace Kernel | |||
| 				TTY_PRINTLN("'random' does not support command line arguments"); | ||||
| 				return;	 | ||||
| 			} | ||||
| 			if (!CPUID::IsAvailable()) | ||||
| 			{ | ||||
| 				TTY_PRINTLN("'cpuid' instruction not available"); | ||||
| 				return; | ||||
| 			} | ||||
| 			uint32_t ecx, edx; | ||||
| 			CPUID::GetFeatures(ecx, edx); | ||||
| 			if (!(ecx & CPUID::Features::ECX_RDRND)) | ||||
|  |  | |||
|  | @ -1,3 +1,4 @@ | |||
| #include <BAN/Memory.h> | ||||
| #include <kernel/APIC.h> | ||||
| #include <kernel/GDT.h> | ||||
| #include <kernel/IDT.h> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue