//
// Definitions for VMEM package
// last edited December 18, 1978  9:10 AM
//
// Copyright Xerox Corporation 1979


structure BPT:
[	HASHX byte
	NEXT byte	// NEXT MUST BE IN LOW PART OF WORD
			// (FOR @bpt)
]
manifest NEXTmask = #377

structure HM:
[	NKEY word	// 1's complement of key
	FLAGWD word =
	 [ PDIF bit 8	// real page # - virtual AC1[0:7]
	   FLAGS bit 8 =
	    [ WGROUP bit 1	// this is a write group
	      GROUP bit 2 =
	       [ NFPG bit 1	// not first page of group
	         NLPG bit 1	// not last page of group
	       ]
	      blank bit 1
	      DUMMY bit 1
	      NOTREF bit 1	// *** used by microcode
	      CLEAN bit 1	// *** used by microcode
	      blank bit 1
	    ]
	 ]
]
manifest HMflagOffset = 1

structure LC:
[	addr word
	proc word
]
manifest LCsize = 2

manifest
[	PS = 8		// LOG2(VM PAGE SIZE)
	WM = (1 lshift PS)-1
	RepInc = 26	// hash map reprobe increment
	BptSize = #400	// # of buffers
	EmptyVP = -2	// pseudo VP for empty buffers
	NaVP = -3	// pseudo VP for unavailable buffers
	MinDummyVP = -8
]

manifest
[	CLEANbit = #2
	NOTREFbit = #4
	DUMMYbit = #10
	NLPGbit = #40
	NFPGbit = #100
	GROUPbits = NLPGbit+NFPGbit
	WGROUPbit = #200
]