Pager interface including the Io_pager interface.
More...
|
typedef Pager | Class |
| The target interface type (inheriting from Kobject_t)
|
|
typedef Typeid::Iface< PROTO, Pager > | __Iface |
| The interface description for the derived class.
|
|
typedef Typeid::Merge_list< Typeid::Iface_list< __Iface >, typename Io_pager ::__Iface_list > | __Iface_list |
| The list of all RPC interfaces provided directly or through inheritance.
|
|
L4::Cap< Class > | c () const |
| Get the capability to ourselves.
|
|
static void | __check_protocols__ () |
| Helper to check for protocol conflicts.
|
|
Pager interface including the Io_pager interface.
Definition at line 67 of file pager.
◆ page_fault()
Page-fault protocol message.
- Parameters
-
| pfa | Faulting address including failure reason: bits [0:2] |
| pc | Faulting program counter. |
[out] | result | Optional: handling result value. |
| rwin | Receive window for a flex-page mapping resolving the page fault |
[out] | fp | Optional: flex-page descriptor to send to the task raising the page fault. |
- Returns
- System call message tag; use l4_error() to check for errors.
Page-fault messages are usually generated by the kernel and need to be handled by an appropriate handler funtion that fills in result
and / or fp
for the reply.
pfa
encoding is as shown:
[63/31 .. 3] | 2 | 1 | 0 |
PFA | X | W | T |
- PFA Bits 63/31..3 of
pfa
are the page fault address bits 63/31 to 3, bits 2..0 are masked.
- X Bit 2 of
pfa
is set to 1 for a page fault during instruction fetch.
- W Bit 1 of
pfa
is set to 1 for a page fault due to a write operation.
- T Bit 0 of
pfa
is set for translation faults (no mapping was present).
The documentation for this class was generated from the following file: