Changeset 567807b1 in mainline for generic/src/lib/elf.c


Ignore:
Timestamp:
2006-05-24T17:03:29Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8d6bc2d5
Parents:
82da5f5
Message:

Modify the hierarchy of page fault handlers to pass access mode that caused the fault.
Architectures are required to pass either PF_ACCESS_READ, PF_ACCESS_WRITE or PF_ACCESS_EXEC
to as_page_fault(), depending on the cause of the fault.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • generic/src/lib/elf.c

    r82da5f5 r567807b1  
    5757static int load_segment(elf_segment_header_t *entry, elf_header_t *elf, as_t *as);
    5858
    59 static int elf_page_fault(as_area_t *area, __address addr);
     59static int elf_page_fault(as_area_t *area, __address addr, pf_access_t access);
    6060static void elf_frame_free(as_area_t *area, __address page, __address frame);
    6161
     
    226226 * @param area Pointer to the address space area.
    227227 * @param addr Faulting virtual address.
     228 * @param access Access mode that caused the fault (i.e. read/write/exec).
    228229 *
    229230 * @return AS_PF_FAULT on failure (i.e. page fault) or AS_PF_OK on success (i.e. serviced).
    230231 */
    231 int elf_page_fault(as_area_t *area, __address addr)
     232int elf_page_fault(as_area_t *area, __address addr, pf_access_t access)
    232233{
    233234        elf_header_t *elf = (elf_header_t *) area->backend_data[0];
Note: See TracChangeset for help on using the changeset viewer.