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

alphapc/dat.h (diff list | history)

1999/0415/sys/src/9/alphapc/dat.h:135,1581999/0429/sys/src/9/alphapc/dat.h:135,159 (short | long)
1999/0415    
	Proc	*proc;			/* current process on this processor */ 
 
	/* ordering from here on irrelevant */ 
	int	tlbfault;			/* only used by devproc; no access to tlb */ 
	int	tlbpurge;			/* ... */ 
1999/0429    
	int	tlbfault;		/* only used by devproc; no access to tlb */ 
	int	tlbpurge;		/* ... */ 
1999/0415    
	ulong	ticks;			/* of the clock since boot time */ 
	Label	sched;			/* scheduler wakeup */ 
	Lock	alarmlock;		/* access to alarm list */ 
	void	*alarm;			/* alarms bound to this clock */ 
	Page	*ufreeme;		/* address of upage of exited process */ 
	int	speed;			/* cpu speed */ 
	ulong	delayloop;		/* for the delay() routine */ 
	int	nrdy; 
	ulong	fairness;		/* for runproc */ 
 
1999/0429    
	ulong	cpuhz;			/* hwrpb->cfreq */ 
	ulong	pcclast; 
	uvlong	fastclock; 
 
1999/0415    
	int	pfault; 
	int	cs; 
	int	syscall; 
	int	load; 
	int	intr; 
	int	nettime; 
	int	flushmmu;		/* make current proc flush it's mmu state */ 
 
	PCB; 
1999/0429/sys/src/9/alphapc/dat.h:148,1531999/0701/sys/src/9/alphapc/dat.h:148,154 (short | long)
1999/0429    
	ulong	cpuhz;			/* hwrpb->cfreq */ 
	ulong	pcclast; 
	uvlong	fastclock; 
1999/0701    
	vlong	intrts;			/* time stamp of last interrupt */ 
1999/0429    
 
1999/0415    
	int	pfault; 
	int	cs; 
1999/0701/sys/src/9/alphapc/dat.h:33,381999/0810/sys/src/9/alphapc/dat.h:33,39 (short | long)
1999/0415    
	Proc	*p; 
	ulong	pid; 
	ushort	isilock; 
1999/0810    
	ulong	glare; 
1999/0415    
}; 
 
struct Label 
1999/0810/sys/src/9/alphapc/dat.h:33,391999/0811/sys/src/9/alphapc/dat.h:33,38 (short | long)
1999/0415    
	Proc	*p; 
	ulong	pid; 
	ushort	isilock; 
1999/0810    
	ulong	glare; 
1999/0415    
}; 
 
struct Label 
1999/0811/sys/src/9/alphapc/dat.h:1,72000/0401/sys/src/9/alphapc/dat.h:1,5 (short | long)
1999/0415    
typedef struct Conf	Conf; 
typedef struct FPsave	FPsave; 
typedef struct Irq	Irq; 
typedef struct Irqctl	Irqctl; 
typedef struct ISAConf	ISAConf; 
typedef struct Label	Label; 
typedef struct Lock	Lock; 
1999/0811/sys/src/9/alphapc/dat.h:12,202000/0401/sys/src/9/alphapc/dat.h:10,19
1999/0415    
typedef struct PCB	PCB; 
typedef struct Pcidev	Pcidev; 
typedef struct PMMU	PMMU; 
2000/0401    
typedef struct Proc	Proc; 
1999/0415    
typedef struct Sys	Sys; 
typedef struct Ureg	Ureg; 
typedef struct Proc	Proc; 
2000/0401    
typedef struct Vctl	Vctl; 
1999/0415    
 
/* 
 *  parameters for sysproc.c 
1999/0811/sys/src/9/alphapc/dat.h:72,792000/0401/sys/src/9/alphapc/dat.h:71,76
1999/0415    
	ulong	nswap;		/* number of swap pages */ 
	int	nswppo;		/* max # of pageouts per segment pass */ 
	ulong	copymode;	/* 0 is copy on write, 1 is copy on reference */ 
	ulong	ptebase; 
	ulong	mbytes; 
	int	monitor;		/* has display? */ 
	ulong	ialloc;		/* bytes available for interrupt time allocation */ 
	ulong	pipeqsize;	/* size in bytes of pipe queues */ 
1999/0811/sys/src/9/alphapc/dat.h:144,1492000/0401/sys/src/9/alphapc/dat.h:141,147
1999/0415    
	Page	*ufreeme;		/* address of upage of exited process */ 
	int	nrdy; 
	ulong	fairness;		/* for runproc */ 
2000/0401    
	int	lastintr; 
1999/0415    
 
1999/0429    
	ulong	cpuhz;			/* hwrpb->cfreq */ 
	ulong	pcclast; 
1999/0811/sys/src/9/alphapc/dat.h:155,1602000/0401/sys/src/9/alphapc/dat.h:153,159
1999/0415    
	int	syscall; 
	int	load; 
	int	intr; 
2000/0401    
	int	spuriousintr; 
1999/0415    
	int	flushmmu;		/* make current proc flush it's mmu state */ 
 
	PCB; 
1999/0811/sys/src/9/alphapc/dat.h:185,1922000/0401/sys/src/9/alphapc/dat.h:184,190
1999/0415    
	void	(*coredetach)(void);		/* restore core logic before return to console */ 
	void	*(*pcicfg)(int, int);		/* map and point to PCI cfg space */ 
	void	*(*pcimem)(int, int);		/* map and point to PCI memory space */ 
	void	(*intr)(Ureg*); 
	int	(*intrenable)(int, void (*)(Ureg*, void*), void*, int); 
2000/0401    
	int	(*intrenable)(Vctl*); 
1999/0415    
 
	int		(*_inb)(int); 
	ushort	(*_ins)(int); 
2000/0401/sys/src/9/alphapc/dat.h:132,1472001/0727/sys/src/9/alphapc/dat.h:132,145 (short | long)
1999/0415    
	Proc	*proc;			/* current process on this processor */ 
 
	/* ordering from here on irrelevant */ 
1999/0429    
	int	tlbfault;		/* only used by devproc; no access to tlb */ 
	int	tlbpurge;		/* ... */ 
2001/0727    
 
1999/0415    
	ulong	ticks;			/* of the clock since boot time */ 
	Label	sched;			/* scheduler wakeup */ 
	Lock	alarmlock;		/* access to alarm list */ 
	void	*alarm;			/* alarms bound to this clock */ 
	Page	*ufreeme;		/* address of upage of exited process */ 
	int	nrdy; 
2001/0727    
	int	inclockintr; 
 
1999/0415    
	ulong	fairness;		/* for runproc */ 
2000/0401    
	int	lastintr; 
1999/0415    
 
1999/0429    
	ulong	cpuhz;			/* hwrpb->cfreq */ 
	ulong	pcclast; 
2000/0401/sys/src/9/alphapc/dat.h:148,1612001/0727/sys/src/9/alphapc/dat.h:146,163
1999/0429    
	uvlong	fastclock; 
1999/0701    
	vlong	intrts;			/* time stamp of last interrupt */ 
1999/0429    
 
2001/0727    
	int	tlbfault;		/* only used by devproc; no access to tlb */ 
	int	tlbpurge;		/* ... */ 
1999/0415    
	int	pfault; 
	int	cs; 
	int	syscall; 
	int	load; 
	int	intr; 
2000/0401    
	int	spuriousintr; 
1999/0415    
	int	flushmmu;		/* make current proc flush it's mmu state */ 
 
2001/0727    
	ulong	spuriousintr; 
	int	lastintr; 
 
1999/0415    
	PCB; 
 
	/* MUST BE LAST */ 
2000/0401/sys/src/9/alphapc/dat.h:203,2132001/0727/sys/src/9/alphapc/dat.h:205,214
1999/0415    
/* 
 *  a parsed plan9.ini line 
 */ 
#define ISAOPTLEN	16 
#define NISAOPT		8 
 
struct ISAConf { 
	char	type[NAMELEN]; 
2001/0727    
	char		*type; 
1999/0415    
	ulong	port; 
	ulong	irq; 
	ulong	dma; 
2000/0401/sys/src/9/alphapc/dat.h:216,2222001/0727/sys/src/9/alphapc/dat.h:217,223
1999/0415    
	ulong	freq; 
 
	int	nopt; 
	char	opt[NISAOPT][ISAOPTLEN]; 
2001/0727    
	char	*opt[NISAOPT]; 
1999/0415    
}; 
 
extern PCArch	*arch; 
2001/0727/sys/src/9/alphapc/dat.h:15,202001/0731/sys/src/9/alphapc/dat.h:15,22 (short | long)
1999/0415    
typedef struct Ureg	Ureg; 
2000/0401    
typedef struct Vctl	Vctl; 
1999/0415    
 
2001/0731    
#define MAXSYSARG	6	/* for mount(fd, mpt, flag, arg, srv) */ 
 
1999/0415    
/* 
 *  parameters for sysproc.c 
 */ 
2001/0731/sys/src/9/alphapc/dat.h:189,1942001/1023/sys/src/9/alphapc/dat.h:189,196 (short | long)
1999/0415    
	void	*(*pcicfg)(int, int);		/* map and point to PCI cfg space */ 
	void	*(*pcimem)(int, int);		/* map and point to PCI memory space */ 
2000/0401    
	int	(*intrenable)(Vctl*); 
2001/1023    
	int	(*intrvecno)(int); 
	int	(*intrdisable)(int); 
1999/0415    
 
	int		(*_inb)(int); 
	ushort	(*_ins)(int); 
2001/0731/sys/src/9/alphapc/dat.h:229,2312001/1023/sys/src/9/alphapc/dat.h:231,249
1999/0415    
 
extern register Mach	*m; 
extern register Proc	*up; 
2001/1023    
 
/* 
 *  hardware info about a device 
 */ 
typedef struct { 
	ulong	port;	 
	int		size; 
} port_t; 
 
struct DevConf 
{ 
	ulong	interrupt;	/* interrupt number */ 
	char		*type;	/* card type, malloced */ 
	int		nports;	/* Number of ports */ 
	port_t	*ports;	/* The ports themselves */ 
}; 
2001/1023/sys/src/9/alphapc/dat.h:43,492002/0112/sys/src/9/alphapc/dat.h:43,49 (short | long)
Comment edit.
rsc Fri Mar 4 12:44:25 2005
1999/0415    
}; 
 
/* 
 * FPsave.fpstatus 
2002/0112    
 * Proc.fpstate 
1999/0415    
 */ 
enum 
{ 
2002/0112/sys/src/9/alphapc/dat.h:143,1492002/0222/sys/src/9/alphapc/dat.h:143,149 (short | long)
2001/0727    
 
1999/0415    
	ulong	fairness;		/* for runproc */ 
 
1999/0429    
	ulong	cpuhz;			/* hwrpb->cfreq */ 
2002/0222    
	vlong	cpuhz;			/* hwrpb->cfreq */ 
1999/0429    
	ulong	pcclast; 
	uvlong	fastclock; 
1999/0701    
	vlong	intrts;			/* time stamp of last interrupt */ 
2002/0222/sys/src/9/alphapc/dat.h:1,42002/0404/sys/src/9/alphapc/dat.h:1,5 (short | long)
1999/0415    
typedef struct Conf	Conf; 
2002/0404    
typedef struct Cycintr	Cycintr; 
1999/0415    
typedef struct FPsave	FPsave; 
typedef struct ISAConf	ISAConf; 
typedef struct Label	Label; 
2002/0222/sys/src/9/alphapc/dat.h:246,2492002/0404/sys/src/9/alphapc/dat.h:247,261
2001/1023    
	char		*type;	/* card type, malloced */ 
	int		nports;	/* Number of ports */ 
	port_t	*ports;	/* The ports themselves */ 
2002/0404    
}; 
 
/* 
 * fasttick timer interrupts (Dummy for now) 
 */ 
struct Cycintr 
{ 
	vlong	when;			/* fastticks when f should be called */ 
	void	(*f)(Ureg*, Cycintr*); 
	void	*a; 
	Cycintr	*next; 
2001/1023    
}; 
2002/0404/sys/src/9/alphapc/dat.h:1,52002/0405/sys/src/9/alphapc/dat.h:1,5 (short | long)
1999/0415    
typedef struct Conf	Conf; 
2002/0404    
typedef struct Cycintr	Cycintr; 
2002/0405    
typedef struct Timer	Timer; 
1999/0415    
typedef struct FPsave	FPsave; 
typedef struct ISAConf	ISAConf; 
typedef struct Label	Label; 
2002/0404/sys/src/9/alphapc/dat.h:252,2612002/0405/sys/src/9/alphapc/dat.h:252,261
2002/0404    
/* 
 * fasttick timer interrupts (Dummy for now) 
 */ 
struct Cycintr 
2002/0405    
struct Timer 
2002/0404    
{ 
	vlong	when;			/* fastticks when f should be called */ 
	void	(*f)(Ureg*, Cycintr*); 
2002/0405    
	void	(*f)(Ureg*, Timer*); 
2002/0404    
	void	*a; 
	Cycintr	*next; 
2002/0405    
	Timer	*next; 
2001/1023    
}; 
2002/0405/sys/src/9/alphapc/dat.h:1,52002/0410/sys/src/9/alphapc/dat.h:1,4 (short | long)
1999/0415    
typedef struct Conf	Conf; 
2002/0405    
typedef struct Timer	Timer; 
1999/0415    
typedef struct FPsave	FPsave; 
typedef struct ISAConf	ISAConf; 
typedef struct Label	Label; 
2002/0405/sys/src/9/alphapc/dat.h:247,2612002/0410/sys/src/9/alphapc/dat.h:246,249
2001/1023    
	char		*type;	/* card type, malloced */ 
	int		nports;	/* Number of ports */ 
	port_t	*ports;	/* The ports themselves */ 
2002/0404    
}; 
                 
/* 
 * fasttick timer interrupts (Dummy for now) 
 */ 
2002/0405    
struct Timer 
2002/0404    
{ 
	vlong	when;			/* fastticks when f should be called */ 
2002/0405    
	void	(*f)(Ureg*, Timer*); 
2002/0404    
	void	*a; 
2002/0405    
	Timer	*next; 
2001/1023    
}; 
2002/0410/sys/src/9/alphapc/dat.h:156,1612002/0420/sys/src/9/alphapc/dat.h:156,162 (short | long)
1999/0415    
	int	load; 
	int	intr; 
	int	flushmmu;		/* make current proc flush it's mmu state */ 
2002/0420    
	int		ilockdepth; 
1999/0415    
 
2001/0727    
	ulong	spuriousintr; 
	int	lastintr; 
2002/0420/sys/src/9/alphapc/dat.h:147,1522002/0821/sys/src/9/alphapc/dat.h:147,154 (short | long)
1999/0429    
	ulong	pcclast; 
	uvlong	fastclock; 
1999/0701    
	vlong	intrts;			/* time stamp of last interrupt */ 
2002/0821    
	ulong	inidle;			/* fastticks in idlehands() since last slowtick */ 
	ulong	avginidle;		/* avg fastticks in idlehands() per slowtick */ 
1999/0429    
 
2001/0727    
	int	tlbfault;		/* only used by devproc; no access to tlb */ 
	int	tlbpurge;		/* ... */ 
2002/0821/sys/src/9/alphapc/dat.h:146,1542002/0822/sys/src/9/alphapc/dat.h:146,152 (short | long)
2002/0222    
	vlong	cpuhz;			/* hwrpb->cfreq */ 
1999/0429    
	ulong	pcclast; 
	uvlong	fastclock; 
1999/0701    
	vlong	intrts;			/* time stamp of last interrupt */ 
2002/0821    
	ulong	inidle;			/* fastticks in idlehands() since last slowtick */ 
	ulong	avginidle;		/* avg fastticks in idlehands() per slowtick */ 
2002/0822    
	Perf	perf;			/* performance counters */ 
1999/0429    
 
2001/0727    
	int	tlbfault;		/* only used by devproc; no access to tlb */ 
	int	tlbpurge;		/* ... */ 
2002/0822/sys/src/9/alphapc/dat.h:47,552002/0824/sys/src/9/alphapc/dat.h:47,59 (short | long)
1999/0415    
 */ 
enum 
{ 
2002/0824    
	/* floating point states */ 
1999/0415    
	FPinit, 
	FPactive, 
	FPinactive, 
2002/0824    
 
	/* bit or'd with the state */ 
	FPillegal= 0x100, 
1999/0415    
}; 
 
struct	FPsave 
2002/0822/sys/src/9/alphapc/dat.h:243,2492002/0824/sys/src/9/alphapc/dat.h:247,253
2001/1023    
 
struct DevConf 
{ 
	ulong	interrupt;	/* interrupt number */ 
2002/0824    
	ulong	intnum;	/* interrupt number */ 
2001/1023    
	char		*type;	/* card type, malloced */ 
	int		nports;	/* Number of ports */ 
	port_t	*ports;	/* The ports themselves */ 
2002/0824/sys/src/9/alphapc/dat.h:160,1662003/0301/sys/src/9/alphapc/dat.h:160,166 (short | long)
1999/0415    
	int	load; 
	int	intr; 
	int	flushmmu;		/* make current proc flush it's mmu state */ 
2002/0420    
	int		ilockdepth; 
2003/0301    
	int	ilockdepth; 
1999/0415    
 
2001/0727    
	ulong	spuriousintr; 
	int	lastintr; 
2002/0824/sys/src/9/alphapc/dat.h:197,2142003/0301/sys/src/9/alphapc/dat.h:197,214
2001/1023    
	int	(*intrvecno)(int); 
	int	(*intrdisable)(int); 
1999/0415    
 
	int		(*_inb)(int); 
2003/0301    
	int	(*_inb)(int); 
1999/0415    
	ushort	(*_ins)(int); 
	ulong	(*_inl)(int); 
	void		(*_outb)(int, int); 
	void		(*_outs)(int, ushort); 
	void		(*_outl)(int, ulong); 
	void		(*_insb)(int, void*, int); 
	void		(*_inss)(int, void*, int); 
	void		(*_insl)(int, void*, int); 
	void		(*_outsb)(int, void*, int); 
	void		(*_outss)(int, void*, int); 
	void		(*_outsl)(int, void*, int); 
2003/0301    
	void	(*_outb)(int, int); 
	void	(*_outs)(int, ushort); 
	void	(*_outl)(int, ulong); 
	void	(*_insb)(int, void*, int); 
	void	(*_inss)(int, void*, int); 
	void	(*_insl)(int, void*, int); 
	void	(*_outsb)(int, void*, int); 
	void	(*_outss)(int, void*, int); 
	void	(*_outsl)(int, void*, int); 
1999/0415    
}; 
 
/* 
2002/0824/sys/src/9/alphapc/dat.h:217,2252003/0301/sys/src/9/alphapc/dat.h:217,225
1999/0415    
#define NISAOPT		8 
 
struct ISAConf { 
2001/0727    
	char		*type; 
2003/0301    
	char	*type; 
1999/0415    
	ulong	port; 
	ulong	irq; 
2003/0301    
	int	irq; 
1999/0415    
	ulong	dma; 
	ulong	mem; 
	ulong	size; 
2002/0824/sys/src/9/alphapc/dat.h:242,2542003/0301/sys/src/9/alphapc/dat.h:242,254
2001/1023    
 */ 
typedef struct { 
	ulong	port;	 
	int		size; 
2003/0301    
	int	size; 
2001/1023    
} port_t; 
 
struct DevConf 
{ 
2002/0824    
	ulong	intnum;	/* interrupt number */ 
2001/1023    
	char		*type;	/* card type, malloced */ 
	int		nports;	/* Number of ports */ 
2003/0301    
	char	*type;	/* card type, malloced */ 
	int	nports;	/* Number of ports */ 
2001/1023    
	port_t	*ports;	/* The ports themselves */ 
}; 


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