]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/9/sgi/dat.h
usbehci: catch interrupt in tsleep
[plan9front.git] / sys / src / 9 / sgi / dat.h
index 771b755cee49c810f23e29ae6e9b97178f89c92d..126eb3793db989239152381636a120cf59cc7eef 100644 (file)
@@ -1,6 +1,7 @@
 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;
@@ -8,11 +9,11 @@ typedef struct Label  Label;
 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) */
@@ -70,21 +71,19 @@ struct Conf
        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 */
 };
@@ -111,20 +110,30 @@ struct FPsave
        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"
@@ -203,8 +212,7 @@ struct Softtlb
 
 struct
 {
-       Lock;
-       long    machs;          /* bitmap of processors */
+       char    machs[MAXMACH];         /* active cpus */
        short   exiting;
 }active;