(FILECREATED "18-Nov-85 17:08:04" {ERIS}<LISPCORE>DOVE>VMEMSIZEPATCH.;8 6562 changes to: (VARS VMEMSIZEPATCHCOMS) (FNS \Dove.FixVMemSize \Dove.GetBootFileDescriptor \PV.DiskFileIDOfBootFile \PV.LVDescFromDiskAddress \PV.ReadPVRootPage \PV.DiskPageNumber \PV.MapSubVolumes \Dove.GetVMemSize VMemSizePatchEventFN) previous date: " 8-Nov-85 11:47:34" {ERIS}<LISPCORE>DOVE>VMEMSIZEPATCH.;7) (* Copyright (c) 1985 by Xerox Corporation. All rights reserved.) (PRETTYCOMPRINT VMEMSIZEPATCHCOMS) (RPAQQ VMEMSIZEPATCHCOMS ((DECLARE: DONTCOPY (FILES (LOADCOMP) <LISPCORE>SOURCES>LOCALFILE <LISPCORE>DOVE>LISPOTHELLO) (MACROS \PV.SubVolumeDescFromVol#)) [INITVARS (\LispOthello.PhysicalVolumeRootPage (NCREATE (QUOTE VMEMPAGEP)) ) (\LispOthello.FileDescriptor (NCREATE (QUOTE FileDescriptor))) (\LispOthello.Label (NCREATE (QUOTE VMEMPAGEP] (GLOBALVARS \LispOthello.PhysicalVolumeRootPage \LispOthello.FileDescriptor \LispOthello.Label) (FNS \Dove.FixVMemSize \Dove.GetBootFileDescriptor \PV.DiskFileIDOfBootFile \PV.LVDescFromDiskAddress \PV.ReadPVRootPage \PV.DiskPageNumber \PV.MapSubVolumes \Dove.GetVMemSize VMemSizePatchEventFN) (P (\Dove.FixVMemSize)) (ADDVARS (AROUNDEXITFNS VMemSizePatchEventFN)))) (DECLARE: DONTCOPY (FILESLOAD (LOADCOMP) <LISPCORE>SOURCES>LOCALFILE <LISPCORE>DOVE>LISPOTHELLO) (DECLARE: EVAL@COMPILE [DEFMACRO \PV.SubVolumeDescFromVol# (vol#) (BQUOTE (\ADDBASE (fetch (PhysicalVolumeDescriptor subVolumes) of \LispOthello.PhysicalVolumeRootPage) (TIMES , vol# (MESASIZE SubVolumeDesc] ) ) (RPAQ? \LispOthello.PhysicalVolumeRootPage (NCREATE (QUOTE VMEMPAGEP))) (RPAQ? \LispOthello.FileDescriptor (NCREATE (QUOTE FileDescriptor))) (RPAQ? \LispOthello.Label (NCREATE (QUOTE VMEMPAGEP))) (DECLARE: DOEVAL@COMPILE DONTCOPY (GLOBALVARS \LispOthello.PhysicalVolumeRootPage \LispOthello.FileDescriptor \LispOthello.Label) ) (DEFINEQ (\Dove.FixVMemSize [LAMBDA NIL (* edited: " 5-Nov-85 19:40") (COND ((EQ (MACHINETYPE) (QUOTE DOVE)) (replace (IFPAGE DLLastVmemPage) of \InterfacePage with (IDIFFERENCE ( \Dove.GetVMemSize) 2]) (\Dove.GetBootFileDescriptor [LAMBDA (BootFileType) (* edited: " 5-Nov-85 18:13") (* * Find the logical volume of the boot file of type BootFileType. Return the leader page for that file) (LET* [(DiskFileID (\PV.DiskFileIDOfBootFile BootFileType)) (FileID (\GETBASE DiskFileID 0)) (PilotDiskAddress (fetch (DiskFileID da) of DiskFileID)) [LVDesc (COND ((NEQ PilotDiskAddress 0) (\PV.LVDescFromDiskAddress PilotDiskAddress] (vol# (COND (LVDesc (GETHASH LVDesc \DFSLogicalVolumeHash] (COND (vol# (replace (FileDescriptor fileID) of \LispOthello.FileDescriptor with FileID) (replace (FileDescriptor volNum) of \LispOthello.FileDescriptor with vol#) (replace (FileDescriptor type) of \LispOthello.FileDescriptor with tDiagnosticMicrocode) \LispOthello.FileDescriptor]) (\PV.DiskFileIDOfBootFile [LAMBDA (N) (* ejs: "10-Sep-85 01:16") (\ADDBASE (fetch (PhysicalVolumeDescriptor bootingInfo) of \LispOthello.PhysicalVolumeRootPage) (ITIMES N (MESASIZE DiskFileID]) (\PV.LVDescFromDiskAddress [LAMBDA (PilotDiskAddress) (* ejs: " 9-Sep-85 23:38") (LET ((DiskPageNumber (\PV.DiskPageNumber PilotDiskAddress))) (\PV.MapSubVolumes (FUNCTION (LAMBDA (SVDesc LVDesc) (LET* [(FirstPage (fetch (SubVolumeDesc pvPage) of SVDesc)) (LastPage (IPLUS FirstPage (fetch (SubVolumeDesc nPages) of SVDesc] (COND ((AND (IGEQ DiskPageNumber FirstPage) (ILEQ DiskPageNumber LastPage)) (RETFROM (QUOTE \PV.LVDescFromDiskAddress) LVDesc]) (\PV.ReadPVRootPage [LAMBDA NIL (* ejs: "10-Sep-85 23:49") (\PFTransferPage 0 \LispOthello.PhysicalVolumeRootPage (QUOTE VRR) \LispOthello.Label) (COND ((NEQ (fetch (PhysicalVolumeDescriptor seal) of \LispOthello.PhysicalVolumeRootPage) \PV.RootSeal) (ERROR "Physical volume root page seal is invalid!" (fetch (PhysicalVolumeDescriptor seal) of \LispOthello.PhysicalVolumeRootPage))) (T \LispOthello.PhysicalVolumeRootPage]) (\PV.DiskPageNumber [LAMBDA (PilotDiskAddress) (* ejs: " 9-Sep-85 23:03") (* * Returns the disk page number for the Pilot disk address) (IPLUS (ITIMES (fetch (PilotDiskAddress Cylinder) of PilotDiskAddress) \DLDISKSHAPE.SECTORSPERCYLINDER) (ITIMES (fetch (PilotDiskAddress Head) of PilotDiskAddress) \DLDISKSHAPE.SECTORSPERHEAD) (fetch (PilotDiskAddress Sector) of PilotDiskAddress]) (\PV.MapSubVolumes [LAMBDA (FUNCTION) (* ejs: "10-Sep-85 17:32") (bind SVDesc for SVIndex from 0 to (SUB1 (fetch (PhysicalVolumeDescriptor subVolumeCount) of \LispOthello.PhysicalVolumeRootPage)) eachtime (SETQ SVDesc (\PV.SubVolumeDescFromVol# SVIndex)) do (APPLY* FUNCTION SVDesc (ELT \DFSLogicalVolumes SVIndex) SVIndex]) (\Dove.GetVMemSize [LAMBDA NIL (* edited: " 5-Nov-85 19:03") (\PV.ReadPVRootPage) (\PFFindFileSize (\Dove.GetBootFileDescriptor 2]) (VMemSizePatchEventFN [LAMBDA (EVENT) (* amd "18-Nov-85 17:07") (SELECTQ EVENT ((AFTERSYSOUT AFTERLOGOUT AFTERSAVEVM AFTERMAKESYS) (\PFEnsureInitialized) (\Dove.FixVMemSize)) NIL]) ) (\Dove.FixVMemSize) (ADDTOVAR AROUNDEXITFNS VMemSizePatchEventFN) (PUTPROPS VMEMSIZEPATCH COPYRIGHT ("Xerox Corporation" 1985)) (DECLARE: DONTCOPY (FILEMAP (NIL (2045 6407 (\Dove.FixVMemSize 2055 . 2387) (\Dove.GetBootFileDescriptor 2389 . 3375) ( \PV.DiskFileIDOfBootFile 3377 . 3663) (\PV.LVDescFromDiskAddress 3665 . 4298) (\PV.ReadPVRootPage 4300 . 4887) (\PV.DiskPageNumber 4889 . 5401) (\PV.MapSubVolumes 5403 . 5922) (\Dove.GetVMemSize 5924 . 6132) (VMemSizePatchEventFN 6134 . 6405))))) STOP