Rev 1424 | Rev 1539 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1424 | Rev 1425 | ||
---|---|---|---|
Line 61... | Line 61... | ||
61 | * |
61 | * |
62 | * @return AS_PF_FAULT on failure (i.e. page fault) or AS_PF_OK on success (i.e. serviced). |
62 | * @return AS_PF_FAULT on failure (i.e. page fault) or AS_PF_OK on success (i.e. serviced). |
63 | */ |
63 | */ |
64 | int phys_page_fault(as_area_t *area, __address addr, pf_access_t access) |
64 | int phys_page_fault(as_area_t *area, __address addr, pf_access_t access) |
65 | { |
65 | { |
66 | __address base = (__address) area->backend_data.d1; |
66 | __address base = area->backend_data.base; |
67 | count_t frames = (count_t) area->backend_data.d2; |
67 | count_t frames = area->backend_data.frames; |
68 | 68 | ||
69 | if (!as_area_check_access(area, access)) |
69 | if (!as_area_check_access(area, access)) |
70 | return AS_PF_FAULT; |
70 | return AS_PF_FAULT; |
71 | 71 | ||
72 | ASSERT(addr - area->base < frames * FRAME_SIZE); |
72 | ASSERT(addr - area->base < frames * FRAME_SIZE); |