]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/9/zynq/dat.h
ether82563: add 0x15bd i219-lm variant (thanks crab1)
[plan9front.git] / sys / src / 9 / zynq / dat.h
index a1d50b40b91d9fb4b49e288c892a11a17d7b478a..116ca2982737a9483c6e637033cd36568c5bc474 100644 (file)
@@ -1,13 +1,13 @@
 typedef struct Conf    Conf;
 typedef struct Confmem Confmem;
 typedef struct FPsave  FPsave;
+typedef struct PFPU    PFPU;
 typedef struct L1      L1;
 typedef struct Label   Label;
 typedef struct Lock    Lock;
 typedef struct KMap    KMap;
 typedef struct MMMU    MMMU;
 typedef struct Mach    Mach;
-typedef struct Notsave Notsave;
 typedef struct Page    Page;
 typedef struct Proc    Proc;
 typedef struct PMMU    PMMU;
@@ -43,9 +43,12 @@ struct FPsave
        uchar   regs[256];
 };
 
-/*
- * FPsave.status
- */
+struct PFPU
+{
+       int     fpstate;
+       FPsave  fpsave[1];
+};
+
 enum
 {
        FPinit,
@@ -57,8 +60,7 @@ enum
 struct Confmem
 {
        uintptr base;
-       uintptr limit;
-       usize   npage;
+       ulong   npage;
        uintptr kbase;
        uintptr klimit;
 };
@@ -67,9 +69,9 @@ struct Conf
 {
        ulong   nmach;          /* processors */
        ulong   nproc;          /* processes */
-       Confmem mem[1];         /* physical memory */
+       Confmem mem[2];         /* physical memory */
        ulong   npage;          /* total physical pages of memory */
-       usize   upages;         /* user page pool */
+       ulong   upages;         /* user page pool */
        ulong   copymode;       /* 0 is copy on write, 1 is copy on reference */
        ulong   ialloc;         /* max interrupt time allocation in bytes */
        ulong   pipeqsize;      /* size in bytes of pipe queues */
@@ -79,13 +81,6 @@ struct Conf
        int     monitor;
 };
 
-/*
- *  things saved in the Proc structure during a notify
- */
-struct Notsave {
-       int     emptiness;
-};
-
 /*
  *  MMU stuff in proc
  */
@@ -120,7 +115,6 @@ struct MMMU
 
 struct Mach
 {
-       /* known to assembly */
        int     machno;                 /* physical id of processor */
        uintptr splpc;                  /* pc of last caller to splhi */
        Proc*   proc;                   /* current process */
@@ -128,53 +122,31 @@ struct Mach
        ulong   cycleshi;
        /* end of known to assembly */
 
-       int     flushmmu;               /* flush current proc mmu state */
-
-       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     inclockintr;
-
-       Proc*   readied;                /* for runproc */
-       ulong   schedticks;             /* next forced context switch */
+       MMMU;
 
-       ulong   delayloop;
+       PMach;
 
-       /* stats */
-       int     tlbfault;
-       int     tlbpurge;
-       int     pfault;
-       int     cs;
-       int     syscall;
-       int     load;
-       int     intr;
        int     lastintr;
-       int     ilockdepth;
-       Perf    perf;                   /* performance counters */
-
 
        int     cpumhz;
        uvlong  cpuhz;                  /* speed of cpu */
-       uvlong  cyclefreq;              /* Frequency of user readable cycle counter */
-       
-       MMMU;
 
-       int     stack[1];
+       uintptr stack[1];
 };
 
+#define NISAOPT                8
 struct ISAConf
 {
-       int dummy;
-       char *type;
-       ulong port;
-       int irq;
+       char    *type;
+       ulong   port;
+       int     irq;
+       int     nopt;
+       char    *opt[NISAOPT];
 };
 #define BUSUNKNOWN -1
 
 struct
 {
-       Lock;
        char    machs[MAXMACH];         /* active CPUs */
        int     exiting;                /* shutdown */
 }active;