paul@308 | 1 | #include <l4/sys/types.h> /* L4_PROTO_EXCEPTION, L4_PROTO_PAGE_FAULT */ |
paul@308 | 2 | #include <l4/sys/utcb.h> /* l4_exc_regs_t */ |
paul@308 | 3 | |
paul@308 | 4 | /* A system pager interface. */ |
paul@308 | 5 | |
paul@308 | 6 | interface SystemPager |
paul@308 | 7 | { |
paul@308 | 8 | /* Handle an exception involving the given register values, returning a |
paul@308 | 9 | flexpage to remedy the exception. */ |
paul@308 | 10 | |
paul@308 | 11 | [opcode(L4_PROTO_EXCEPTION)] |
paul@308 | 12 | void exception(in l4_exc_regs_t regs, out fpage region); |
paul@308 | 13 | |
paul@308 | 14 | /* Handle a page fault involving the given page fault address and program |
paul@308 | 15 | counter, returning a flexpage to provide such a mapping. */ |
paul@308 | 16 | |
paul@308 | 17 | [opcode(L4_PROTO_PAGE_FAULT)] |
paul@308 | 18 | void page_fault(in l4_umword_t pfa, in l4_umword_t pc, out fpage region); |
paul@308 | 19 | }; |