Subversion Repositories HelenOS-historic

Rev

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);