diff options
7 files changed, 16 insertions, 13 deletions
diff --git a/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/gate_descriptor.hpp b/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/gate_descriptor.hpp index 22cd0f0..07110c8 100644 --- a/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/gate_descriptor.hpp +++ b/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/gate_descriptor.hpp @@ -30,7 +30,7 @@ namespace teachos::arch::context_switching::interrupt_descriptor_table * field that has to be used, because the 64-bit gate descriptor needs to be big enough for two 32-bit gate * descriptor. * - 16 bit Segment Selector - * - 3 bit IST + * - 3 bit Interrupt Stack Table Offset * - 8 bit Type and Flags * - 64 bit Offset * diff --git a/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/idt_flags.hpp b/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/idt_flags.hpp index 948f478..5104c36 100644 --- a/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/idt_flags.hpp +++ b/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/idt_flags.hpp @@ -14,7 +14,7 @@ namespace teachos::arch::context_switching::interrupt_descriptor_table struct [[gnu::packed]] idt_flags { /** - * @brief Possible set bits in our underlying std::bitset and the meaning when they are set. + * @brief Possible set bits in our underlying bits and the meaning when they are set. */ enum bitset : uint8_t { @@ -59,10 +59,10 @@ namespace teachos::arch::context_switching::interrupt_descriptor_table auto contains_flags(std::bitset<8U> other) const -> bool; /** - * @brief Allows to compare the underlying std::bitset of two instances. + * @brief Allows to compare the underlying bits of two instances. * * @param other Other instance that we want to compare with. - * @return Whether the underlying std::bitset of both types is the same. + * @return Whether the underlying set bits of both types are the same. */ auto operator==(idt_flags const & other) const -> bool = default; diff --git a/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/ist_offset.hpp b/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/ist_offset.hpp index cefe1b2..e45bcf4 100644 --- a/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/ist_offset.hpp +++ b/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/ist_offset.hpp @@ -7,7 +7,7 @@ namespace teachos::arch::context_switching::interrupt_descriptor_table { /** - * @brief Defines helper function for all states that the ist field of a gate descriptor can + * @brief Defines helper function for all states that the interrupt stack table offset field of a gate descriptor can * have. Is automatically increased to one byte in size, to include the following 5 reserved bits in the gate * descriptor. */ @@ -21,9 +21,11 @@ namespace teachos::arch::context_switching::interrupt_descriptor_table /** * @brief Constructor. * - * @param index Index into local or global descriptor table. + * @param offset Offset into the interrupt stack table. A value of of 0 means we do not switch stacks, whereas 1 - 7 + * mean we switch to the n-th stack in the Interrupt Stack Table, contained in the TSS if the gate descriptor that + * contains this field is called. */ - ist_offset(uint8_t index); + ist_offset(uint8_t offset); /** * @brief Allows to compare the underlying set bits of two instances. @@ -34,7 +36,7 @@ namespace teachos::arch::context_switching::interrupt_descriptor_table auto operator==(ist_offset const & other) const -> bool = default; private: - uint8_t _ist : 3 = {}; ///< Offset into the interrupt stack table. A value of of 0 menas we do not switch stacks, + uint8_t _ist : 3 = {}; ///< Offset into the interrupt stack table. A value of of 0 means we do not switch stacks, ///< whereas 1 - 7 mean we switch to the n-th stack in the Interrupt Stack Table, contained ///< in the TSS if the gate descriptor that contains this field is called. }; diff --git a/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/segment_selector.hpp b/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/segment_selector.hpp index 82719bc..2a7704e 100644 --- a/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/segment_selector.hpp +++ b/arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/segment_selector.hpp @@ -17,7 +17,7 @@ namespace teachos::arch::context_switching::interrupt_descriptor_table struct [[gnu::packed]] segment_selector { /** - * @brief Possible set bits in our underlying std::bitset and the meaning when they are set. + * @brief Possible set bits in our underlying bits and the meaning when they are set. */ enum bitset : uint8_t { @@ -67,7 +67,8 @@ namespace teachos::arch::context_switching::interrupt_descriptor_table auto contains_flags(std::bitset<3U> other) const -> bool; /** - * @brief Gets the index into the global descriptor table this segment selector is pointing too. + * @brief Gets the index into the global descriptor table or the local descriptor table this segment selector is + * pointing too. * * @return Underlying value of the index field, bit 3 - 16. */ diff --git a/arch/x86_64/include/arch/context_switching/segment_descriptor_table/access_byte.hpp b/arch/x86_64/include/arch/context_switching/segment_descriptor_table/access_byte.hpp index 621b570..7450330 100644 --- a/arch/x86_64/include/arch/context_switching/segment_descriptor_table/access_byte.hpp +++ b/arch/x86_64/include/arch/context_switching/segment_descriptor_table/access_byte.hpp @@ -14,7 +14,7 @@ namespace teachos::arch::context_switching::segment_descriptor_table struct [[gnu::packed]] access_byte { /** - * @brief Possible set bits in our underlying std::bitset and the meaning when they are set. + * @brief Possible set bits in our underlying bits and the meaning when they are set. */ enum bitset : uint8_t { diff --git a/arch/x86_64/include/arch/context_switching/segment_descriptor_table/gdt_flags.hpp b/arch/x86_64/include/arch/context_switching/segment_descriptor_table/gdt_flags.hpp index 4b84035..e24b988 100644 --- a/arch/x86_64/include/arch/context_switching/segment_descriptor_table/gdt_flags.hpp +++ b/arch/x86_64/include/arch/context_switching/segment_descriptor_table/gdt_flags.hpp @@ -14,7 +14,7 @@ namespace teachos::arch::context_switching::segment_descriptor_table struct [[gnu::packed]] gdt_flags { /** - * @brief Possible set bits in our underlying std::bitset and the meaning when they are set. + * @brief Possible set bits in our underlying bits and the meaning when they are set. */ enum bitset : uint8_t { 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 2d26668..15b35c1 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,7 +13,7 @@ namespace teachos::arch::interrupt_handling */ struct [[gnu::packed]] interrupt_frame { - // uint64_t error_code; ///< Error code pushed by some exceptions. + // uint64_t error_code; ///< Error code only pushed by some exceptions, therefore it is commented out. uint64_t ip; ///< Instruction pointer at the time of the interrupt. uint64_t cs; ///< Code segment selector indicating privilege level. uint64_t flags; ///< CPU flags (RFLAGS) storing processor state. |
