aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/include
diff options
context:
space:
mode:
authorFabian Imhof <fabian.imhof@ost.ch>2025-04-02 09:57:54 +0000
committerFabian Imhof <fabian.imhof@ost.ch>2025-04-02 09:57:54 +0000
commitfc4a2306b803ccfc27f1bdc4a831176a5278a9d5 (patch)
tree81cc4a12440c9818b17e4fd0f837f362faef1040 /arch/x86_64/include
parent6878ffae67a6940ab8dca9831abf9537322ed2cf (diff)
downloadteachos-fc4a2306b803ccfc27f1bdc4a831176a5278a9d5.tar.xz
teachos-fc4a2306b803ccfc27f1bdc4a831176a5278a9d5.zip
fix interrupt handler and idt
Diffstat (limited to 'arch/x86_64/include')
-rw-r--r--arch/x86_64/include/arch/interrupt_handling/generic_interrupt_handler.hpp11
-rw-r--r--arch/x86_64/include/arch/memory/multiboot/elf_symbols_section.hpp2
2 files changed, 7 insertions, 6 deletions
diff --git a/arch/x86_64/include/arch/interrupt_handling/generic_interrupt_handler.hpp b/arch/x86_64/include/arch/interrupt_handling/generic_interrupt_handler.hpp
index 9f33fa0..d828c50 100644
--- a/arch/x86_64/include/arch/interrupt_handling/generic_interrupt_handler.hpp
+++ b/arch/x86_64/include/arch/interrupt_handling/generic_interrupt_handler.hpp
@@ -13,11 +13,12 @@ namespace teachos::arch::interrupt_handling
*/
struct interrupt_frame
{
- uint64_t ip; ///< Dummy
- uint64_t cs; ///< Dummy
- uint64_t flags; ///< Dummy
- uint64_t sp; ///< Dummy
- uint64_t ss; ///< Dummy
+ uint64_t error_code; ///< Error Code (TODO: Potential mistake -> some interrupts contain this field and some dont?)
+ uint64_t ip; ///< Instruction pointer
+ uint64_t cs; ///< Code segment
+ uint64_t flags; ///< RFLAGS
+ uint64_t sp; ///< Stack pointer
+ uint64_t ss; ///< Stack segment
};
[[gnu::interrupt]]
diff --git a/arch/x86_64/include/arch/memory/multiboot/elf_symbols_section.hpp b/arch/x86_64/include/arch/memory/multiboot/elf_symbols_section.hpp
index 730bcaf..0a25ca9 100644
--- a/arch/x86_64/include/arch/memory/multiboot/elf_symbols_section.hpp
+++ b/arch/x86_64/include/arch/memory/multiboot/elf_symbols_section.hpp
@@ -20,7 +20,7 @@ namespace teachos::arch::memory::multiboot
INACTIVE, ///< (SHT_NULL) Unused, meaning all values are zeroed out.
PROGRAMM, ///< (SHT_PROGBITS) Program data (DATA, CODE).
SYMBOL_TABLE, ///< (SHT_SYMBTAB) Contains actual entries pointed to in symbol hash table.
- STRING_TABLE, ///< (SHT_STRTAB) Contains symbols, section and deubbging null-terminated strings.
+ STRING_TABLE, ///< (SHT_STRTAB) Contains symbols, section and debugging null-terminated strings.
RELOCATION_ENTRY_WITH_ADDENDS, ///< (SHT_RELA) Only used on 64 bit systems.
SYMBOL_HASH_TABLE, ///< (SHT_HASH) Hash table used by dynamic linker to locate symbols.
DYNAMIC, ///< (SHT_DYNAMIC) Contains dynamic linking information.