X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fhppa%2Fparms.lisp;h=30cba51fb4cca7d89cc5cdcce0e9198f04240670;hb=127fd3d2fb843c6bb7ad0763e143d81877e760e8;hp=6be70c654a5007a959909187b1480c3004af2be3;hpb=34dcb46f78a01d543756703d7ccdf3d999a134d0;p=sbcl.git diff --git a/src/compiler/hppa/parms.lisp b/src/compiler/hppa/parms.lisp index 6be70c6..30cba51 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,23 +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 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) @@ -114,38 +110,11 @@ ;;; The fdefn objects for the static functions are loaded into static ;;; space directly after the static symbols. That way, the raw-addr ;;; can be loaded directly out of them by indirecting relative to NIL. -;;; (defparameter *static-symbols* - '(t - - ;; The C startup code must fill these in. - *posix-argv* - - ;; Functions that the C code needs to call - sb!impl::maybe-gc - sb!kernel::internal-error - sb!kernel::control-stack-exhausted-error - sb!di::handle-breakpoint - sb!impl::fdefinition-object - - ;; Free Pointers. - *read-only-space-free-pointer* - *static-space-free-pointer* - *initial-dynamic-space-free-pointer* - - ;; 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* - )) + (append + *common-static-symbols* + *c-callable-static-symbols* + '())) (defparameter *static-funs* '(length