sys

Check-in [f2ac23283e]
Login

Check-in [f2ac23283e]

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: f2ac23283ebeaea968b595d360977f81eee286fe1f11de0cb01512438fe81595
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
Hide Diffs Unified Diffs Ignore Whitespace Patch

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
3
4
5
6
7
8

9
;;; -*- Mode:LISP; Package:USER; Base:10; Readtable:T; Patch-File:T -*-
;;; Patch directory for System version 301
;;; Written 4-Nov-24 15:54:14 by ams,
;;; while running on Lisp Machine One from band 2
;;; with Experimental System 300.4, Experimental ZWEI 129.0, microcode 323, TRASH.

(:EXPERIMENTAL
 ((0 "System Loaded" "ams" NIL)

  ))


|
|
|



>

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)
  ))