X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/6aa5c70b53a1f569fd05e045fe9a26f76c688016..c1811aecaae88bc006ce20bd301a6519dd89abda:/lunaix-os/hal/cpu.c diff --git a/lunaix-os/hal/cpu.c b/lunaix-os/hal/cpu.c index b2ef657..d57ae26 100644 --- a/lunaix-os/hal/cpu.c +++ b/lunaix-os/hal/cpu.c @@ -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 (