Ignore:
Timestamp:
Apr 16, 2007, 6:38:19 AM (13 years ago)
Author:
gb
Message:

Call out to lisp on unhandled memory faults.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lisp-kernel/x86-exceptions.c

    r6264 r6272  
    552552
    553553Boolean
     554is_write_fault(ExceptionInformation *xp, siginfo_t *info)
     555{
     556#ifdef DARWIN
     557  return (UC_MCONTEXT(xp)->__es.__err & 0x2) != 0;
     558#endif
     559}
     560
     561Boolean
    554562handle_fault(TCR *tcr, ExceptionInformation *xp, siginfo_t *info)
    555563{
     
    572580      return handler(xp, a, addr);
    573581    }
     582  }
     583  {
     584    LispObj xcf = create_exception_callback_frame(xp),
     585      cmain = nrs_CMAIN.vcell;
     586    callback_to_lisp(tcr, cmain, xp, xcf, SIGBUS, is_write_fault(xp,info), (natural)addr, 0);
    574587  }
    575588  return false;
Note: See TracChangeset for help on using the changeset viewer.