Plan 9 from Bell Labs’s /usr/web/sources/extra/9hist/pc/dat.h

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


## diffname pc/dat.h 1991/0612
## diff -e /dev/null /n/bootesdump/1991/0612/sys/src/9/safari/dat.h
0a
typedef struct Conf	Conf;
typedef struct Label	Label;
typedef struct Lock	Lock;
typedef struct MMU	MMU;
typedef struct Mach	Mach;
typedef struct PMMU	PMMU;
typedef struct Ureg	Ureg;
typedef struct User	User;

#define	MACHP(n)	(n==0? &mach0 : *(Mach**)0)

extern	Mach	mach0;
extern  void	(*kprofp)(ulong);

/*
 *  parameters for sysproc.c
 */
#define AOUT_MAGIC	I_MAGIC

struct Lock
{
	char	key;
	ulong	pc;
};

struct Label
{
	ulong	sp;
	ulong	pc;
	ushort	sr;
};

/*
 * floating point registers
 */
enum
{
	FPinit,
	FPactive,
	FPdirty,
};

struct	FPsave
{
	uchar	type;
	uchar	size;
	short	reserved;
	char	junk[212];	/* 68881: sizes 24, 180; 68882: 56, 212 */
	char	reg[3*4+8*12];
};

struct Conf
{
	int	nmach;		/* processors */
	int	nproc;		/* processes */
	int	npgrp;		/* process groups */
	ulong	npage0;		/* total physical pages of memory, bank 0 */
	ulong	npage1;		/* total physical pages of memory, bank 1 */
	ulong	base0;		/* base of bank 0 */
	ulong	base1;		/* base of bank 1 */
	ulong	npage;		/* total physical pages of memory */
	ulong	norig;		/* origins */
	ulong	npte;		/* contiguous page table entries */
	ulong	nmod;		/* single (modifying) page table entries */
	int	nalarm;		/* alarms */
	int	nchan;		/* channels */
	int	nenv;		/* distinct environment values */
	int	nenvchar;	/* environment text storage */
	int	npgenv;		/* environment files per process group */
	int	nmtab;		/* mounted-upon channels per process group */
	int	nmount;		/* mounts */
	int	nmntdev;	/* mounted devices (devmnt.c) */
	int	nmntbuf;	/* buffers for devmnt.c messages */
	int	nmnthdr;	/* headers for devmnt.c messages */
	int	nstream;	/* streams */
	int	nqueue;		/* stream queues */
	int	nblock;		/* stream blocks */
	int	nsrv;		/* public servers (devsrv.c) */
	int	nbitmap;	/* bitmap structs (devbit.c) */
	int	nbitbyte;	/* bytes of bitmap data (devbit.c) */
	int	nfont;		/* font structs (devbit.c) */
	int	nurp;		/* max urp conversations */
	int	nasync;		/* number of async protocol modules */
	int	npipe;		/* number of pipes */
	int	nservice;	/* number of services */
	int	nfsyschan;	/* number of filsys open channels */
	ulong	maxialloc;	/* maximum bytes used by ialloc */
	int	copymode;	/* 0 is copy on write, 1 is copy on reference */
	int	portispaged;	/* ??? */
	int	nnoifc;
	int	nnoconv;
	ulong	ipif;		/* Ip protocol interfaces */
	ulong	ip;		/* Ip conversations per interface */
	ulong	arp;		/* Arp table size */
	ulong	frag;		/* Ip fragment assemble queue size */
	int	cntrlp;		/* panic on ^P */
};

/*
 *  MMU stuff in proc
 */
struct PMMU
{
	MMU	*mmu;
};

#include "../port/portdat.h"

/*
 *  machine dependent definitions not used by ../port/dat.h
 */

struct Mach
{
	int	machno;			/* physical id of processor */
	ulong	splpc;			/* pc of last caller to splhi */
	int	mmask;			/* 1<<m->machno */
	ulong	ticks;			/* of the clock since boot time */
	Proc	*proc;			/* current process on this processor */
	Label	sched;			/* scheduler wakeup */
	Lock	alarmlock;		/* access to alarm list */
	void	*alarm;			/* alarms bound to this clock */
	int	fpstate;		/* state of fp registers on machine */

	int	tlbfault;
	int	tlbpurge;
	int	pfault;
	int	cs;
	int	syscall;
	int	spinlock;
	int	intr;

	int	stack[1];
};

/*
 * Fake kmap
 */
typedef void		KMap;
#define	VA(k)		((ulong)(k))
#define	kmap(p)		(KMap*)(p->pa|KZERO)
#define	kunmap(k)

#define	NERR	15
#define	NNOTE	5
#define	NFD	100
struct User
{
	Proc	*p;
	int	nerrlab;
	Label	errlab[NERR];
	char	error[ERRLEN];
	FPsave	fpsave;			/* address of this is known by vdb */
	char	elem[NAMELEN];		/* last name element from namec */
	Chan	*slash;
	Chan	*dot;
	Chan	*fd[NFD];
	int	maxfd;			/* highest fd in use */
	/*
	 * Rest of structure controlled by devproc.c and friends.
	 * lock(&p->debug) to modify.
	 */
	Note	note[NNOTE];
	short	nnote;
	short	notified;		/* sysnoted is due */
	int	(*notify)(void*, char*);
	void	*ureg;
	ushort	svvo;
	ushort	svsr;
};

struct
{
	Lock;
	short	machs;
	short	exiting;
}active;

extern Mach	*m;
extern User	*u;
.
## diffname pc/dat.h 1991/0614
## diff -e /n/bootesdump/1991/0612/sys/src/9/safari/dat.h /n/bootesdump/1991/0614/sys/src/9/safari/dat.h
30,49d
## diffname pc/dat.h 1991/0702
## diff -e /n/bootesdump/1991/0614/sys/src/9/safari/dat.h /n/bootesdump/1991/0702/sys/src/9/safari/dat.h
68,76c
	ulong	copymode;	/* 0 is copy on write, 1 is copy on reference */
	ulong	portispaged;	/* ??? */
	ulong	nnoifc;
	ulong	nnoconv;
	ulong	cntrlp;		/* panic on ^P */
.
45,66c
	ulong	nalarm;		/* alarms */
	ulong	nchan;		/* channels */
	ulong	nenv;		/* distinct environment values */
	ulong	nenvchar;	/* environment text storage */
	ulong	npgenv;		/* environment files per process group */
	ulong	nmtab;		/* mounted-upon channels per process group */
	ulong	nmount;		/* mounts */
	ulong	nmntdev;	/* mounted devices (devmnt.c) */
	ulong	nmntbuf;	/* buffers for devmnt.c messages */
	ulong	nmnthdr;	/* headers for devmnt.c messages */
	ulong	nstream;	/* streams */
	ulong	nqueue;		/* stream queues */
	ulong	nblock;		/* stream blocks */
	ulong	nsrv;		/* public servers (devsrv.c) */
	ulong	nbitmap;	/* bitmap structs (devbit.c) */
	ulong	nbitbyte;	/* bytes of bitmap data (devbit.c) */
	ulong	nfont;		/* font structs (devbit.c) */
	ulong	nurp;		/* max urp conversations */
	ulong	nasync;		/* number of async protocol modules */
	ulong	npipe;		/* number of pipes */
	ulong	nservice;	/* number of services */
	ulong	nfsyschan;	/* number of filsys open channels */
.
34,36c
	ulong	nmach;		/* processors */
	ulong	nproc;		/* processes */
	ulong	npgrp;		/* process groups */
.
31a
struct	FPsave
{
	int	type;
};

.
1a
typedef struct FPsave	FPsave;
.
## diffname pc/dat.h 1991/0703
## diff -e /n/bootesdump/1991/0702/sys/src/9/safari/dat.h /n/bootesdump/1991/0703/sys/src/9/safari/dat.h
152a

/*
 *  segment descriptor/gate
 */
struct Segdesc
{
	ulong	d0;
	ulong	d1;
};

.
23c
	ulong	key;
.
7a
typedef struct Segdesc	Segdesc;
.
## diffname pc/dat.h 1991/0706
## diff -e /n/bootesdump/1991/0703/sys/src/9/safari/dat.h /n/bootesdump/1991/0706/sys/src/9/safari/dat.h
140,141d
129d
## diffname pc/dat.h 1991/0711
## diff -e /n/bootesdump/1991/0706/sys/src/9/safari/dat.h /n/bootesdump/1991/0711/sys/src/9/safari/dat.h
76,78c
	ulong	ipif;		/* Ip protocol interfaces */
	ulong	ip;		/* Ip conversations per interface */
	ulong	arp;		/* Arp table size */
	ulong	frag;		/* Ip fragment assemble queue size */
.
74a
	ulong	base0;		/* base of bank 0 */
	ulong	base1;		/* base of bank 1 */
.
72,73d
68a
	ulong	nnoifc;		/* number of nonet interfaces */
	ulong	nnoconv;	/* number of nonet conversations/ifc */
.
49,51c
	ulong	nseg;		/* number of segments */
	ulong	nimage;		/* number of page cache image headers */
	ulong 	npagetab;	/* number of pte tables */
	ulong	nswap;		/* number of swap pages */
.
44,47c
	ulong	npage0;		/* total physical pages in bank0 */
	ulong	npage1;		/* total physical pages in bank1 */
.
38a
struct	FPsave	/* ??? needs to be fixed ??? */
{
	long	fpreg[32];
	long	fpstatus;
};

.
36c
	FPinit,
	FPactive,
	FPinactive,
.
34c

/*
 * FPsave.fpstatus
 */
enum
.
## diffname pc/dat.h 1991/0716
## diff -e /n/bootesdump/1991/0711/sys/src/9/safari/dat.h /n/bootesdump/1991/0716/sys/src/9/safari/dat.h
47,48c
	long	status;
	char	reg[66];
.
36c
 * FPsave.status
.
## diffname pc/dat.h 1991/0717
## diff -e /n/bootesdump/1991/0716/sys/src/9/safari/dat.h /n/bootesdump/1991/0717/sys/src/9/safari/dat.h
159a
	Note	lastnote;
.
101c
	ulong	mmuent[MAXMMU];	/* a process' mmu entries */
	Page	*mmupg[MAXMMU];	/* mmu pages */
.
98a
#define MAXMMU	4
.
6a
typedef struct Page	Page;
.
## diffname pc/dat.h 1991/0718
## diff -e /n/bootesdump/1991/0717/sys/src/9/safari/dat.h /n/bootesdump/1991/0718/sys/src/9/safari/dat.h
141c
#define	kmap(p)		(KMap*)((p)->pa|KZERO)
.
103,104c
	int	mmuvalid;
	Page	*mmu[MAXMMU+MAXSMMU];	/* bottom level page tables */
	ulong	mmue[MAXMMU+MAXSMMU];	/* top level pointers to mmup pages */
.
100a
#define MAXSMMU	1
.
## diffname pc/dat.h 1991/0720
## diff -e /n/bootesdump/1991/0718/sys/src/9/safari/dat.h /n/bootesdump/1991/0720/sys/src/9/safari/dat.h
168,169c
	ulong	svcs;		/* cs before a notify */
	ulong	svss;		/* ss before a notify */
	ulong	svflags;		/* flags before a notify */
.
## diffname pc/dat.h 1991/0801
## diff -e /n/bootesdump/1991/0720/sys/src/9/safari/dat.h /n/bootesdump/1991/0801/sys/src/9/safari/dat.h
191a

extern int	flipD[];	/* for flipping bitblt destination polarity */
.
## diffname pc/dat.h 1991/0809
## diff -e /n/bootesdump/1991/0801/sys/src/9/safari/dat.h /n/bootesdump/1991/0809/sys/src/9/safari/dat.h
94a
	ulong	nfloppy;	/* number of floppy drives */
	ulong	nhard;		/* number of hard drives */
.
## diffname pc/dat.h 1991/0905
## diff -e /n/bootesdump/1991/0809/sys/src/9/safari/dat.h /n/bootesdump/1991/0905/sys/src/9/safari/dat.h
49c
	uchar	reg[94];
.
46c
struct	FPsave
.
## diffname pc/dat.h 1991/0906
## diff -e /n/bootesdump/1991/0905/sys/src/9/safari/dat.h /n/bootesdump/1991/0906/sys/src/9/safari/dat.h
127d
48,49c
	uchar	regs[108];
.
## diffname pc/dat.h 1991/0916
## diff -e /n/bootesdump/1991/0906/sys/src/9/safari/dat.h /n/bootesdump/1991/0916/sys/src/9/safari/dat.h
107c
	ulong	mmue[MAXMMU+MAXSMMU];	/* top level pointers to mmu pages */
.
## diffname pc/dat.h 1991/1004
## diff -e /n/bootesdump/1991/0916/sys/src/9/safari/dat.h /n/bootesdump/1991/1004/sys/src/9/safari/dat.h
105,107c
	Page	*mmutop;	/* 1st level table */
	Page	*mmufree;	/* unused page table pages */
	Page	*mmuused;	/* used page table pages */
.
## diffname pc/dat.h 1991/1107
## diff -e /n/bootesdump/1991/1004/sys/src/9/safari/dat.h /n/bootesdump/1991/1107/sys/src/9/safari/dat.h
95a
	int	dkif;		/* number of datakit interfaces */
.
## diffname pc/dat.h 1991/1112
## diff -e /n/bootesdump/1991/1107/sys/src/9/safari/dat.h /n/bootesdump/1991/1112/sys/src/9/safari/dat.h
168a
	void	*dbgreg;		/* User registers for debugging in proc */
.
155d
151a
	FPsave	fpsave;			/* address of this is known by vdb */
.
133c
	int	load;
.
## diffname pc/dat.h 1991/1210
## diff -e /n/bootesdump/1991/1112/sys/src/9/safari/dat.h /n/bootesdump/1991/1210/sys/src/9/safari/dat.h
195a

enum
{
	At=		0,
	Attnsx=		1,
};
extern int machtype;
.
## diffname pc/dat.h 1991/1211
## diff -e /n/bootesdump/1991/1210/sys/src/9/safari/dat.h /n/bootesdump/1991/1211/sys/src/9/safari/dat.h
184d
## diffname pc/dat.h 1992/0208
## diff -e /n/bootesdump/1991/1211/sys/src/9/safari/dat.h /n/bootesdump/1992/0208/sys/src/9/safari/dat.h
79c
	ulong	nsubfont;	/* Gsubfont structs (devbit.c) */
.
## diffname pc/dat.h 1992/0209
## diff -e /n/bootesdump/1992/0208/sys/src/9/safari/dat.h /n/bootesdump/1992/0209/sys/src/9/safari/dat.h
78a
	int	nfont;		/* GFont structs (devbit.c) */
.
## diffname pc/dat.h 1992/0228
## diff -e /n/bootesdump/1992/0209/sys/src/9/safari/dat.h /n/bootesdump/1992/0228/sys/src/9/safari/dat.h
81,82d
## diffname pc/dat.h 1992/0622
## diff -e /n/bootesdump/1992/0228/sys/src/9/safari/dat.h /n/bootesdump/1992/0622/sys/src/9/safari/dat.h
77,80d
## diffname pc/dat.h 1992/0625
## diff -e /n/bootesdump/1992/0622/sys/src/9/safari/dat.h /n/bootesdump/1992/0625/sys/src/9/safari/dat.h
153a
	Sargs	s;
.
91d
63,80d
61d
59c
	ulong	upages;		/* user page pool */
.
55,57c
	ulong	npage0;		/* total physical pages of memory */
	ulong	npage1;		/* total physical pages of memory */
	ulong	topofmem;	/* highest physical address + 1 */
.
## diffname pc/dat.h 1992/06271
## diff -e /n/bootesdump/1992/0625/sys/src/9/safari/dat.h /n/bootesdump/1992/06271/sys/src/9/safari/dat.h
134d
127a
	int	scallnr;		/* sys call number - known by db */
	Sargs	s;			/* address of this is known by db */
.
## diffname pc/dat.h 1992/0725
## diff -e /n/bootesdump/1992/06271/sys/src/9/safari/dat.h /n/bootesdump/1992/0725/sys/src/9/safari/dat.h
69d
## diffname pc/dat.h 1992/0806
## diff -e /n/bootesdump/1992/0725/sys/src/9/safari/dat.h /n/bootesdump/1992/0806/sys/src/9/safari/dat.h
48c
	ushort	control;
	ushort	r1;
	ushort	status;
	ushort	r2;
	ushort	tag;
	ushort	r3;
	ulong	pc;
	ushort	selector;
	ushort	r4;
	ulong	operand;
	ushort	oselector;
	ushort	r5;
	uchar	regs[80];	/* floating point registers */
.
## diffname pc/dat.h 1992/0807
## diff -e /n/bootesdump/1992/0806/sys/src/9/safari/dat.h /n/bootesdump/1992/0807/sys/src/9/safari/dat.h
66a
	ulong	monitor;	/* has monitor? */
.
## diffname pc/dat.h 1992/0902
## diff -e /n/bootesdump/1992/0808/sys/src/9/safari/dat.h /n/bootesdump/1992/0902/sys/src/9/pc/dat.h
190c
extern int mousetype;
extern int pmutype;
.
187,188c
	PMUnsx20=	0,
	PMUother=	1,

	Mouseserial=	0,
	MousePS2=	1,
	Mouseother=	2,
.
## diffname pc/dat.h 1992/0903
## diff -e /n/bootesdump/1992/0902/sys/src/9/pc/dat.h /n/bootesdump/1992/0903/sys/src/9/pc/dat.h
195a
extern int resettype;
.
190,192c
	/* what kind of mouse */
	Mouseother=	0,
	Mouseserial=	1,
	MousePS2=	2,

	/* how to reset the processor */
	Resetother=	0,
	Reset8042=	1,
	Resetheadland=	2,
.
187,188c
	/* what kind of power management */
	PMUother=	0,
	PMUnsx20=	1,
.
184a
/*
 *  bootline passed by boot program
 */
#define BOOTLINE ((char *)0x80000100)

/*
 *  configuration info
 */
.
## diffname pc/dat.h 1992/0904
## diff -e /n/bootesdump/1992/0903/sys/src/9/pc/dat.h /n/bootesdump/1992/0904/sys/src/9/pc/dat.h
189,211d
## diffname pc/dat.h 1992/0918
## diff -e /n/bootesdump/1992/0904/sys/src/9/pc/dat.h /n/bootesdump/1992/0918/sys/src/9/pc/dat.h
188a

extern char	machtype[];
.
## diffname pc/dat.h 1992/0923
## diff -e /n/bootesdump/1992/0918/sys/src/9/pc/dat.h /n/bootesdump/1992/0923/sys/src/9/pc/dat.h
190c
extern PCArch *arch;			/* PC architecture */
.
185,188c
#define BOOTLINE ((char *)0x80000100) /*  bootline passed by boot program */
.
179a
/*
 *  routines for things outside the PC model, like power management
 */
struct PCArch
{
	char	*id;
	void	(*reset)(void);		/* this should be in the model */
	int	(*cpuspeed)(int);	/* 0 = low, 1 = high */
	void	(*buzz)(int, int);	/* make a noise */
	void	(*lights)(int);		/* turn lights or icons on/off */
	int	(*serialpower)(int);	/* 1 == on, 0 == off */
	int	(*modempower)(int);	/* 1 == on, 0 == off */
	int	(*extvga)(int);		/* 1 == external, 0 == internal */
};

.
6a
typedef struct PCArch	PCArch;
.
## diffname pc/dat.h 1992/1105
## diff -e /n/bootesdump/1992/0923/sys/src/9/pc/dat.h /n/bootesdump/1992/1105/sys/src/9/pc/dat.h
84a
	ulong	ldepth;		/* screen depth */
	ulong	maxx;		/* screen width */
	ulong	maxy;		/* screen length */
.
82d
79,80d
## diffname pc/dat.h 1993/0206
## diff -e /n/bootesdump/1992/1105/sys/src/9/pc/dat.h /n/bootesdump/1993/0206/sys/src/9/pc/dat.h
79d
## diffname pc/dat.h 1993/0915
## diff -e /n/bootesdump/1993/0206/sys/src/9/pc/dat.h /n/fornaxdump/1993/0915/sys/src/brazil/pc/dat.h
202c
extern Mach	*m;
extern Proc	*up;
.
200c
extern int	flipD[];		/* for flipping bitblt destination polarity */
extern PCArch	*arch;			/* PC architecture */
.
198c
#define MAXPCMCIA 8			/* maximum number of PCMCIA cards */
#define BOOTLINE ((char *)0x80000100)	/*  bootline passed by boot program */
.
195,196c
struct ISAConf {
	char	type[NAMELEN];
	ulong	port;
	ulong	irq;
	ulong	mem;
	ulong	size;
	uchar	ea[6];
};
.
134,163d
90a
#define NCOLOR 1
.
12d
2a
typedef struct ISAConf	ISAConf;
.
## diffname pc/dat.h 1993/1013
## diff -e /n/fornaxdump/1993/0915/sys/src/brazil/pc/dat.h /n/fornaxdump/1993/1013/sys/src/brazil/pc/dat.h
179a
extern int	cpuflag;		/* true if this is a CPU */
.
98a
/*
 *  things saved in the Proc structure during a notify
 */
struct Notsave
{
	ulong	svflags;
	ulong	svcs;
	ulong	svss;
};

.
7a
typedef struct Notsave	Notsave;
.
## diffname pc/dat.h 1993/1201
## diff -e /n/fornaxdump/1993/1013/sys/src/brazil/pc/dat.h /n/fornaxdump/1993/1201/sys/src/brazil/pc/dat.h
127a
	int	otlbfault;
.
## diffname pc/dat.h 1993/1204
## diff -e /n/fornaxdump/1993/1201/sys/src/brazil/pc/dat.h /n/fornaxdump/1993/1204/sys/src/brazil/pc/dat.h
125a
	Schedq	runq;
.
## diffname pc/dat.h 1993/1214
## diff -e /n/fornaxdump/1993/1204/sys/src/brazil/pc/dat.h /n/fornaxdump/1993/1214/sys/src/brazil/pc/dat.h
129d
126c
	Schedq	hiq;
	Schedq	loq;
.
## diffname pc/dat.h 1994/0311
## diff -e /n/fornaxdump/1993/1214/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0311/sys/src/brazil/pc/dat.h
127a

	void	(**cbin)(void);
	void	(**cbout)(void);
	void	(**cbend)(void);
	void	(*calls[NCALLBACK])(void);
.
115a
#define NCALLBACK	32

.
## diffname pc/dat.h 1994/0322
## diff -e /n/fornaxdump/1994/0311/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0322/sys/src/brazil/pc/dat.h
84a
	ulong	ialloc;		/* max interrupt time allocation in bytes */
.
28c
	ulong	sr;
.
## diffname pc/dat.h 1994/0331
## diff -e /n/fornaxdump/1994/0322/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0331/sys/src/brazil/pc/dat.h
132,135c
	Callbk*	cbin;
	Callbk*	cbout;
	Callbk*	cbend;
	Callbk	calls[NCALLBACK];
.
117,118d
## diffname pc/dat.h 1994/0503
## diff -e /n/fornaxdump/1994/0331/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0503/sys/src/brazil/pc/dat.h
85a
	ulong	pipeqsize;	/* size in bytes of pipe queues */
.
## diffname pc/dat.h 1994/0508
## diff -e /n/fornaxdump/1994/0503/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0508/sys/src/brazil/pc/dat.h
131,135d
## diffname pc/dat.h 1994/0520
## diff -e /n/fornaxdump/1994/0508/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0520/sys/src/brazil/pc/dat.h
193d
## diffname pc/dat.h 1994/0607
## diff -e /n/fornaxdump/1994/0520/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0607/sys/src/brazil/pc/dat.h
197a
extern char	filaddr[];
.
## diffname pc/dat.h 1994/0612
## diff -e /n/fornaxdump/1994/0607/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0612/sys/src/brazil/pc/dat.h
23c
#define EXEC_MAGIC(magic)	(magic==I_MAGIC)
.
## diffname pc/dat.h 1994/0621
## diff -e /n/fornaxdump/1994/0612/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0621/sys/src/brazil/pc/dat.h
23c
#define AOUT_MAGIC	(I_MAGIC)
.
## diffname pc/dat.h 1994/0728
## diff -e /n/fornaxdump/1994/0621/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0728/sys/src/brazil/pc/dat.h
128,129c
	int	nrdy;
.
## diffname pc/dat.h 1994/0813
## diff -e /n/fornaxdump/1994/0728/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0813/sys/src/brazil/pc/dat.h
197a
extern ulong	crasharea;
.
## diffname pc/dat.h 1994/0814
## diff -e /n/fornaxdump/1994/0813/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0814/sys/src/brazil/pc/dat.h
198d
## diffname pc/dat.h 1994/0823
## diff -e /n/fornaxdump/1994/0814/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0823/sys/src/brazil/pc/dat.h
185a
	ulong	freq;
.
## diffname pc/dat.h 1994/0908
## diff -e /n/fornaxdump/1994/0823/sys/src/brazil/pc/dat.h /n/fornaxdump/1994/0908/sys/src/brazil/pc/dat.h
189a
enum {
	MaxScsi		= 4,
	NTarget		= 8,
};

struct Target {
	int	ctlrno;
	int	target;
	uchar*	inq;
	uchar*	scratch;

	int	ok;
};
typedef int 	(*Scsiio)(Target*, int, uchar*, int, void*, int*);

.
## diffname pc/dat.h 1995/0223
## diff -e /n/fornaxdump/1994/0908/sys/src/brazil/pc/dat.h /n/fornaxdump/1995/0223/sys/src/brazil/pc/dat.h
194d
189a
/*
 *  SCSI bus
 */
.
179a
/*
 *  a parsed plan9.ini line
 */
.
## diffname pc/dat.h 1995/0225
## diff -e /n/fornaxdump/1995/0223/sys/src/brazil/pc/dat.h /n/fornaxdump/1995/0225/sys/src/brazil/pc/dat.h
191a

/*
 *  maps between ISA memory space and PCMCIA card memory space
 */
struct PCMmap
{
	ulong	ca;		/* card address */
	ulong	cea;		/* card end address */
	ulong	isa;		/* ISA address */
	int	len;		/* length of the ISA area */
	int	attr;		/* attribute memory */
	int	ref;
};

.
9a
typedef struct PCMmap	PCMmap;
.
## diffname pc/dat.h 1995/0517
## diff -e /n/fornaxdump/1995/0225/sys/src/brazil/pc/dat.h /n/fornaxdump/1995/0517/sys/src/brazil/pc/dat.h
9a
typedef struct PCIcfg	PCIcfg;
.
## diffname pc/dat.h 1995/0803
## diff -e /n/fornaxdump/1995/0517/sys/src/brazil/pc/dat.h /n/fornaxdump/1995/0803/sys/src/brazil/pc/dat.h
188a
	int	dma;
.
## diffname pc/dat.h 1995/0920
## diff -e /n/fornaxdump/1995/0803/sys/src/brazil/pc/dat.h /n/fornaxdump/1995/0920/sys/src/brazil/pc/dat.h
193a

	int	nopt;
	char	opt[NISAOPT][ISAOPTLEN];
.
184a
#define ISAOPTLEN	16
#define NISAOPT		8

.
## diffname pc/dat.h 1995/1009
## diff -e /n/fornaxdump/1995/0920/sys/src/brazil/pc/dat.h /n/fornaxdump/1995/1009/sys/src/brazil/pc/dat.h
30a
	ulong	pc;
.
## diffname pc/dat.h 1995/1030
## diff -e /n/fornaxdump/1995/1009/sys/src/brazil/pc/dat.h /n/fornaxdump/1995/1030/sys/src/brazil/pc/dat.h
31a
	ulong	pid;
.
## diffname pc/dat.h 1996/0210
## diff -e /n/fornaxdump/1995/1030/sys/src/brazil/pc/dat.h /n/fornaxdump/1996/0210/sys/src/brazil/pc/dat.h
230a
	Rendez	rendez;

.
## diffname pc/dat.h 1996/0511
## diff -e /n/fornaxdump/1996/0210/sys/src/brazil/pc/dat.h /n/fornaxdump/1996/0511/sys/src/brazil/pc/dat.h
32a
	int	pri;
.
## diffname pc/dat.h 1996/0523
## diff -e /n/fornaxdump/1996/0511/sys/src/brazil/pc/dat.h /n/fornaxdump/1996/0523/sys/src/brazil/pc/dat.h
33d
## diffname pc/dat.h 1997/0327
## diff -e /n/fornaxdump/1996/0523/sys/src/brazil/pc/dat.h /n/emeliedump/1997/0327/sys/src/brazil/pc/dat.h
243,245c
typedef struct Irqctl {
	int	(*isr)(int);		/* get isr bit for this irq */
	int	(*eoi)(int);		/* eoi */
	int	isintr;

	Irq*	irq;			/* handlers on this IRQ */
} Irqctl;
.
240,241c
	Irq*	next;			/* link to next handler */
} Irq;
.
237,238c
typedef struct Irq {
	void	(*f)(Ureg*, void*);	/* handler to call */
	void*	a;			/* argument to call it with */
.
216a
extern Mach	*m;
#define up	(((Mach*)MACHADDR)->externup)
.
207,215c
Mach* machp[MAXMACH];
	
#define	MACHP(n)	(machp[n])
.
205c
 * Each processor sees its own Mach structure at address MACHADDR.
 * However, the Mach structures must also be available via the per-processor
 * MMU information array machp, mainly for disambiguation and access to
 * the clock which is only maintained by the bootstrap processor (0).
.
203a
extern PCArch	*arch;			/* PC architecture */

.
198d
194c
	ulong	dma;
.
181c

	void	(*intrinit)(void);
	int	(*intrenable)(int, int, Irqctl*);

	void	(*clockenable)(void);
.
176,178d
174c
	char*	id;
	int	(*ident)(void);		/* this should be in the model */
.
165,166c
	int	machs;			/* bitmap of active CPUs */
	int	exiting;		/* shutdown */
	int	ispanic;		/* shutdown in response to a panic */
.
153,161d
141a
	int	loopconst;

	int	cpumhz;
	int	cpuidax;
	int	cpuiddx;
	char	cpuidid[16];
	char*	cpuidtype;

.
131,132c
	void*	alarm;			/* alarms bound to this clock */
.
128d
126c

	void*	pdb;			/* page directory base for this processor (va) */
	Tss*	tss;			/* tss for this processor */
	Segdesc	gdt[6];			/* gdt for this processor */

	Proc*	proc;			/* current process on this processor */
	Proc*	externup;		/* extern register Proc *up */

	Page*	pdbpool;
	int	pdbcnt;

.
121a
struct Segdesc
{
	ulong	d0;
	ulong	d1;
};

.
118,120c
typedef struct {
	ulong	link;			/* link (old TSS selector) */
	ulong	esp0;			/* privilege level 0 stack pointer */
	ulong	ss0;			/* privilege level 0 stack selector */
	ulong	esp1;			/* privilege level 1 stack pointer */
	ulong	ss1;			/* privilege level 1 stack selector */
	ulong	esp2;			/* privilege level 2 stack pointer */
	ulong	ss2;			/* privilege level 2 stack selector */
	ulong	cr3;			/* page directory base register */
	ulong	eip;			/* instruction pointer */
	ulong	eflags;			/* flags register */
	ulong	eax;			/* general registers */
	ulong 	ecx;
	ulong	edx;
	ulong	ebx;
	ulong	esp;
	ulong	ebp;
	ulong	esi;
	ulong	edi;
	ulong	es;			/* segment selectors */
	ulong	cs;
	ulong	ss;
	ulong	ds;
	ulong	fs;
	ulong	gs;
	ulong	ldt;			/* selector for task's LDT */
	ulong	iomap;			/* I/O map base address + T-bit */
} Tss;
.
101,103c
	Page*	mmupdb;			/* page directory base */
	Page*	mmufree;		/* unused page table pages */
	Page*	mmuused;		/* used page table pages */
.
96,97d
84,88d
76d
17,21d
10c
typedef struct Pcidev	Pcidev;
.
2a
typedef struct Irq	Irq;
typedef struct Irqctl	Irqctl;
.
## diffname pc/dat.h 1997/1101
## diff -e /n/emeliedump/1997/0327/sys/src/brazil/pc/dat.h /n/emeliedump/1997/1101/sys/src/brazil/pc/dat.h
147c
	ulong*	pdb;			/* page directory base for this processor (va) */
.
## diffname pc/dat.h 1998/0115
## diff -e /n/emeliedump/1997/1101/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0115/sys/src/brazil/pc/dat.h
169a
	ulong	spuriousintr;
	ulong	lastintr;

.
## diffname pc/dat.h 1998/0401
## diff -e /n/emeliedump/1998/0115/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0401/sys/src/brazil/pc/dat.h
180a
	vlong	mtrrcap;
	vlong	mtrrdef;
	vlong	mtrrfix[11];
	vlong	mtrrvar[32];		/* 256 max. */

.
## diffname pc/dat.h 1998/0604
## diff -e /n/emeliedump/1998/0401/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0604/sys/src/brazil/pc/dat.h
29c
	Proc	*p;
	ushort	pri;
	ushort	isilock;
.
17a
typedef struct Proc	Proc;
.
## diffname pc/dat.h 1998/0605
## diff -e /n/emeliedump/1998/0604/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0605/sys/src/brazil/pc/dat.h
18d
15a
typedef struct Proc	Proc;
.
## diffname pc/dat.h 1998/0606
## diff -e /n/emeliedump/1998/0605/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0606/sys/src/brazil/pc/dat.h
163a

	ulong	fairness;		/* for runproc */
.
31d
## diffname pc/dat.h 1998/0710
## diff -e /n/emeliedump/1998/0606/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0710/sys/src/brazil/pc/dat.h
223a
	uvlong	(*fastclock)(uvlong*);
.
## diffname pc/dat.h 1998/0716
## diff -e /n/emeliedump/1998/0710/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0716/sys/src/brazil/pc/dat.h
189a
	vlong	clockstart;		/* starting value for cycle clock */

.
## diffname pc/dat.h 1998/0717
## diff -e /n/emeliedump/1998/0716/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0717/sys/src/brazil/pc/dat.h
190c
	vlong	fastclock;		/* last sampled value */
.
## diffname pc/dat.h 1998/0725
## diff -e /n/emeliedump/1998/0717/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0725/sys/src/brazil/pc/dat.h
189,190d
172a
	vlong	fastclock;		/* last sampled value */
	int	flushmmu;		/* make current proc flush it's mmu state */
.
## diffname pc/dat.h 1998/0825
## diff -e /n/emeliedump/1998/0725/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0825/sys/src/brazil/pc/dat.h
177c
	int	lastintr;
.
## diffname pc/dat.h 1998/0910
## diff -e /n/emeliedump/1998/0825/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0910/sys/src/brazil/pc/dat.h
262,295d
223c
	int	(*intrenable)(Vctl*);
.
18a
typedef struct Vctl	Vctl;
.
3,4d
## diffname pc/dat.h 1998/0916
## diff -e /n/emeliedump/1998/0910/sys/src/brazil/pc/dat.h /n/emeliedump/1998/0916/sys/src/brazil/pc/dat.h
77a
	int	nswppo;		/* max # of pageouts per segment pass */
.
## diffname pc/dat.h 1999/0131
## diff -e /n/emeliedump/1998/0916/sys/src/brazil/pc/dat.h /n/emeliedump/1999/0131/sys/src/brazil/pc/dat.h
181a
	int	cpuhz;
.
## diffname pc/dat.h 1999/0701
## diff -e /n/emeliedump/1999/0131/sys/src/brazil/pc/dat.h /n/emeliedump/1999/0701/sys/src/brazil/pc/dat.h
173a
	vlong	intrts;			/* time stamp of last interrupt */
.
## diffname pc/dat.h 1999/0810
## diff -e /n/emeliedump/1999/0701/sys/src/brazil/pc/dat.h /n/emeliedump/1999/0810/sys/src/brazil/pc/dat.h
30a
	ulong	glare;
.
## diffname pc/dat.h 1999/0811
## diff -e /n/emeliedump/1999/0810/sys/src/brazil/pc/dat.h /n/emeliedump/1999/0811/sys/src/brazil/pc/dat.h
31d
## diffname pc/dat.h 2000/0623
## diff -e /n/emeliedump/1999/0811/sys/src/brazil/pc/dat.h /n/emeliedump/2000/0623/sys/src/9/pc/dat.h
196a
typedef struct Cycintr	Cycintr;

/*
 * fasttick timer interrupts
 */
struct Cycintr
{
	vlong	when;			/* fastticks when f should be called */
	void	(*f)(Ureg*, Cycintr*);
	void	*a;
	Cycintr	*next;
};

.
## diffname pc/dat.h 2000/1018
## diff -e /n/emeliedump/2000/0623/sys/src/9/pc/dat.h /n/emeliedump/2000/1018/sys/src/9/pc/dat.h
151c
	Segdesc	gdt[NGDT];			/* gdt for this processor */
.
## diffname pc/dat.h 2000/1106
## diff -e /n/emeliedump/2000/1018/sys/src/9/pc/dat.h /n/emeliedump/2000/1106/sys/src/9/pc/dat.h
162a
	int	inclockintr;
.
## diffname pc/dat.h 2000/1118
## diff -e /n/emeliedump/2000/1106/sys/src/9/pc/dat.h /n/emeliedump/2000/1118/sys/src/9/pc/dat.h
11a
typedef struct PCMslot	PCMslot;
.
## diffname pc/dat.h 2001/0121
## diff -e /n/emeliedump/2000/1118/sys/src/9/pc/dat.h /n/emeliedump/2001/0121/sys/src/9/pc/dat.h
249c
#define ISAOPTLEN	28
.
## diffname pc/dat.h 2001/0527
## diff -e /n/emeliedump/2001/0121/sys/src/9/pc/dat.h /n/emeliedump/2001/0527/sys/src/9/pc/dat.h
262c
	char	*opt[NISAOPT];
.
253c
	char		*type;
.
249d
84a
	int	nuart;	/* number of uart devices */
.
## diffname pc/dat.h 2001/0731
## diff -e /n/emeliedump/2001/0527/sys/src/9/pc/dat.h /n/emeliedump/2001/0731/sys/src/9/pc/dat.h
19a
#define MAXSYSARG	5	/* for mount(fd, mpt, flag, arg, srv) */

.
## diffname pc/dat.h 2001/0819
## diff -e /n/emeliedump/2001/0731/sys/src/9/pc/dat.h /n/emeliedump/2001/0819/sys/src/9/pc/dat.h
20c
#define MAXSYSARG	5	/* for mount(fd, afd, mpt, flag, arg) */
.
## diffname pc/dat.h 2001/0905
## diff -e /n/emeliedump/2001/0819/sys/src/9/pc/dat.h /n/emeliedump/2001/0905/sys/src/9/pc/dat.h
280a

/*
 *  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 */
};
.
243a
	int	(*intrvecno)(int);
	int	(*intrdisable)(int);
.
## diffname pc/dat.h 2002/0109
## diff -e /n/emeliedump/2001/0905/sys/src/9/pc/dat.h /n/emeliedump/2002/0109/sys/src/9/pc/dat.h
87c
	int	nuart;		/* number of uart devices */
.
## diffname pc/dat.h 2002/0221
## diff -e /n/emeliedump/2002/0109/sys/src/9/pc/dat.h /n/emeliedump/2002/0221/sys/src/9/pc/dat.h
188c
	vlong	cpuhz;
.
## diffname pc/dat.h 2002/0315
## diff -e /n/emeliedump/2002/0221/sys/src/9/pc/dat.h /n/emeliedump/2002/0315/sys/src/9/pc/dat.h
33a
	Proc	*	edfwaiting;
.
32c
	Proc	*	p;
.
## diffname pc/dat.h 2002/0330
## diff -e /n/emeliedump/2002/0315/sys/src/9/pc/dat.h /n/emeliedump/2002/0330/sys/src/9/pc/dat.h
34d
## diffname pc/dat.h 2002/0404
## diff -e /n/emeliedump/2002/0330/sys/src/9/pc/dat.h /n/emeliedump/2002/0404/sys/src/9/pc/dat.h
201,202d
1a
typedef struct Cycintr	Cycintr;
.
## diffname pc/dat.h 2002/0405
## diff -e /n/emeliedump/2002/0404/sys/src/9/pc/dat.h /n/emeliedump/2002/0405/sys/src/9/pc/dat.h
211c
	Timer	*next;
.
209c
	void	(*f)(Ureg*, Timer*);
.
206c
struct Timer
.
193a
	int	havetsc;
	vlong	lasttsc;		/* last sampled value */
.
179d
2c
typedef struct Timer	Timer;
.
## diffname pc/dat.h 2002/0410
## diff -e /n/emeliedump/2002/0405/sys/src/9/pc/dat.h /n/emeliedump/2002/0410/sys/src/9/pc/dat.h
248a
	void	(*timerset)(uvlong);
.
205,215d
194d
186a
	Lock	apictimerlock;
.
2d
## diffname pc/dat.h 2002/0412
## diff -e /n/emeliedump/2002/0410/sys/src/9/pc/dat.h /n/emeliedump/2002/0412/sys/src/9/pc/dat.h
193a
	int	havepge;
.
155c
	Segdesc	*gdt;			/* gdt for this processor */
.
150c
	int	machno;			/* physical id of processor (KNOWN TO ASSEMBLY) */
.
## diffname pc/dat.h 2002/0415
## diff -e /n/emeliedump/2002/0412/sys/src/9/pc/dat.h /n/emeliedump/2002/0415/sys/src/9/pc/dat.h
194a
	uvlong	tscticks;
	uvlong	tscoff;
.
188c
	uvlong	cpuhz;
.
## diffname pc/dat.h 2002/0420
## diff -e /n/emeliedump/2002/0415/sys/src/9/pc/dat.h /n/emeliedump/2002/0420/sys/src/9/pc/dat.h
179a
	int		ilockdepth;
.
## diffname pc/dat.h 2002/0703
## diff -e /n/emeliedump/2002/0420/sys/src/9/pc/dat.h /n/emeliedump/2002/0703/sys/src/9/pc/dat.h
287,290c
	ulong	intnum;	/* interrupt number */
	char	*type;		/* card type, malloced */
	int	nports;		/* Number of ports */
	port_t	*ports;		/* The ports themselves */
.
282c
	int	size;
.
250c
	char	*type;
.
180c
	int	ilockdepth;
.
32c
	Proc	*p;
.
## diffname pc/dat.h 2002/0820
## diff -e /n/emeliedump/2002/0703/sys/src/9/pc/dat.h /n/emeliedump/2002/0820/sys/src/9/pc/dat.h
178c
	uvlong	intrts;			/* time stamp of last interrupt */
.
## diffname pc/dat.h 2002/0821
## diff -e /n/emeliedump/2002/0820/sys/src/9/pc/dat.h /n/emeliedump/2002/0821/sys/src/9/pc/dat.h
180a
	ulong	inidle;			/* fastticks in idlehands() since last slowtick */
	ulong	avginidle;		/* avg fastticks in idlehands() per slowtick */
.
## diffname pc/dat.h 2002/0822
## diff -e /n/emeliedump/2002/0821/sys/src/9/pc/dat.h /n/emeliedump/2002/0822/sys/src/9/pc/dat.h
181,182c
	Perf	perf;			/* performance counters */
.
178d
## diffname pc/dat.h 2002/0824
## diff -e /n/emeliedump/2002/0822/sys/src/9/pc/dat.h /n/emeliedump/2002/0824/sys/src/9/pc/dat.h
48,50c
	/* this is a state */
	FPinit=		0,
	FPactive=	1,
	FPinactive=	2,

	/* the following is a bit that can be or'd into the state */
	FPillegal=	0x100,
.
## diffname pc/dat.h 2003/0301
## diff -e /n/emeliedump/2002/0824/sys/src/9/pc/dat.h /n/emeliedump/2003/0301/sys/src/9/pc/dat.h
256c
	int	irq;
.

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].