Pip
Architecture-dependent parts of Pip: MAL, IAL and boot
|
IO-ports for x86. More...
Functions | |
static uint32_t | ioAccessValid (uint16_t port) |
void | outb (uint16_t port, uint8_t value) |
IO port write byte. More... | |
void | outw (uint16_t port, uint16_t value) |
IO port write word. More... | |
void | outl (uint16_t port, uint32_t value) |
Out operation on 4-byte value. More... | |
uint8_t | inb (uint16_t port) |
IO port read byte. More... | |
uint16_t | inw (uint16_t port) |
IO port read word. More... | |
uint32_t | inl (uint16_t port) |
In operation on a 4-bytes value. More... | |
void | faultToParent (uint32_t data1, uint32_t data2, gate_ctx_t *ctx) |
Dispatch an access fault to the parent partition. More... | |
void | outbGlue (gate_ctx_t *ctx, uint32_t port, uint32_t value) |
Glue function for outb callgate. More... | |
void | outwGlue (gate_ctx_t *ctx, uint32_t port, uint32_t value) |
Glue function for outw callgate. More... | |
void | outlGlue (gate_ctx_t *ctx, uint32_t port, uint32_t value) |
Glue function for outl callgate. More... | |
void | outaddrlGlue (gate_ctx_t *ctx, uint32_t port, uint32_t value) |
Glue function for outaddrl callgate. More... | |
uint32_t | inbGlue (gate_ctx_t *ctx, uint32_t port) |
Glue function for inb callgate. More... | |
uint32_t | inwGlue (gate_ctx_t *ctx, uint32_t port) |
Glue function for inw callgate. More... | |
uint32_t | inlGlue (gate_ctx_t *ctx, uint32_t port) |
Glue function for inl callgate. More... | |
uint32_t | timerGlue (void) |
Glue function for timer callgate. More... | |
IO-ports for x86.
void faultToParent | ( | uint32_t | data1, |
uint32_t | data2, | ||
gate_ctx_t * | ctx | ||
) |
Dispatch an access fault to the parent partition.
data1 | First data to pass |
data2 | Second data to pass |
ctx | Interrupted context |
uint8_t inb | ( | uint16_t | port | ) |
IO port read byte.
In operation on 1-byte value.
port | The port number |
uint32_t inbGlue | ( | gate_ctx_t * | ctx, |
uint32_t | port | ||
) |
Glue function for inb callgate.
port | Target IO port |
ctx | Interrupted context |
uint32_t inl | ( | uint16_t | port | ) |
In operation on a 4-bytes value.
port | The port number |
uint32_t inlGlue | ( | gate_ctx_t * | ctx, |
uint32_t | port | ||
) |
Glue function for inl callgate.
port | Target IO port |
ctx | Interrupted context |
uint16_t inw | ( | uint16_t | port | ) |
IO port read word.
In operation on a 2-bytes value.
port | The port number |
uint32_t inwGlue | ( | gate_ctx_t * | ctx, |
uint32_t | port | ||
) |
Glue function for inw callgate.
port | Target IO port |
ctx | Interrupted context |
|
static |
void outaddrlGlue | ( | gate_ctx_t * | ctx, |
uint32_t | port, | ||
uint32_t | value | ||
) |
Glue function for outaddrl callgate.
port | Target IO port |
value | The value to write |
ctx | Interrupted context |
void outb | ( | uint16_t | port, |
uint8_t | value | ||
) |
IO port write byte.
Out operation on 1-byte value.
port | The port number |
value | The value to write |
void outbGlue | ( | gate_ctx_t * | ctx, |
uint32_t | port, | ||
uint32_t | value | ||
) |
Glue function for outb callgate.
port | Target IO port |
value | The value to write |
ctx | Interrupted context |
void outl | ( | uint16_t | port, |
uint32_t | value | ||
) |
Out operation on 4-byte value.
port | The port number |
value | The value to write |
void outlGlue | ( | gate_ctx_t * | ctx, |
uint32_t | port, | ||
uint32_t | value | ||
) |
Glue function for outl callgate.
port | Target IO port |
value | The value to write |
ctx | Interrupted context |
void outw | ( | uint16_t | port, |
uint16_t | value | ||
) |
IO port write word.
Out operation on 2-byte value.
port | The port number |
value | The value to write |
void outwGlue | ( | gate_ctx_t * | ctx, |
uint32_t | port, | ||
uint32_t | value | ||
) |
Glue function for outw callgate.
port | Target IO port |
value | The value to write |
ctx | Interrupted context |
uint32_t timerGlue | ( | void | ) |
Glue function for timer callgate.