Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Patch for System 301.1 ([efda008e5b], [9e22d1d0a1], [9a19ae6d2e], [4c039f148c], [d026842da3]). |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
f2ac23283ebeaea968b595d360977f81 |
User & Date: | ams 2024-11-25 19:45:49 |
Original Comment: | Patch for System 301.1. |
Context
2024-11-27
| ||
13:18 | sys2/unfasl.lisp.24, sys2/unfasl.lisp.25, sys2/unfasl.lisp.26, sys2/unfasl.lisp.27, sys2/unfasl.lisp.28, sys2/unfasl.lisp.29, sys2/unfasl.lisp.30: Add files from System 130. check-in: b46f762d00 user: ams tags: trunk | |
2024-11-25
| ||
19:45 | Patch for System 301.1 ([efda008e5b], [9e22d1d0a1], [9a19ae6d2e], [4c039f148c], [d026842da3]). check-in: f2ac23283e user: ams tags: trunk | |
19:41 | io/disk.lisp (REALLY-PAGE-OUT-PAGE): Use REGION-BITS instead of %REGION-BITS. check-in: efda008e5b user: ams tags: trunk | |
Changes
Added patch/system-301-1.lisp.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | ;;; -*- Mode:Lisp; Readtable:T; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 301.1 ;;; Reason: ;;; REALLY-PAGE-OUT-PAGE, COUNT-DIRTY-PAGES, CLEAN-DIRTY-PAGES: New functions. ;;; Written 25-Nov-24 20:42:38 by ams, ;;; while running on Lisp Machine One from band 3 ;;; with Experimental System 301.0, Experimental ZWEI 129.0, microcode 323, Dist. ; From file OZ: /sys/io/disk.lisp at 25-Nov-24 20:42:45 #8R SYSTEM-INTERNALS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS"))) (COMPILER::PATCH-SOURCE-FILE "OZ: //sys//io//disk" (DEFUN REALLY-PAGE-OUT-PAGE (ADDRESS &AUX CCWP PS PHYS-ADR) "Write it on the disk, changing in-core page table status to RWF, etc." (select-processor ((:lambda :cadr) (WITHOUT-INTERRUPTS (SETQ ADDRESS (%POINTER ADDRESS)) (UNWIND-PROTECT (PROG () (WIRE-PAGE-RQB) (SETQ CCWP %DISK-RQ-CCW-LIST) ;; We collect some page frames to put them in, remembering the ;; PFNs as CCWs. (COND ((OR (NULL (SETQ PS (%PAGE-STATUS ADDRESS))) (= 0 (LDB %%PHT1-MODIFIED-BIT PS)) (NULL (SETQ PHYS-ADR (%PHYSICAL-ADDRESS ADDRESS)))) (RETURN NIL)) (T (LET ((PFN (LSH PHYS-ADR -8))) (ASET (1+ (LSH PFN 8)) PAGE-RQB CCWP) (ASET (LSH PFN -8) PAGE-RQB (1+ CCWP))) (SETQ CCWP (+ 2 CCWP)) (ASET (LOGAND (AREF PAGE-RQB (- CCWP 2)) -2) ;Turn off chain bit PAGE-RQB (- CCWP 2)) (DISK-WRITE-WIRED PAGE-RQB 0 (+ (LSH ADDRESS -8) PAGE-OFFSET)) (%CHANGE-PAGE-STATUS ADDRESS (+ 1_23. %PHT-SWAP-STATUS-FLUSHABLE) (LDB %%REGION-MAP-BITS (REGION-BITS (%REGION-NUMBER ADDRESS)))) (RETURN T) ))) ;; UNWIND-PROTECT forms (UNWIRE-PAGE-RQB) ))) (:explorer nil))) )) ; From file OZ: /sys/sys/qmisc.lisp at 25-Nov-24 20:43:11 #8R SYSTEM-INTERNALS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS"))) (COMPILER::PATCH-SOURCE-FILE "OZ: //sys//sys//qmisc" (DEFUN COUNT-WIRED-PAGES () (DECLARE (VALUES NUMBER-OF-WIRED-PAGES NUMBER-OF-FIXED-WIRED-PAGES)) (DO ((ADR (REGION-ORIGIN PAGE-TABLE-AREA) (+ ADR 2)) (N (TRUNCATE (SYSTEM-COMMUNICATION-AREA %SYS-COM-PAGE-TABLE-SIZE) 2) (1- N)) (N-WIRED 0)) ((ZEROP N) (DO ((ADR (REGION-ORIGIN PHYSICAL-PAGE-DATA) (1+ ADR)) (N (TRUNCATE (SYSTEM-COMMUNICATION-AREA %SYS-COM-MEMORY-SIZE) PAGE-SIZE) (1- N)) (N-FIXED-WIRED 0)) ((ZEROP N) (RETURN (VALUES (+ N-WIRED N-FIXED-WIRED) N-FIXED-WIRED))) (AND (= (%P-LDB #o0020 ADR) #o177777) ( (%P-LDB #o2020 ADR) #o177777) (SETQ N-FIXED-WIRED (1+ N-FIXED-WIRED))))) (AND (NOT (ZEROP (%P-LDB %%PHT1-VALID-BIT ADR))) (= (%P-LDB %%PHT1-SWAP-STATUS-CODE ADR) %PHT-SWAP-STATUS-WIRED) (INCF N-WIRED)))) (DEFUN COUNT-DIRTY-PAGES () (DO ((ADR (REGION-ORIGIN PAGE-TABLE-AREA) (+ ADR 2)) (N (TRUNCATE (AREF (SYMBOL-FUNCTION 'SYSTEM-COMMUNICATION-AREA) %SYS-COM-PAGE-TABLE-SIZE) 2) (1- N)) (N-DIRTY 0)) ((ZEROP N) N-DIRTY) (COND ((AND (NOT (ZEROP (%P-LDB %%PHT1-VALID-BIT ADR))) (NOT (= (%P-LDB %%PHT1-SWAP-STATUS-CODE ADR) %PHT-SWAP-STATUS-WIRED)) (OR (= (%P-LDB %%PHT1-MODIFIED-BIT ADR) 1) (= (%P-LDB %%PHT2-MAP-STATUS-CODE (1+ ADR)) %PHT-MAP-STATUS-READ-WRITE))) (SETQ N-DIRTY (1+ N-DIRTY)))))) (DEFUN CLEAN-DIRTY-PAGES () (DO ((ADR (REGION-ORIGIN PAGE-TABLE-AREA) (+ ADR 2)) (N (TRUNCATE (AREF (SYMBOL-FUNCTION 'SYSTEM-COMMUNICATION-AREA) %SYS-COM-PAGE-TABLE-SIZE) 2) (1- N)) (N-DIRTY 0)) ((ZEROP N) N-DIRTY) (COND ((AND (NOT (ZEROP (%P-LDB %%PHT1-VALID-BIT ADR))) (NOT (= (%P-LDB %%PHT1-SWAP-STATUS-CODE ADR) %PHT-SWAP-STATUS-WIRED)) (OR (= (%P-LDB %%PHT1-MODIFIED-BIT ADR) 1) (= (%P-LDB %%PHT2-MAP-STATUS-CODE (1+ ADR)) %PHT-MAP-STATUS-READ-WRITE))) (SETQ N-DIRTY (1+ N-DIRTY)) (REALLY-PAGE-OUT-PAGE (LSH (%P-LDB %%PHT1-VIRTUAL-PAGE-NUMBER ADR) 8.)))))) )) |
Changes to patch/system-301.patch-directory.
1 2 | ;;; -*- Mode:LISP; Package:USER; Base:10; Readtable:T; Patch-File:T -*- ;;; Patch directory for System version 301 | | | | > | 1 2 3 4 5 6 7 8 9 10 | ;;; -*- Mode:LISP; Package:USER; Base:10; Readtable:T; Patch-File:T -*- ;;; Patch directory for System version 301 ;;; Written 25-Nov-24 20:44:18 by ams, ;;; while running on Lisp Machine One from band 3 ;;; with Experimental System 301.0, Experimental ZWEI 129.0, microcode 323, Dist. (:EXPERIMENTAL ((0 "System Loaded" "ams" NIL) (1 "REALLY-PAGE-OUT-PAGE, COUNT-DIRTY-PAGES, CLEAN-DIRTY-PAGES: New functions." "ams" NIL) )) |