| iris.hhp |
| 464 | 464 | bool set_flags (unsigned set, unsigned reset = 0): |
| 465 | 465 | call (CAP_MASTER_DIRECT | SET_FLAGS, Num (set, set | reset)) |
| 466 | 466 | return recv.data[0].l == NO_ERROR |
| 467 | | unsigned physical_address (): |
| 467 | unsigned long physical_address (): |
| 468 | 468 | return my_thread.ocall (*this, CAP_MASTER_DIRECT | Thread::PRIV_PHYSICAL_ADDRESS).l |
| 469 | | void alloc_physical (unsigned address, bool cachable, bool freeable): |
| 469 | void alloc_physical (unsigned long address, bool cachable, bool freeable): |
| 470 | 470 | my_thread.ocall (*this, CAP_MASTER_DIRECT | Thread::PRIV_ALLOC_PHYSICAL, (address & PAGE_MASK) | (cachable ? 1 : 0) | (freeable ? 2 : 0)) |
| 471 | 471 | |
| 472 | 472 | struct Listitem : public Cap: |
| ... | ... | |
| 544 | 544 | void destroy (Cap target): |
| 545 | 545 | ocall (target, CAP_MASTER_DIRECT | DESTROY) |
| 546 | 546 | // TODO: LIST |
| 547 | | bool map (Cap page, unsigned address): |
| 547 | bool map (Cap page, unsigned long address): |
| 548 | 548 | return ocall (page, CAP_MASTER_DIRECT | MAP, address).l == NO_ERROR |
| 549 | 549 | bool unmap (Cap page): |
| 550 | 550 | return map (page, ~0) |
| 551 | 551 | Page mapping (void *address): |
| 552 | | icall (CAP_MASTER_DIRECT | MAPPING, Num ((unsigned)address)) |
| 552 | icall (CAP_MASTER_DIRECT | MAPPING, Num ((unsigned long)address)) |
| 553 | 553 | return get_arg () |
| 554 | 554 | unsigned get_limit (): |
| 555 | 555 | return call (CAP_MASTER_DIRECT | GET_LIMIT).l |