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

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


## diffname carrera/dat.h 1993/0903
## diff -e /dev/null /n/fornaxdump/1993/0903/sys/src/brazil/carrera/dat.h
0a
typedef struct Conf	Conf;
typedef struct FPsave	FPsave;
typedef struct Cycmsg	Cycmsg;
typedef struct KMap	KMap;
typedef struct Lance	Lance;
typedef struct Lancemem	Lancemem;
typedef struct Label	Label;
typedef struct Lock	Lock;
typedef struct Mach	Mach;
typedef struct MMU	MMU;
typedef struct PMMU	PMMU;
typedef struct Softtlb	Softtlb;
typedef struct Ureg	Ureg;

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

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

struct Lock
{
	ulong	key;			/* semaphore (non-zero = locked) */
	ulong	pc;
	void	*upa;
};

struct Label
{
	ulong	sp;
	ulong	pc;
};

struct Conf
{
	ulong	nmach;		/* processors */
	ulong	nproc;		/* processes */
	ulong	npage0;		/* total physical pages of memory */
	ulong	npage1;		/* total physical pages of memory */
	ulong	npage;		/* total physical pages of memory */
	ulong	upages;		/* user page pool */
	ulong	nimage;		/* number of page cache image headers */
	ulong	nswap;		/* number of swap pages */
	ulong	base0;		/* base of bank 0 */
	ulong	base1;		/* base of bank 1 */
	ulong	copymode;	/* 0 is copy on write, 1 is copy on reference */
	ulong	ipif;		/* Ip protocol interfaces */
	ulong	ip;		/* Ip conversations per interface */
	ulong	arp;		/* Arp table size */
	ulong	frag;		/* Ip fragment assemble queue size */
	ulong	debugger;	/* use processor 1 as a kernel debugger */
};

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

struct	FPsave
{
	long	fpreg[32];
	long	fpstatus;
};

/*
 *  mmu goo in the Proc structure
 */
struct PMMU
{
	int	pidonmach[MAXMACH];
	/*
	 * I/O point for hotrod interfaces.
	 * This is the easiest way to allocate
	 * them, but not the prettiest or most general.
	 */
	Cycmsg	*kcyc;
	Cycmsg	*ucyc;
	Cycmsg	*fcyc;
};

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

struct Cycmsg
{
	ulong	cmd;
	ulong	param[5];
	Rendez	r;
	uchar	intr;			/* flag: interrupt has occurred */
};

/* First FOUR members offsets known by l.s */
struct Mach
{
	/* the following are all known by l.s and cannot be moved */
	int	machno;			/* physical id of processor FIRST */
	Softtlb*stb;			/* Software tlb simulation SECOND */
	Proc*	proc;			/* process on this processor THIRD */
	ulong	splpc;			/* pc that called splhi() FOURTH */
	int	tlbfault;		/* # of tlb faults FIFTH */
	int	tlbpurge;		/* MUST BE SIXTH */

	/* the following is safe to move */
	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 */
	int	lastpid;		/* last pid allocated on this machine */
	Proc*	pidproc[NTLBPID];	/* proc that owns tlbpid on this mach */
	Page*	ufreeme;		/* address of upage of exited process */
	Ureg*	ur;
	KMap*	kactive;		/* active on this machine */
	int	knext;
	uchar	ktlbx[NTLB];		/* tlb index used for kmap */
	uchar	ktlbnext;
	int	speed;			/* cpu speed */
	ulong	delayloop;		/* for the delay() routine */

	int	pfault;
	int	cs;
	int	syscall;
	int	load;
	int	intr;
	int	ledval;			/* value last written to LED */

	int	stack[1];
};

struct KMap
{
	Ref;
	ulong	virt;
	ulong	phys0;
	ulong	phys1;
	KMap*	next;
	KMap*	konmach[MAXMACH];
	Page*	pg;
	char	inuse;			/* number of procs using kmap */
};

#define	VA(k)		((k)->virt)
#define PPN(x)		((x)>>6)

struct Softtlb
{
	ulong	virt;
	ulong	phys0;
	ulong	phys1;
};



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

extern KMap kpte[];
extern register Mach	*m;
extern register Proc	*up;
.
## diffname carrera/dat.h 1993/0904
## diff -e /n/fornaxdump/1993/0903/sys/src/brazil/carrera/dat.h /n/fornaxdump/1993/0904/sys/src/brazil/carrera/dat.h
149c
#define PPN(x)		((ulong)(x)>>6)
.
## diffname carrera/dat.h 1993/0906
## diff -e /n/fornaxdump/1993/0904/sys/src/brazil/carrera/dat.h /n/fornaxdump/1993/0906/sys/src/brazil/carrera/dat.h
54d
49a
	int	monitor;

.
## diffname carrera/dat.h 1993/1006
## diff -e /n/fornaxdump/1993/0906/sys/src/brazil/carrera/dat.h /n/fornaxdump/1993/1006/sys/src/brazil/carrera/dat.h
91,98d
80,87d
3d
## diffname carrera/dat.h 1993/1013
## diff -e /n/fornaxdump/1993/1006/sys/src/brazil/carrera/dat.h /n/fornaxdump/1993/1013/sys/src/brazil/carrera/dat.h
78a
};

/*
 *  things saved in the Proc structure during a notify
 */
struct Notsave
{
	ulong	svstatus;
	ulong	svr1;
.
9a
typedef struct Notsave	Notsave;
.
## diffname carrera/dat.h 1993/1201
## diff -e /n/fornaxdump/1993/1013/sys/src/brazil/carrera/dat.h /n/fornaxdump/1993/1201/sys/src/brazil/carrera/dat.h
104a
	ulong	otlbfault;		/* tlbfault at last sched */
.
## diffname carrera/dat.h 1993/1204
## diff -e /n/fornaxdump/1993/1201/sys/src/brazil/carrera/dat.h /n/fornaxdump/1993/1204/sys/src/brazil/carrera/dat.h
119a
	Schedq	runq;
.
## diffname carrera/dat.h 1993/1214
## diff -e /n/fornaxdump/1993/1204/sys/src/brazil/carrera/dat.h /n/fornaxdump/1993/1214/sys/src/brazil/carrera/dat.h
120c
	Schedq	hiq;
	Schedq	loq;
.
## diffname carrera/dat.h 1993/1217
## diff -e /n/fornaxdump/1993/1214/sys/src/brazil/carrera/dat.h /n/fornaxdump/1993/1217/sys/src/brazil/carrera/dat.h
142d
## diffname carrera/dat.h 1993/1218
## diff -e /n/fornaxdump/1993/1217/sys/src/brazil/carrera/dat.h /n/fornaxdump/1993/1218/sys/src/brazil/carrera/dat.h
140a
	int	tlbi[MAXMACH];
.
116d
## diffname carrera/dat.h 1993/1219
## diff -e /n/fornaxdump/1993/1218/sys/src/brazil/carrera/dat.h /n/fornaxdump/1993/1219/sys/src/brazil/carrera/dat.h
112d
108,109d
104c
	/* the following are safe to move */
.
51,55d
## diffname carrera/dat.h 1993/1229
## diff -e /n/fornaxdump/1993/1219/sys/src/brazil/carrera/dat.h /n/fornaxdump/1993/1229/sys/src/brazil/carrera/dat.h
104a
	ulong	vaddrtst;		/* address probe by tstbadvaddr */
.
## diffname carrera/dat.h 1994/0311
## diff -e /n/fornaxdump/1993/1229/sys/src/brazil/carrera/dat.h /n/fornaxdump/1994/0311/sys/src/brazil/carrera/dat.h
113a

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

.
## diffname carrera/dat.h 1994/0322
## diff -e /n/fornaxdump/1994/0311/sys/src/brazil/carrera/dat.h /n/fornaxdump/1994/0322/sys/src/brazil/carrera/dat.h
50a
	ulong	ialloc;		/* bytes available for interrupt time allocation */
.
27,28c
	ulong	sr;
.
## diffname carrera/dat.h 1994/0325
## diff -e /n/fornaxdump/1994/0322/sys/src/brazil/carrera/dat.h /n/fornaxdump/1994/0325/sys/src/brazil/carrera/dat.h
117,120c
	Callbk*	cbin;
	Callbk*	cbout;
	Callbk*	cbend;
	Callbk	calls[NCALLBACK];
.
89a
typedef struct Callbk Callbk;
struct Callbk
{
	void	(*func)(void*);
	void*	arg;
};

.
## diffname carrera/dat.h 1994/0331
## diff -e /n/fornaxdump/1994/0325/sys/src/brazil/carrera/dat.h /n/fornaxdump/1994/0331/sys/src/brazil/carrera/dat.h
88,96d
## diffname carrera/dat.h 1994/0503
## diff -e /n/fornaxdump/1994/0331/sys/src/brazil/carrera/dat.h /n/fornaxdump/1994/0503/sys/src/brazil/carrera/dat.h
50a
	ulong	pipeqsize;	/* size in bytes of pipe queues */
.
## diffname carrera/dat.h 1994/0508
## diff -e /n/fornaxdump/1994/0503/sys/src/brazil/carrera/dat.h /n/fornaxdump/1994/0508/sys/src/brazil/carrera/dat.h
116,120d
## diffname carrera/dat.h 1994/0609
## diff -e /n/fornaxdump/1994/0508/sys/src/brazil/carrera/dat.h /n/fornaxdump/1994/0609/sys/src/brazil/carrera/dat.h
84c
	uvlong	svr1;
.
18c
#define AOUT_MAGIC	V_MAGIC || magic==M_MAGIC
.
## diffname carrera/dat.h 1994/0610
## diff -e /n/fornaxdump/1994/0609/sys/src/brazil/carrera/dat.h /n/fornaxdump/1994/0610/sys/src/brazil/carrera/dat.h
84c
	ulong	svr1;
.
18c
#define AOUT_MAGIC	V_MAGIC
.
## diffname carrera/dat.h 1994/0612
## diff -e /n/fornaxdump/1994/0610/sys/src/brazil/carrera/dat.h /n/fornaxdump/1994/0612/sys/src/brazil/carrera/dat.h
84c
	long	svr1;
	long	svhr1;
.
18c
#define EXEC_MAGIC(magic)	(magic==V_MAGIC||magic==M_MAGIC)
.
## diffname carrera/dat.h 1994/0614
## diff -e /n/fornaxdump/1994/0612/sys/src/brazil/carrera/dat.h /n/fornaxdump/1994/0614/sys/src/brazil/carrera/dat.h
84,85c
	ulong	svr1;
.
## diffname carrera/dat.h 1994/0617
## diff -e /n/fornaxdump/1994/0614/sys/src/brazil/carrera/dat.h /n/fornaxdump/1994/0617/sys/src/brazil/carrera/dat.h
18c
#define AOUT_MAGIC	V_MAGIC
.
## diffname carrera/dat.h 1994/0619
## diff -e /n/fornaxdump/1994/0617/sys/src/brazil/carrera/dat.h /n/fornaxdump/1994/0619/sys/src/brazil/carrera/dat.h
84c
	long	svr1;
	long	svhr1;
.
18,19c
#define AOUT_MAGIC	V_MAGIC || magic==M_MAGIC
.
## diffname carrera/dat.h 1994/0728
## diff -e /n/fornaxdump/1994/0619/sys/src/brazil/carrera/dat.h /n/fornaxdump/1994/0728/sys/src/brazil/carrera/dat.h
113,114c
	int	nrdy;
.
101d
## diffname carrera/dat.h 1995/0113
## diff -e /n/fornaxdump/1994/0728/sys/src/brazil/carrera/dat.h /n/fornaxdump/1995/0113/sys/src/brazil/carrera/dat.h
83,84d
## diffname carrera/dat.h 1995/0115
## diff -e /n/fornaxdump/1995/0113/sys/src/brazil/carrera/dat.h /n/fornaxdump/1995/0115/sys/src/brazil/carrera/dat.h
82c
	ulong	UNUSED;
.
## diffname carrera/dat.h 1995/0214
## diff -e /n/fornaxdump/1995/0115/sys/src/brazil/carrera/dat.h /n/fornaxdump/1995/0214/sys/src/brazil/carrera/dat.h
151a

struct ISAConf {
	char	type[NAMELEN];
	ulong	port;
	ulong	irq;
};
.
2a
typedef struct ISAConf	ISAConf;
.
## diffname carrera/dat.h 1995/0809
## diff -e /n/fornaxdump/1995/0214/sys/src/brazil/carrera/dat.h /n/fornaxdump/1995/0809/sys/src/brazil/carrera/dat.h
136c
#define	PPN(x)		((ulong)(x)>>6)
.
## diffname carrera/dat.h 1995/1009
## diff -e /n/fornaxdump/1995/0809/sys/src/brazil/carrera/dat.h /n/fornaxdump/1995/1009/sys/src/brazil/carrera/dat.h
27a
	ulong	pc;
.
## diffname carrera/dat.h 1995/1030
## diff -e /n/fornaxdump/1995/1009/sys/src/brazil/carrera/dat.h /n/fornaxdump/1995/1030/sys/src/brazil/carrera/dat.h
28a
	ulong	pid;
.
## diffname carrera/dat.h 1996/0511
## diff -e /n/fornaxdump/1995/1030/sys/src/brazil/carrera/dat.h /n/fornaxdump/1996/0511/sys/src/brazil/carrera/dat.h
29a
	int	pri;
.
## diffname carrera/dat.h 1996/0523
## diff -e /n/fornaxdump/1996/0511/sys/src/brazil/carrera/dat.h /n/fornaxdump/1996/0523/sys/src/brazil/carrera/dat.h
30d
## diffname carrera/dat.h 1996/1127
## diff -e /n/fornaxdump/1996/0523/sys/src/brazil/carrera/dat.h /n/fornaxdump/1996/1127/sys/src/brazil/carrera/dat.h
159a
	int	dma;
.
## diffname carrera/dat.h 1997/1210
## diff -e /n/fornaxdump/1996/1127/sys/src/brazil/carrera/dat.h /n/emeliedump/1997/1210/sys/src/brazil/carrera/dat.h
160c
	ulong	dma;
	ulong	mem;
	ulong	size;
	ulong	freq;

	int	nopt;
	char	opt[NISAOPT][ISAOPTLEN];
.
155a
/*
 *  a parsed plan9.ini line
 */
#define ISAOPTLEN	16
#define NISAOPT		8

.
## diffname carrera/dat.h 1998/0604
## diff -e /n/emeliedump/1997/1210/sys/src/brazil/carrera/dat.h /n/emeliedump/1998/0604/sys/src/brazil/carrera/dat.h
29c
	Proc	*p;
	ushort	pri;
	ushort	isilock;
.
14a
typedef struct Proc	Proc;
.
## diffname carrera/dat.h 1998/0606
## diff -e /n/emeliedump/1998/0604/sys/src/brazil/carrera/dat.h /n/emeliedump/1998/0606/sys/src/brazil/carrera/dat.h
116a
	ulong	fairness;		/* for runproc */
.
31d
## diffname carrera/dat.h 1998/0610
## diff -e /n/emeliedump/1998/0606/sys/src/brazil/carrera/dat.h /n/emeliedump/1998/0610/sys/src/brazil/carrera/dat.h
156a
	short	ispanic;
.
## diffname carrera/dat.h 1998/0725
## diff -e /n/emeliedump/1998/0610/sys/src/brazil/carrera/dat.h /n/emeliedump/1998/0725/sys/src/brazil/carrera/dat.h
116a
	vlong	fastclock;		/* last sampled value */
	int	flushmmu;		/* make current proc flush it's mmu state */
.
## diffname carrera/dat.h 1998/0916
## diff -e /n/emeliedump/1998/0725/sys/src/brazil/carrera/dat.h /n/emeliedump/1998/0916/sys/src/brazil/carrera/dat.h
49a
	int	nswppo;		/* max # of pageouts per segment pass */
.
## diffname carrera/dat.h 1999/0301
## diff -e /n/emeliedump/1998/0916/sys/src/brazil/carrera/dat.h /n/emeliedump/1999/0301/sys/src/brazil/carrera/dat.h
118c
	ulong	lastcyclecount;
	uvlong	fastclock;
.
## diffname carrera/dat.h 1999/0701
## diff -e /n/emeliedump/1999/0301/sys/src/brazil/carrera/dat.h /n/emeliedump/1999/0701/sys/src/brazil/carrera/dat.h
119a
	vlong	intrts;			/* time stamp of last interrupt */
.
## diffname carrera/dat.h 1999/0810
## diff -e /n/emeliedump/1999/0701/sys/src/brazil/carrera/dat.h /n/emeliedump/1999/0810/sys/src/brazil/carrera/dat.h
31a
	ulong	glare;
.
## diffname carrera/dat.h 1999/0811
## diff -e /n/emeliedump/1999/0810/sys/src/brazil/carrera/dat.h /n/emeliedump/1999/0811/sys/src/brazil/carrera/dat.h
32d
## diffname carrera/dat.h 2001/0527 # deleted
## diff -e /n/emeliedump/1999/0811/sys/src/brazil/carrera/dat.h /n/emeliedump/2001/0527/sys/src/9/carrera/dat.h
1,186d

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].