plan 9 kernel history: overview | file list | diff list

1993/0210/port/portdat.h (diff list | history)

1993/0209/sys/src/9/port/portdat.h:24,291993/0210/sys/src/9/port/portdat.h:24,30 (short | long | prev | next)
Add Physseg. Format edits.
rsc Fri Mar 4 12:44:25 2005
1991/0705    
typedef struct Palloc	Palloc; 
1992/0128    
typedef struct Pgrps	Pgrps; 
1991/0428    
typedef struct Pgrp	Pgrp; 
1993/0210    
typedef struct Physseg	Physseg; 
1991/0428    
typedef struct Proc	Proc; 
1991/0705    
typedef struct Pte	Pte; 
1991/0428    
typedef struct Qinfo	Qinfo; 
1993/0209/sys/src/9/port/portdat.h:408,4291993/0210/sys/src/9/port/portdat.h:409,439
1991/0705    
 
#define SEGMAXSIZE	(SEGMAPSIZE*PTEMAPMEM) 
 
1993/0210    
struct Physseg 
{ 
	ulong	attr;			/* Segment attributes */ 
	char	*name;			/* Attach name */ 
	ulong	pa;			/* Physical address */ 
	ulong	size;			/* Maximum segment size in pages */ 
	Page	*(*pgalloc)(Segment*, ulong);	/* Allocation if we need it */ 
	void	(*pgfree)(Page*); 
}; 
 
1991/0705    
struct Segment 
{ 
	Ref; 
	QLock	lk; 
	ushort	steal;			/* Page stealer lock */ 
	Segment	*next;			/* free list pointers */ 
	ushort	type;			/* segment type */ 
	ulong	base;			/* virtual base */ 
	ulong	top;			/* virtual top */ 
	ulong	size;			/* size in pages */ 
	ulong	fstart;			/* start address in file for demand load */ 
	ulong	flen;			/* length of segment in file */ 
1991/0706    
	int	flushme;		/* maintain consistent icache for this segment */ 
1992/0824    
	Image	*image;			/* text in file attached to this segment */ 
1993/0120    
	Page	*(*pgalloc)(Segment*, ulong);/* SG_PHYSICAL page allocator */ 
1991/0705    
	void	(*pgfree)(Page *);	/* SG_PHYSICAL page free */ 
1993/0210    
	ushort	steal;		/* Page stealer lock */ 
	Segment	*next;		/* free list pointers */ 
	ushort	type;		/* segment type */ 
	ulong	base;		/* virtual base */ 
	ulong	top;		/* virtual top */ 
	ulong	size;		/* size in pages */ 
	ulong	fstart;		/* start address in file for demand load */ 
	ulong	flen;		/* length of segment in file */ 
	int	flushme;	/* maintain consistent icache for this segment */ 
	Image	*image;		/* text in file attached to this segment */ 
	Physseg *pseg; 
1991/0705    
	Pte	*map[SEGMAPSIZE];	/* segment pte map */ 
}; 
 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)