source: branches/ia32/xdump/xx8632-fasload.lisp @ 7332

Last change on this file since 7332 was 7332, checked in by rme, 12 years ago

New files

File size: 1.9 KB
Line 
1;;;-*- Mode: Lisp; Package: CCL -*-
2
3(in-package "CCL")
4
5(eval-when (:compile-toplevel :execute)
6  (require "FASLENV" "ccl:xdump;faslenv")
7  (require "X86-LAP"))
8
9(eval-when (:compile-toplevel :load-toplevel :execute)
10  (require "XFASLOAD" "ccl:xdump;xfasload"))
11
12;;; xxx
13(defun xload-x8632-lap-code (instructions)
14  (let* ((f (%define-x8632-lap-function nil instructions)))
15    (if (= (typecode f) target::subtag-xfunction)
16      (uvref f 0)
17      f)))
18
19;;; xxx
20(defparameter *x8632-macro-apply-code*
21  #xc9cd0000000000)         ;uuo-error-call-macro-or-special-operator
22
23(defun x8632-fixup-macro-apply-code ()
24  *x8632-macro-apply-code*)
25
26(defparameter *x8632-closure-trampoline-code*
27  (xload-x8632-lap-code '((jmp-subprim  .SPcall-closure))))
28
29;;; For now, do this with a UUO so that the kernel can catch it.
30;;; xxx
31(defparameter *x8632-udf-code*
32  #xc7cd0000000000)                     ;uuo-error-udf-call
33
34;;; xxx just a guess
35(defun x8632-initialize-static-space ()
36  (xload-make-ivector *xload-static-space*
37                      (xload-target-subtype :unsigned-32-bit-vector) 
38                      (1- (/ 4096 4))))
39
40(defparameter *x8632-darwin-xload-backend*
41  (make-backend-xload-info
42   :name  :darwinx8632
43   :macro-apply-code-function 'x8632-fixup-macro-apply-code
44   :closure-trampoline-code *x8632-closure-trampoline-code*
45   :udf-code *x8632-udf-code*
46   :default-image-name "ccl:ccl;x86-boot32.image"
47   :default-startup-file-name "level-1.dx32fsl"
48   :subdirs '("ccl:level-0;X86;X8632;" "ccl:level-0;X86;")
49   :compiler-target-name :darwinx8632
50   :image-base-address #x04000000
51   :nil-relative-symbols x86::*x86-nil-relative-symbols*
52   :static-space-init-function 'x8632-initialize-static-space
53   :purespace-reserve (ash 1 26)
54   :static-space-address (ash 2 12)
55))
56
57(add-xload-backend *x8632-darwin-xload-backend*)
58
59#+x8632-target
60(progn
61  #+darwin-target
62  (setq *xload-default-backend* *x8632-darwin-xload-backend*))
Note: See TracBrowser for help on using the repository browser.