Skip to content

Commit

Permalink
replace gate_struct64 with unified gate_struct
Browse files Browse the repository at this point in the history
As described in this:
https://lore.kernel.org/lkml/20170828064957.861974317@linutronix.de/
mail from the lkml.
And changed within this commit:
torvalds/linux@64b163f#diff-35bcd00365a749ba6cfa246a7dc86a68

The gate_struct was unified for 32 and 64bit machines.
Replaced gate_struct64 definition with that of gate_struct.
  • Loading branch information
Sebastian Fricke committed Apr 1, 2020
1 parent 73fd0ad commit 1bf6ed1
Showing 1 changed file with 9 additions and 21 deletions.
30 changes: 9 additions & 21 deletions Interrupts/linux-interrupts-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -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));
```

Expand Down

0 comments on commit 1bf6ed1

Please sign in to comment.