typedef struct Conf Conf;
typedef struct Confmem Confmem;
typedef struct FPsave FPsave;
+typedef struct PFPU PFPU;
typedef struct KMap KMap;
typedef struct Lance Lance;
typedef struct Lancemem Lancemem;
typedef struct Lock Lock;
typedef struct Mach Mach;
typedef struct MMU MMU;
-typedef struct Notsave Notsave;
typedef struct PMMU PMMU;
typedef struct Softtlb Softtlb;
typedef struct Ureg Ureg;
typedef struct Proc Proc;
+typedef struct ISAConf ISAConf;
typedef uvlong Tval;
#define MAXSYSARG 5 /* for mount(fd, afd, mpt, flag, arg) */
int keyboard;
};
-/*
- * floating point registers
- */
-enum
+struct ISAConf
{
- /* floating point state */
- FPinit,
- FPactive,
- FPinactive,
- FPemu,
-
- /* bit meaning floating point illegal */
- FPillegal= 0x100,
+ char *type;
+ ulong port;
+ int irq;
+ int nopt;
+ char *opt[1];
};
+#define BUSUNKNOWN -1
+/*
+ * floating point registers
+ */
enum {
Nfpregs = 32, /* floats; half as many doubles */
};
int fpcnt; /* how many consecutive at that addr */
};
-/*
- * mmu goo in the Proc structure
- */
-struct PMMU
+struct PFPU
{
- int pidonmach[MAXMACH];
+ int fpstate;
+ FPsave fpsave[1];
+};
+
+enum
+{
+ /* floating point state */
+ FPinit,
+ FPactive,
+ FPinactive,
+ FPemu,
+
+ /* bit meaning floating point illegal */
+ FPillegal= 0x100,
};
/*
- * things saved in the Proc structure during a notify
+ * mmu goo in the Proc structure
*/
-struct Notsave
+struct PMMU
{
- ulong nonempty;
+ int pidonmach[MAXMACH];
};
#include "../port/portdat.h"
struct
{
- Lock;
- long machs; /* bitmap of processors */
+ char machs[MAXMACH]; /* active cpus */
short exiting;
}active;