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 |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
f2ac23283ebeaea968b595d360977f81 |
| User & Date: | ams 2024-11-25 19:45:49.663 |
| 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) )) |