source: trunk/source/xdump/xx8632-fasload.lisp @ 11260

Last change on this file since 11260 was 11260, checked in by gb, 11 years ago

xload backend for x8632 Solaris.

File size: 3.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(defparameter *x8632-macro-apply-code*
13  #xc9cd0000)       ;uuo-error-call-macro-or-special-operator
14
15(defun x8632-fixup-macro-apply-code ()
16  *x8632-macro-apply-code*)
17
18;;; For now, do this with a UUO so that the kernel can catch it.
19(defparameter *x8632-udf-code*
20  #xc7cd0000)                   ;uuo-error-udf-call
21
22(defun x8632-initialize-static-space ()
23  (xload-make-ivector *xload-static-space*
24                      (xload-target-subtype :unsigned-32-bit-vector)
25                      (1- (/ 4096 4)))
26  (xload-make-cons *xload-target-nil* *xload-target-nil* *xload-static-space*))
27
28(defparameter *x8632-darwin-xload-backend*
29  (make-backend-xload-info
30   :name  :darwinx8632
31   :macro-apply-code-function 'x8632-fixup-macro-apply-code
32   :closure-trampoline-code nil
33   :udf-code *x8632-udf-code*
34   :default-image-name "ccl:ccl;x86-boot32.image"
35   :default-startup-file-name "level-1.dx32fsl"
36   :subdirs '("ccl:level-0;X86;X8632;" "ccl:level-0;X86;")
37   :compiler-target-name :darwinx8632
38   :image-base-address #x04000000
39   :nil-relative-symbols x86::*x86-nil-relative-symbols*
40   :static-space-init-function 'x8632-initialize-static-space
41   :purespace-reserve (ash 1 26)
42   :static-space-address (+ (ash 1 16) (ash 2 12))
43))
44
45(add-xload-backend *x8632-darwin-xload-backend*)
46
47(defparameter *x8632-linux-xload-backend*
48  (make-backend-xload-info
49   :name  :linuxx8632
50   :macro-apply-code-function 'x8632-fixup-macro-apply-code
51   :closure-trampoline-code nil
52   :udf-code *x8632-udf-code*
53   :default-image-name "ccl:ccl;x86-boot32"
54   :default-startup-file-name "level-1.lx32fsl"
55   :subdirs '("ccl:level-0;X86;X8632;" "ccl:level-0;X86;")
56   :compiler-target-name :linuxx8632
57   :image-base-address #x10000000
58   :nil-relative-symbols x86::*x86-nil-relative-symbols*
59   :static-space-init-function 'x8632-initialize-static-space
60   :purespace-reserve (ash 1 26)
61   :static-space-address (+ (ash 1 16) (ash 2 12))
62))
63
64(add-xload-backend *x8632-linux-xload-backend*)
65
66(defparameter *x8632-windows-xload-backend*
67  (make-backend-xload-info
68   :name  :win32
69   :macro-apply-code-function 'x8632-fixup-macro-apply-code
70   :closure-trampoline-code nil
71   :udf-code *x8632-udf-code*
72   :default-image-name "ccl:ccl;wx86-boot32.image"
73   :default-startup-file-name "level-1.wx32fsl"
74   :subdirs '("ccl:level-0;X86;X8632;" "ccl:level-0;X86;")
75   :compiler-target-name :win32
76   :image-base-address #x04000000
77   :nil-relative-symbols x86::*x86-nil-relative-symbols*
78   :static-space-init-function 'x8632-initialize-static-space
79   :purespace-reserve (ash 1 26)
80   :static-space-address (+ (ash 1 16) (ash 2 12))
81))
82
83(add-xload-backend *x8632-windows-xload-backend*)
84
85(defparameter *x8632-solaris-xload-backend*
86  (make-backend-xload-info
87   :name  :solarisx8632
88   :macro-apply-code-function 'x8632-fixup-macro-apply-code
89   :closure-trampoline-code nil
90   :udf-code *x8632-udf-code*
91   :default-image-name "ccl:ccl;sx86-boot32"
92   :default-startup-file-name "level-1.sx32fsl"
93   :subdirs '("ccl:level-0;X86;X8632;" "ccl:level-0;X86;")
94   :compiler-target-name :solarisx8632
95   :image-base-address #x10000000
96   :nil-relative-symbols x86::*x86-nil-relative-symbols*
97   :static-space-init-function 'x8632-initialize-static-space
98   :purespace-reserve (ash 1 26)
99   :static-space-address (+ (ash 1 16) (ash 2 12))
100))
101
102(add-xload-backend *x8632-solaris-xload-backend*)
103
104#+x8632-target
105(progn
106  #+darwin-target
107  (setq *xload-default-backend* *x8632-darwin-xload-backend*)
108  #+linux-target
109  (setq *xload-default-backend* *x8632-linux-xload-backend*)
110  #+windows-target
111  (setq *xload-default-backend* *x8632-windows-xload-backend*)
112  #+solaris-target
113  (setq *xload-default-backend* *x8632-solaris-xload-backend*))
Note: See TracBrowser for help on using the repository browser.