Changeset 204
- Timestamp:
- Jan 5, 2004, 6:02:10 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/ccl/compiler/PPC/PPC32/ppc32-arch.lisp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/compiler/PPC/PPC32/ppc32-arch.lisp
r188 r204 18 18 ;; This file matches "ccl:pmcl;constants.h" & "ccl:pmcl;constants.s" 19 19 20 (defpackage "PPC32" 21 (:use "CL") 22 #+ppc32-target 23 (:nicknames "TARGET")) 24 25 20 26 (in-package "PPC32") 21 27 22 28 (eval-when (:compile-toplevel :load-toplevel :execute) 23 (require "PPC-ARCH")) 24 25 26 (in-package "PPC32") 29 (require "PPC-ARCH") 27 30 28 31 … … 54 57 (defconstant ,(ccl::form-symbol name ".ELEMENT-COUNT") ,(length non-header-cells)))) 55 58 59 60 ) 56 61 57 62 (eval-when (:compile-toplevel :load-toplevel :execute) … … 528 533 (defconstant eabi-c-frame.minsize eabi-c-frame.size) 529 534 535 (defmacro define-header (name element-count subtag) 536 `(defconstant ,name (logior (ash ,element-count num-subtag-bits) ,subtag))) 537 538 (define-header single-float-header single-float.element-count subtag-single-float) 539 (define-header double-float-header double-float.element-count subtag-double-float) 540 (define-header one-digit-bignum-header 1 subtag-bignum) 541 (define-header two-digit-bignum-header 2 subtag-bignum) 542 (define-header symbol-header symbol.element-count subtag-symbol) 543 (define-header value-cell-header value-cell.element-count subtag-value-cell) 544 (define-header macptr-header macptr.element-count subtag-macptr) 530 545 531 546 … … 536 551 537 552 553 554 555 (defun %kernel-global (sym) 556 (let* ((pos (position sym ppc::*ppc-kernel-globals* :test #'string=))) 557 (if pos 558 (- (+ fulltag-nil (* (1+ pos) 4))) 559 (error "Unknown kernel global : ~s ." sym)))) 560 561 (defmacro kernel-global (sym) 562 (let* ((pos (position sym ppc::*ppc-kernel-globals* :test #'string=))) 563 (if pos 564 (- (+ fulltag-nil (* (1+ pos) 4))) 565 (error "Unknown kernel global : ~s ." sym)))) 566 567 ; The kernel imports things that are defined in various other libraries for us. 568 ; The objects in question are generally fixnum-tagged; the entries in the 569 ; "kernel-imports" vector are 4 bytes apart. 570 (ccl::defenum (:prefix "KERNEL-IMPORT-" :start 0 :step 4) 571 fd-setsize-bytes 572 do-fd-set 573 do-fd-clr 574 do-fd-is-set 575 do-fd-zero 576 MakeDataExecutable 577 GetSharedLibrary 578 FindSymbol 579 malloc 580 free 581 allocate_tstack 582 allocate_vstack 583 register_cstack 584 condemn-area 585 metering-control 586 restore-soft-stack-limit 587 egc-control 588 lisp-bug 589 NewThread 590 YieldToThread 591 DisposeThread 592 ThreadCurrentStackSpace 593 usage-exit 594 save-fp-context 595 restore-fp-context 596 put-altivec-registers 597 get-altivec-registers 598 new-semaphore 599 wait-on-semaphore 600 signal-semaphore 601 destroy-semaphore 602 new-recursive-lock 603 lock-recursive-lock 604 unlock-recursive-lock 605 destroy-recursive-lock 606 suspend-other-threads 607 resume-other-threads 608 suspend-tcr 609 resume-tcr 610 rwlock-new 611 rwlock-destroy 612 rwlock-rlock 613 rwlock-wlock 614 rwlock-unlock 615 recursive-lock-trylock 616 foreign-name-and-offset 617 ) 618 619 (defmacro nrs-offset (name) 620 (let* ((pos (position name ppc::*ppc-nilreg-relative-symbols* :test #'eq))) 621 (if pos (+ t-offset (* pos symbol.size))))) 622 623 624 (defconstant reservation-discharge #x1004) 625 538 626 (provide "PPC32-ARCH")
Note:
See TracChangeset
for help on using the changeset viewer.
