mirror of
https://github.com/0xAX/linux-insides.git
synced 2024-12-22 14:48:08 +00:00
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:
64b163fab6 (diff-35bcd00365a749ba6cfa246a7dc86a68)
The gate_struct was unified for 32 and 64bit machines.
Replaced gate_struct64 definition with that of gate_struct.
This commit is contained in:
parent
73fd0ad5e1
commit
1bf6ed1ec9
@ -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:
|
The `Interrupt Descriptor Table` represented by the array of the `gate_desc` structures:
|
||||||
|
|
||||||
```C
|
```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
|
```C
|
||||||
#ifdef CONFIG_X86_64
|
struct gate_struct {
|
||||||
...
|
|
||||||
...
|
|
||||||
...
|
|
||||||
typedef struct gate_struct64 gate_desc;
|
|
||||||
...
|
|
||||||
...
|
|
||||||
...
|
|
||||||
#endif
|
|
||||||
```
|
|
||||||
|
|
||||||
and `gate_struct64` defined as:
|
|
||||||
|
|
||||||
```C
|
|
||||||
struct gate_struct64 {
|
|
||||||
u16 offset_low;
|
u16 offset_low;
|
||||||
u16 segment;
|
u16 segment;
|
||||||
unsigned ist : 3, zero0 : 5, type : 5, dpl : 2, p : 1;
|
struct idt_bits bits;
|
||||||
u16 offset_middle;
|
u16 offset_middle;
|
||||||
|
#ifdef CONFIG_X86_64
|
||||||
u32 offset_high;
|
u32 offset_high;
|
||||||
u32 zero1;
|
u32 reserved;
|
||||||
|
#endif
|
||||||
} __attribute__((packed));
|
} __attribute__((packed));
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user