diff options
author | aqua <aqua@iserlohn-fortress.net> | 2023-06-29 21:45:11 +0300 |
---|---|---|
committer | aqua <aqua@iserlohn-fortress.net> | 2023-06-29 21:45:11 +0300 |
commit | eb84566d236df6b0dd4f5ce8fc47d66e55e33654 (patch) | |
tree | 7e03ca126781c67336edf9f3ce6888aad23f74e4 /i686 | |
parent | Rework leaf makefiles to be included from top-level (diff) | |
download | kernel-eb84566d236df6b0dd4f5ce8fc47d66e55e33654.tar.xz |
Fix compiler warnings
Diffstat (limited to 'i686')
-rw-r--r-- | i686/lgdt.c | 2 | ||||
-rw-r--r-- | i686/lidt.c | 6 | ||||
-rw-r--r-- | i686/sys/io.h | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/i686/lgdt.c b/i686/lgdt.c index d1b24c3..473a91d 100644 --- a/i686/lgdt.c +++ b/i686/lgdt.c @@ -10,11 +10,11 @@ static struct SegmentDescriptor_t segments[8] __attribute__((aligned(32))); void gdt_install() { + const struct Pointer ptr = {sizeof(segments) - 1, (unsigned)&segments}; SegmentDescriptor(&segments[0], 0, 0, 0); /* null segment */ SegmentDescriptor(&segments[2], 0, 0xffffffff, 0x9a); /* ktext segment */ SegmentDescriptor(&segments[3], 0, 0xffffffff, 0x92); /* kdata segment */ - const struct Pointer ptr = {.limit = sizeof(segments) - 1, .base = (unsigned)&segments}; __asm__("lgdt (%0)" : : "a"(&ptr)); /* load the kernel data segment */ diff --git a/i686/lidt.c b/i686/lidt.c index 3260eb9..86567f8 100644 --- a/i686/lidt.c +++ b/i686/lidt.c @@ -8,7 +8,7 @@ struct __attribute__((packed)) Pointer { enum Type { Null = 0, - Intr = 0x8e, /* 1000 1110 32-bit interrupt */ + Intr = 0x8e /* 1000 1110 32-bit interrupt */ }; struct __attribute__((packed)) Gate_t { @@ -25,7 +25,7 @@ Gate(struct Gate_t *entry, void (*f)(struct interrupt_frame *), uint16_t selecto { uint32_t f_addr = (uint32_t)f; entry->offset_15_0 = f_addr & 0xffff; - entry->offset_31_16 = (f_addr >> 16) & 0xffff; + entry->offset_31_16 = (uint16_t)(f_addr >> 16) & 0xffff; entry->selector = selector; entry->__unused = 0; entry->type = Intr; @@ -37,6 +37,7 @@ void idt_install() { int i; + const struct Pointer ptr = {sizeof(interrupt_table) - 1, (unsigned)&interrupt_table}; /* exceptions 0x00~0x13 */ for (i = 0; i <= 0x13; ++i) Gate(&interrupt_table[i], &abort_handler, 0x10); @@ -50,6 +51,5 @@ idt_install() /* syscall 0x80 */ Gate(&interrupt_table[0x80], &syscall_handler, 0x10); - const struct Pointer ptr = {.limit = sizeof(interrupt_table) - 1, .base = (unsigned)&interrupt_table}; __asm__("lidt (%0)" : : "a"(&ptr)); } diff --git a/i686/sys/io.h b/i686/sys/io.h index 403dc54..4ff5d85 100644 --- a/i686/sys/io.h +++ b/i686/sys/io.h @@ -9,7 +9,7 @@ enum UART { COM5 = 0x5f8, COM6 = 0x4f8, COM7 = 0x5e8, - COM8 = 0x4e8, + COM8 = 0x4e8 }; static __inline__ void |