Changeset 14171


Ignore:
Timestamp:
Aug 11, 2010, 11:54:26 AM (9 years ago)
Author:
gb
Message:

Darwin/ARM changes.

Location:
trunk/source
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/ARM/arm-backend.lisp

    r14119 r14171  
    230230#+darwinarm-target
    231231(defvar *darwinarm-backend*
    232   (make-backend :lookup-opcode #'lookup-arm-opcode
    233                 :lookup-macro #'arm::arm-macro-function
    234                 :lap-opcodes arm::*arm-opcodes*
    235                 :define-vinsn 'define-arm-vinsn
     232  (make-backend :lookup-opcode #'arm::lookup-arm-instruction
     233                :lookup-macro #'false
     234                :lap-opcodes arm::*arm-instruction-table*
     235                :define-vinsn '%define-arm-vinsn
    236236                :platform-syscall-mask (logior platform-os-darwin platform-cpu-arm)               
    237237                :p2-dispatch *arm2-specials*
     
    240240                :p2-compile 'arm2-compile
    241241                :target-specific-features
    242                 '(:powerpc :arm-target :darwin-target :darwinarm-target :arm-target :32-bit-target :big-endian-target)
    243                 :target-fasl-pathname (make-pathname :type "dfsl")
     242                '(:arm :arm-target :darwin-target :darwinarm-target :arm-target :32-bit-target :little-endian-target)
     243                :target-fasl-pathname (make-pathname :type "dafsl")
    244244                :target-platform (logior platform-word-size-32
    245245                                         platform-cpu-arm
     
    301301                           :attributes '(:bits-per-word  32
    302302                                         :signed-char nil
    303                                          :struct-by-value t
    304                                          :float-results-in-x87 t)
     303                                         :struct-by-value t)
    305304                           :ff-call-expand-function
    306305                           (intern "EXPAND-FF-CALL" "ARM-LINUX")
  • trunk/source/compiler/nx1.lisp

    r14121 r14171  
    14431443    address-expression arg-specs-and-result-spec
    14441444    (ecase (backend-name *target-backend*)
    1445       ((:linuxppc32 :linuxarm) (%nx1-operator eabi-ff-call))
     1445      ((:linuxppc32 :linuxarm :darwinarm) (%nx1-operator eabi-ff-call))
    14461446      ((:darwinppc32 :linuxppc64 :darwinppc64) (%nx1-operator poweropen-ff-call))
    14471447      ((:darwinx8632 :linuxx8632 :win32 :solarisx8632 :freebsdx8632) (%nx1-operator i386-ff-call))
  • trunk/source/level-0/l0-init.lisp

    r14119 r14171  
    7878    #+linuxarm-target :linuxarm-target
    7979    #+linuxarm-target :linuxarm-host
     80    #+darwinarm-target :darwinarm-target
     81    #+darwinarm-target :darwinarm-host
    8082    #+darwinppc-target :darwinppc-target
    8183    #+darwinppc-target :darwinppc-host
  • trunk/source/level-1/l1-boot-2.lisp

    r14119 r14171  
    338338      #+(and arm-target linux-target)
    339339      (bin-load-provide "FFI-LINUXARM" "ffi-linuxarm")
     340      #+(and arm-target darwin-target)
     341      (bin-load-provide "FFI-DARWINARM" "ffi-darwinarm")
    340342
    341343
  • trunk/source/level-1/l1-streams.lisp

    r14119 r14171  
    31443144          (setf (ioblock-line-termination ioblock) line-termination)
    31453145
    3146           (setf (ioblock-element-shift ioblock) (max 0 (ceiling (log  (/ in-size-in-octets insize) 2))))
     3146          (setf (ioblock-element-shift ioblock)
     3147                (let* ((octets-per-element (/ in-size-in-octets insize)))
     3148                  (case octets-per-element
     3149                    (1 0)
     3150                    (2 1)
     3151                    (4 2)
     3152                    (8 3)
     3153                    (t (max 0 (ceiling (log octets-per-element 2)))))))
    31473154          )))
    31483155    (when (ioblock-inbuf ioblock)
     
    31703177            (when (eq sharing :lock)
    31713178              (setf (ioblock-outbuf-lock ioblock) (make-lock)))
    3172             (setf (ioblock-element-shift ioblock) (max 0 (ceiling (log (/ out-size-in-octets outsize) 2))))
     3179            (setf (ioblock-element-shift ioblock)
     3180                  (let* ((octets-per-element (/ out-size-in-octets outsize)))
     3181                    (case octets-per-element
     3182                      (1 0)
     3183                      (2 1)
     3184                      (4 2)
     3185                      (8 3)
     3186                      (t
     3187                       (max 0 (ceiling (log octets-per-element 2)))))))
    31733188            ))))
    31743189    (when (ioblock-outbuf ioblock)
  • trunk/source/lib/compile-ccl.lisp

    r14161 r14171  
    159159             (:solarisx8632 'ffi-solarisx8632)
    160160             (:freebsdx8632 'ffi-freebsdx8632)
    161              (:linuxarm 'ffi-linuxarm)))))
     161             (:linuxarm 'ffi-linuxarm)
     162             (:darwinarm 'ffi-darwinarm)))))
    162163
    163164
  • trunk/source/lib/foreign-types.lisp

    r14119 r14171  
    103103                        (:solarisx8632 "ccl:solarisx86-headers;")
    104104                        (:freebsdx8632 "ccl:freebsd-headers;")
    105                         (:linuxarm "ccl:arm-headers;"))
     105                        (:linuxarm "ccl:arm-headers;")
     106                        (:darwinarm "ccl:darwin-arm-headers;"))
    106107                    :interface-package-name
    107108                    #.(ftd-interface-package-name *target-ftd*)
     
    14561457                                        (logand #xffffffffffffffff (ash addr 2))
    14571458                                        (%ptr-to-int addr))))
    1458         #+x8632-target
     1459        #+(or x8632-target arm-target)
    14591460        (format out " (#x~8,'0x) " addr)
    14601461        #+x8664-target
  • trunk/source/lib/systems.lisp

    r14119 r14171  
    163163    (ffi-freebsdx8632 "ccl:bin;ffi-freebsdx8632" ("ccl:lib;ffi-freebsdx8632.lisp"))
    164164    (ffi-linuxarm     "ccl:bin;ffi-linuxarm"     ("ccl:lib;ffi-linuxarm.lisp"))
     165    (ffi-darwinarm    "ccl:bin;ffi-darwinarm"    ("ccl:lib;ffi-darwinarm.lisp"))
    165166    (db-io            "ccl:bin;db-io"            ("ccl:lib;db-io.lisp"))
    166167    (hash             "ccl:bin;hash"             ("ccl:lib;hash.lisp"))
Note: See TracChangeset for help on using the changeset viewer.