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) |
|
#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) |
|
◆ 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 | ) |
|
Value:{ 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 ) |
Value:(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 |