summaryrefslogtreecommitdiff
path: root/kernel/src/cpu
diff options
context:
space:
mode:
authorAleksa Vuckovic <aleksa@vuckovic.cc>2023-02-22 18:48:51 +0100
committerAleksa Vuckovic <aleksa@vuckovic.cc>2023-02-22 18:48:51 +0100
commitcaba4178bbfd7b3b1ff2e156e24b08015137d16a (patch)
tree46205b3e9d2a881c3c17297068528e7ee858f989 /kernel/src/cpu
parent53069ae43ea997d51d2b985a26fffdb86a59b023 (diff)
ANSI C: volatile -> __volatile__
Diffstat (limited to 'kernel/src/cpu')
-rw-r--r--kernel/src/cpu/gdt.c4
-rw-r--r--kernel/src/cpu/idt.c12
-rw-r--r--kernel/src/cpu/io.c4
-rw-r--r--kernel/src/cpu/msr.c4
-rw-r--r--kernel/src/cpu/tss.c2
5 files changed, 18 insertions, 8 deletions
diff --git a/kernel/src/cpu/gdt.c b/kernel/src/cpu/gdt.c
index fe7e080..58db962 100644
--- a/kernel/src/cpu/gdt.c
+++ b/kernel/src/cpu/gdt.c
@@ -26,7 +26,7 @@ void add_gdt_tss(uint32_t num, uint64_t offset, uint32_t limit, uint8_t access,
void reload_gdt()
{
- __asm__ volatile (
+ __asm__ __volatile__ (
// reload segment registers
"mov $0x10, %ax;"
"mov %ax, %ds;"
@@ -39,7 +39,7 @@ void reload_gdt()
void load_gdt(gdt_p* pointer)
{
- __asm__ volatile ("lgdt (%0);" : : "r"(pointer) : );
+ __asm__ __volatile__ ("lgdt (%0);" : : "r"(pointer) : );
reload_gdt();
}
diff --git a/kernel/src/cpu/idt.c b/kernel/src/cpu/idt.c
index 3578f53..1b0fffb 100644
--- a/kernel/src/cpu/idt.c
+++ b/kernel/src/cpu/idt.c
@@ -6,9 +6,19 @@
__attribute__((aligned(0x10))) static idt_entry idt_table[256];
idtp idt_pointer;
+void enable_interrupts(void)
+{
+ __asm__ __volatile__ ("sti;");
+}
+
+void disable_interrupts(void)
+{
+ __asm__ __volatile__ ("cli;");
+}
+
void load_idt(idtp* pointer)
{
- __asm__ volatile ("lidt (%0);" : : "r"(pointer) : );
+ __asm__ __volatile__ ("lidt (%0);" : : "r"(pointer) : );
}
void add_to_idt(uint16_t num, uint64_t offset, uint16_t selector, uint8_t type)
diff --git a/kernel/src/cpu/io.c b/kernel/src/cpu/io.c
index a5adfd6..4b5e5ac 100644
--- a/kernel/src/cpu/io.c
+++ b/kernel/src/cpu/io.c
@@ -4,13 +4,13 @@
uint8_t inb(uint32_t port)
{
uint8_t ret;
- __asm__ volatile ("inb %%dx, %%al;" : "=a"(ret) : "d"(port));
+ __asm__ __volatile__ ("inb %%dx, %%al;" : "=a"(ret) : "d"(port));
return ret;
}
void outb(uint32_t port, uint8_t value)
{
- __asm__ volatile ("outb %%al, %%dx;" : : "d"(port), "a"(value));
+ __asm__ __volatile__ ("outb %%al, %%dx;" : : "d"(port), "a"(value));
}
void io_wait(void)
diff --git a/kernel/src/cpu/msr.c b/kernel/src/cpu/msr.c
index 75fc602..e904d5f 100644
--- a/kernel/src/cpu/msr.c
+++ b/kernel/src/cpu/msr.c
@@ -6,7 +6,7 @@ uint64_t read_msr(uint32_t addr)
uint64_t edx;
uint64_t ecx = addr;
- __asm__ volatile ("rdmsr;" : "=a"(eax), "=d"(edx) : "c"(ecx) :);
+ __asm__ __volatile__ ("rdmsr;" : "=a"(eax), "=d"(edx) : "c"(ecx) :);
return (edx << 32) | eax;
}
@@ -17,5 +17,5 @@ void write_msr(uint32_t addr, uint64_t value)
uint64_t edx = value >> 32;
uint64_t ecx = addr;
- __asm__ volatile ("wrmsr;" : : "a"(eax), "d"(edx), "c"(ecx) :);
+ __asm__ __volatile__ ("wrmsr;" : : "a"(eax), "d"(edx), "c"(ecx) :);
}
diff --git a/kernel/src/cpu/tss.c b/kernel/src/cpu/tss.c
index d2c16d3..03b3475 100644
--- a/kernel/src/cpu/tss.c
+++ b/kernel/src/cpu/tss.c
@@ -7,7 +7,7 @@ tss_type tss;
void load_tss()
{
- __asm__ volatile ("push %rax; mov $0x28, %ax; ltr %ax; pop %rax;");
+ __asm__ __volatile__ ("push %rax; mov $0x28, %ax; ltr %ax; pop %rax;");
}
void init_tss()