]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/9/pc64/fns.h
pc64: avoid getcr3() in mmuflushtlb()
[plan9front.git] / sys / src / 9 / pc64 / fns.h
index b3408badb34df5085bf80a8b5e91a9deef175b15..75764f06dff4e1f41ce1030f5950c8f9dddc4f51 100644 (file)
@@ -15,7 +15,8 @@ void  clockintr(Ureg*, void*);
 int    (*cmpswap)(long*, long, long);
 int    cmpswap486(long*, long, long);
 void   (*coherence)(void);
-void   cpuid(int, ulong regs[]);
+void   cpuid(int, int, ulong regs[]);
+void   fpuinit(void);
 int    cpuidentify(void);
 void   cpuidprint(void);
 void   (*cycles)(uvlong*);
@@ -38,19 +39,19 @@ int ecwrite(uchar addr, uchar val);
 void   fpinit(void);
 void   (*fprestore)(FPsave*);
 void   (*fpsave)(FPsave*);
-void   fpsserestore(FPsave*);
-void   fpssesave(FPsave*);
-void   fpx87restore(FPsave*);
-void   fpx87save(FPsave*);
+void   fpuprocsetup(Proc*);
+void   fpuprocfork(Proc*);
+void   fpuprocsave(Proc*);
+void   fpuprocrestore(Proc*);
 int    fpusave(void);
 void   fpurestore(int);
 u64int getcr0(void);
 u64int getcr2(void);
 u64int getcr3(void);
 u64int getcr4(void);
+u64int getxcr0(void);
 u64int getdr6(void);
 char*  getconf(char*);
-void   guesscpuhz(int);
 void   halt(void);
 void   mwait(void*);
 int    i8042auxcmd(int);
@@ -63,13 +64,6 @@ void i8253init(void);
 void   i8253reset(void);
 uvlong i8253read(uvlong*);
 void   i8253timerset(uvlong);
-int    i8259disable(int);
-int    i8259enable(Vctl*);
-void   i8259init(void);
-int    i8259isr(int);
-void   i8259on(void);
-void   i8259off(void);
-int    i8259vecno(int);
 void   idle(void);
 void   idlehands(void);
 int    inb(int);
@@ -102,13 +96,15 @@ void       meminit(void);
 void   meminit0(void);
 void   memreserve(uintptr, uintptr);
 void   mfence(void);
-#define mmuflushtlb() putcr3(getcr3())
+#define mmuflushtlb(pml4) putcr3(pml4)
 void   mmuinit(void);
 uintptr        *mmuwalk(uintptr*, uintptr, int, int);
 char*  mtrr(uvlong, uvlong, char *);
+char*  mtrrattr(uvlong, uvlong *);
 void   mtrrclock(void);
 int    mtrrprint(char *, long);
 void   mtrrsync(void);
+void   nmienable(void);
 void   noteret(void);
 uchar  nvramread(int);
 void   nvramwrite(int, uchar);
@@ -143,6 +139,7 @@ void        putcr0(u64int);
 void   putcr2(u64int);
 void   putcr3(u64int);
 void   putcr4(u64int);
+void   putxcr0(u64int);
 void   putdr(u64int*);
 void   putdr01236(u64int*);
 void   putdr6(u64int);