Go to the source code of this file.
|
#define | SEG_TYPE_LDT 0x2 |
|
#define | SEG_TYPE_TASK_GATE 0x5 |
|
#define | SEG_TYPE_TSS 0x9 |
|
#define | SEG_TYPE_TSS_BUSY 0xB |
|
#define | SEG_TYPE_CALL_GATE 0xC |
|
#define | SEG_TYPE_IRQ_GATE 0xE |
|
#define | SEG_TYPE_TRAP_GATE 0xF |
|
#define | DT_GRAN_BYTE 0 |
|
#define | DT_GRAN_PAGE 1 |
|
#define | DT_READABLE 1 |
|
#define | DT_NON_READABLE 0 |
|
#define | DT_WRITABLE 1 |
|
#define | DT_NON_WRITABLE 0 |
|
#define | DT_EXPAND_DOWN 1 |
|
#define | DT_EXPAND_UP 0 |
|
#define | DT_CONFORM 1 |
|
#define | DT_NONCONFORM 0 |
|
#define | DT_TYPE_SYSTEM 0 |
|
#define | DT_TYPE_CODEDATA 1 |
|
#define | SEG_SELECTOR(index, table, dpl) (index << 3 | table << 2 | dpl) |
|
#define | DT_ZERO_ENTRY { { 0 } } |
|
#define | DT_CODE_SEG_ENTRY(base_p, limit_p, granularity_p, dpl_p, readable_p, conforming_p) |
|
#define | DT_DATA_SEG_ENTRY(base_p, limit_p, granularity_p, dpl_p, writable_p, direction_p) |
|
#define | DT_LDT_ENTRY(base_p, limit_p, granularity_p, dpl_p) |
|
#define | DT_TSS_ENTRY(base_p, limit_p, granularity_p, dpl_p) |
|
#define | DT_TSS_STD_ENTRY(base_p, dpl_p) |
|
#define | DT_TASK_GATE_ENTRY(segment_p, dpl_p) |
|
#define | DT_IRQ_GATE_ENTRY(segment_p, offset_p, dpl_p) |
|
#define | DT_TRAP_GATE_ENTRY(segment_p, offset_p, dpl_p) |
|
#define | DT_CALL_GATE_ENTRY(segment_p, offset_p, dpl_p, param_count_p) |
|
#define | DTE_BASE(dt_entry) |
|
#define | DTE_LIMIT(dt_entry) |
|
#define | DTE_OFFSET(dt_entry) |
|
#define | DT_INIT(entries) { sizeof(entries) - 1, &entries[0] } |
|
◆ DT_CALL_GATE_ENTRY
#define DT_CALL_GATE_ENTRY |
( |
|
segment_p, |
|
|
|
offset_p, |
|
|
|
dpl_p, |
|
|
|
param_count_p |
|
) |
| |
Value: { \
_DESC_COMMON(dpl_p), \
_SEGMENT_AND_OFFSET(segment_p, offset_p), \
.reserved_or_param = (param_count_p), \
.always_0_0 = 0 \
}
#define SEG_TYPE_TRAP_GATE
Definition segmentation.h:31
◆ DT_CODE_SEG_ENTRY
#define DT_CODE_SEG_ENTRY |
( |
|
base_p, |
|
|
|
limit_p, |
|
|
|
granularity_p, |
|
|
|
dpl_p, |
|
|
|
readable_p, |
|
|
|
conforming_p |
|
) |
| |
Value: { \
_DESC_COMMON(dpl_p), \
_LIMIT_AND_BASE(base_p, limit_p, granularity_p), \
.accessed = 0, \
.rw = (readable_p), \
.cd = (conforming_p), \
.executable = 1, \
.descriptor_type = 1 \
}
◆ DT_CONFORM
◆ DT_DATA_SEG_ENTRY
#define DT_DATA_SEG_ENTRY |
( |
|
base_p, |
|
|
|
limit_p, |
|
|
|
granularity_p, |
|
|
|
dpl_p, |
|
|
|
writable_p, |
|
|
|
direction_p |
|
) |
| |
Value: { \
_DESC_COMMON(dpl_p), \
_LIMIT_AND_BASE(base_p, limit_p, granularity_p), \
.accessed = 0, \
.rw = (writable_p), \
.cd = (direction_p), \
.executable = 0, \
.descriptor_type = 1 \
}
◆ DT_EXPAND_DOWN
◆ DT_EXPAND_UP
◆ DT_GRAN_BYTE
◆ DT_GRAN_PAGE
◆ DT_INIT
#define DT_INIT |
( |
|
entries | ) |
{ sizeof(entries) - 1, &entries[0] } |
◆ DT_IRQ_GATE_ENTRY
#define DT_IRQ_GATE_ENTRY |
( |
|
segment_p, |
|
|
|
offset_p, |
|
|
|
dpl_p |
|
) |
| |
Value: { \
_DESC_COMMON(dpl_p), \
_SEGMENT_AND_OFFSET(segment_p, offset_p), \
.always_0_0 = 0 \
}
#define SEG_TYPE_IRQ_GATE
Definition segmentation.h:30
◆ DT_LDT_ENTRY
#define DT_LDT_ENTRY |
( |
|
base_p, |
|
|
|
limit_p, |
|
|
|
granularity_p, |
|
|
|
dpl_p |
|
) |
| |
Value: { \
_DESC_COMMON(dpl_p), \
_LIMIT_AND_BASE(base_p, limit_p, granularity_p), \
}
#define SEG_TYPE_LDT
Definition segmentation.h:25
◆ DT_NON_READABLE
#define DT_NON_READABLE 0 |
◆ DT_NON_WRITABLE
#define DT_NON_WRITABLE 0 |
◆ DT_NONCONFORM
◆ DT_READABLE
◆ DT_TASK_GATE_ENTRY
#define DT_TASK_GATE_ENTRY |
( |
|
segment_p, |
|
|
|
dpl_p |
|
) |
| |
Value: { \
_DESC_COMMON(dpl_p), \
.segment_selector = (segment_p) \
}
#define SEG_TYPE_TASK_GATE
Definition segmentation.h:26
◆ DT_TRAP_GATE_ENTRY
#define DT_TRAP_GATE_ENTRY |
( |
|
segment_p, |
|
|
|
offset_p, |
|
|
|
dpl_p |
|
) |
| |
Value: { \
_DESC_COMMON(dpl_p), \
_SEGMENT_AND_OFFSET(segment_p, offset_p), \
.always_0_0 = 0 \
}
◆ DT_TSS_ENTRY
#define DT_TSS_ENTRY |
( |
|
base_p, |
|
|
|
limit_p, |
|
|
|
granularity_p, |
|
|
|
dpl_p |
|
) |
| |
Value: { \
_DESC_COMMON(dpl_p), \
_LIMIT_AND_BASE(base_p, limit_p, granularity_p), \
}
#define SEG_TYPE_TSS
Definition segmentation.h:27
◆ DT_TSS_STD_ENTRY
#define DT_TSS_STD_ENTRY |
( |
|
base_p, |
|
|
|
dpl_p |
|
) |
| |
Value:
dpl_p)
#define DT_GRAN_BYTE
Definition segmentation.h:33
#define DT_TSS_ENTRY(base_p, limit_p, granularity_p, dpl_p)
Definition segmentation.h:298
Definition segmentation.h:54
◆ DT_TYPE_CODEDATA
#define DT_TYPE_CODEDATA 1 |
◆ DT_TYPE_SYSTEM
◆ DT_WRITABLE
◆ DT_ZERO_ENTRY
#define DT_ZERO_ENTRY { { 0 } } |
◆ DTE_BASE
#define DTE_BASE |
( |
|
dt_entry | ) |
|
Value: ((dt_entry)->base_low | \
((dt_entry)->base_mid << 16) | \
((dt_entry)->base_hi << 24))
◆ DTE_LIMIT
#define DTE_LIMIT |
( |
|
dt_entry | ) |
|
Value: ((dt_entry)->limit_low | \
((dt_entry)->limit_hi << 16))
◆ DTE_OFFSET
#define DTE_OFFSET |
( |
|
dt_entry | ) |
|
Value: ((dt_entry)->offset_low | \
((dt_entry)->offset_hi << 16))
◆ SEG_SELECTOR
#define SEG_SELECTOR |
( |
|
index, |
|
|
|
table, |
|
|
|
dpl |
|
) |
| (index << 3 | table << 2 | dpl) |
◆ SEG_TYPE_CALL_GATE
#define SEG_TYPE_CALL_GATE 0xC |
◆ SEG_TYPE_IRQ_GATE
#define SEG_TYPE_IRQ_GATE 0xE |
◆ SEG_TYPE_LDT
◆ SEG_TYPE_TASK_GATE
#define SEG_TYPE_TASK_GATE 0x5 |
◆ SEG_TYPE_TRAP_GATE
#define SEG_TYPE_TRAP_GATE 0xF |
◆ SEG_TYPE_TSS
◆ SEG_TYPE_TSS_BUSY
#define SEG_TYPE_TSS_BUSY 0xB |