aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/gate_descriptor.hpp2
-rw-r--r--arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/idt_flags.hpp6
-rw-r--r--arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/ist_offset.hpp10
-rw-r--r--arch/x86_64/include/arch/context_switching/interrupt_descriptor_table/segment_selector.hpp5
-rw-r--r--arch/x86_64/include/arch/context_switching/segment_descriptor_table/access_byte.hpp2
-rw-r--r--arch/x86_64/include/arch/context_switching/segment_descriptor_table/gdt_flags.hpp2
-rw-r--r--arch/x86_64/include/arch/interrupt_handling/generic_interrupt_handler.hpp2
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.