X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fhppa%2Fparms.lisp;h=4ad2bf1a656972bd8a083dc8703c8c023cd2c775;hb=942e45e3bb73fd55786e4a0ab4590324063c0c89;hp=3ebb8b24926865a3c09d0e22231d070e2eda8c2a;hpb=8a19c6876412b8ad1cf729297c2a373d63a0d0ec;p=sbcl.git diff --git a/src/compiler/hppa/parms.lisp b/src/compiler/hppa/parms.lisp index 3ebb8b2..4ad2bf1 100644 --- a/src/compiler/hppa/parms.lisp +++ b/src/compiler/hppa/parms.lisp @@ -3,17 +3,16 @@ ;;;; Machine Architecture parameters: -(def!constant n-word-bits 32 - "Number of bits per word where a word holds one lisp descriptor.") +;;; number of bits per word where a word holds one lisp descriptor +(def!constant n-word-bits 32) -(def!constant n-byte-bits 8 - "Number of bits per byte where a byte is the smallest addressable object.") +;;; the natural width of a machine word (as seen in e.g. register width, +;;; address space) +(def!constant n-machine-word-bits 32) -(def!constant word-shift (1- (integer-length (/ n-word-bits n-byte-bits))) - "Number of bits to shift between word addresses and byte addresses.") - -(def!constant n-word-bytes (/ n-word-bits n-byte-bits) - "Number of bytes in a word.") +;;; number of bits per byte where a byte is the smallest addressable +;;; object +(def!constant n-byte-bits 8) (def!constant float-sign-shift 31) @@ -55,29 +54,20 @@ (defconstant-eqx float-traps-byte (byte 5 0) #'equal) (defconstant-eqx float-exceptions-byte (byte 5 27) #'equal) (def!constant float-condition-bit (ash 1 26)) -(def!constant float-fast-bit 0) ; No fast mode on HPPA. +(def!constant float-fast-bit 0) ; No fast mode on HPPA. ;;;; Description of the target address space. ;;; Where to put the different spaces. -;;; +;;; (def!constant read-only-space-start #x20000000) (def!constant read-only-space-end #x24000000) -(def!constant binding-stack-start #x24000000) -(def!constant binding-stack-end #x24ff0000) - -(def!constant control-stack-start #x25000000) -(def!constant control-stack-end #x25ff0000) - (def!constant static-space-start #x28000000) (def!constant static-space-end #x2a000000) -(def!constant dynamic-space-start #x30000000) -(def!constant dynamic-space-end #x37fff000) - (def!constant dynamic-0-space-start #x30000000) (def!constant dynamic-0-space-end #x37fff000) (def!constant dynamic-1-space-start #x38000000) @@ -126,11 +116,13 @@ ;; The C startup code must fill these in. *posix-argv* - + ;; Functions that the C code needs to call - sb!impl::maybe-gc + sb!impl::sub-gc sb!kernel::internal-error sb!kernel::control-stack-exhausted-error + sb!kernel::undefined-alien-variable-error + sb!kernel::undefined-alien-function-error sb!di::handle-breakpoint sb!impl::fdefinition-object @@ -142,12 +134,17 @@ ;; Things needed for non-local-exit. *current-catch-block* *current-unwind-protect-block* - + + *binding-stack-start* + *control-stack-start* + *control-stack-end* + ;; Interrupt Handling *free-interrupt-context-index* sb!unix::*interrupts-enabled* sb!unix::*interrupt-pending* - )) + *gc-inhibit* + *gc-pending*)) (defparameter *static-funs* '(length