Explorar o código

replace gate_struct64 with unified gate_struct

As described in this:
https://lore.kernel.org/lkml/20170828064957.861974317@linutronix.de/
mail from the lkml.
And changed within this commit:
https://github.com/torvalds/linux/commit/64b163fab684e3de47aa8db6cc08ae7d2e194373#diff-35bcd00365a749ba6cfa246a7dc86a68

The gate_struct was unified for 32 and 64bit machines.
Replaced gate_struct64 definition with that of gate_struct.
Sebastian Fricke %!s(int64=5) %!d(string=hai) anos
pai
achega
1bf6ed1ec9
Modificáronse 1 ficheiros con 9 adicións e 21 borrados
  1. 9 21
      Interrupts/linux-interrupts-1.md

+ 9 - 21
Interrupts/linux-interrupts-1.md

@@ -232,33 +232,21 @@ The `IST` or `Interrupt Stack Table` is a new mechanism in the `x86_64`. It is u
 The `Interrupt Descriptor Table` represented by the array of the `gate_desc` structures:
 
 ```C
-extern gate_desc idt_table[];
+gate_desc idt_table[IDT_ENTRIES] __page_aligned_bss;
 ```
 
-where `gate_desc` is:
+where `gate_struct` is defined as:
 
 ```C
+struct gate_struct {
+	u16		offset_low;
+	u16		segment;
+	struct idt_bits	bits;
+	u16		offset_middle;
 #ifdef CONFIG_X86_64
-...
-...
-...
-typedef struct gate_struct64 gate_desc;
-...
-...
-...
+	u32		offset_high;
+	u32		reserved;
 #endif
-```
-
-and `gate_struct64` defined as:
-
-```C
-struct gate_struct64 {
-        u16 offset_low;
-        u16 segment;
-        unsigned ist : 3, zero0 : 5, type : 5, dpl : 2, p : 1;
-        u16 offset_middle;
-        u32 offset_high;
-        u32 zero1;
 } __attribute__((packed));
 ```