fix gcc warnings & improved makefile echos
[lunaix-os.git] / lunaix-os / hal / cpu.c
index b2ef65704e00512b7a31652f3130fc0e78e3ffe6..d57ae26d4a07447957ad2da56a3adc801afd771c 100644 (file)
@@ -4,7 +4,7 @@
 
 void cpu_get_model(char* model_out) {
     uint32_t* out = (uint32_t*)model_out;
-    reg32 eax, ebx, edx, ecx;
+    reg32 eax = 0, ebx = 0, edx = 0, ecx = 0;
     
     __get_cpuid(0, &eax, &ebx, &ecx, &edx);
 
@@ -27,7 +27,7 @@ void cpu_get_brand(char* brand_out) {
         brand_out[1] = '\0';
     }
     uint32_t* out = (uint32_t*) brand_out;
-    reg32 eax, ebx, edx, ecx;
+    reg32 eax = 0, ebx = 0, edx = 0, ecx = 0;
     for (uint32_t i = 2, j = 0; i < 5; i++)
     {
         __get_cpuid(BRAND_LEAF + i, &eax, &ebx, &ecx, &edx);
@@ -40,6 +40,8 @@ void cpu_get_brand(char* brand_out) {
     brand_out[48] = '\0';
 }
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wreturn-type"
 reg32 cpu_r_cr0() {
     asm volatile ("mov %cr0, %eax");
 }
@@ -51,6 +53,7 @@ reg32 cpu_r_cr2() {
 reg32 cpu_r_cr3() {
     asm volatile ("mov %cr3, %eax");
 }
+#pragma GCC diagnostic push
 
 void cpu_w_cr0(reg32 v) {
     asm volatile (