Ignore:
Timestamp:
Jul 5, 2010, 4:05:59 PM (9 years ago)
Author:
gb
Message:

More files from last commit.

arm-callback-support.lisp, arm-error-signal.lisp,
arm-trap-support.lisp,l1-boot-3.lisp: try to get basic stuff working
well enough to enable callbacks. Enable callbacks.

arm-backtrace.lisp: a little bit of platform-specific code and some
code from the PPC port, so that backtrace sort of works.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/arm/level-1/arm-trap-support.lisp

    r13903 r13922  
    3131    (setq register-number (require-type register-number '(integer -3 (18)))))
    3232  (the fixnum (* (the fixnum (+ register-number 3)) arm::node-size)))
     33(defconstant xp-cpsr-regno 16)
    3334)
    3435
     
    4445  (with-xp-registers-and-gpr-offset (xp register-number) (registers offset)
    4546    (values (%get-signed-long registers offset))))
    46 
    4747
    4848(defun xp-gpr-signed-doubleword (xp register-number)
     
    6060                     :signed-fullword fnreg
    6161                     :signed-fullword offset)
    62   (error "xcmain callback")
    63   )
     62  (cond ((eql signal 0) (cmain))
     63        ((or (eql signal #$SIGBUS)
     64             (eql signal #$SIGSEGV))
     65         (%error (make-condition 'invalid-memory-access
     66                                 :address arg
     67                                 :write-p (eql signal #$SIGBUS))
     68                 ()
     69                 (%get-frame-ptr)))
     70        (t
     71         (error "cmain callback: signal = ~d, arg = #x~x, fnreg = ~d, offset = ~d"
     72                signal arg fnreg offset))))
Note: See TracChangeset for help on using the changeset viewer.