xserver

xserver with xephyr scale patch
git clone https://git.neptards.moe/u3shit/xserver.git
Log | Files | Refs | README | LICENSE

bsd_ev56.c (1803B)


      1 
      2 #ifdef HAVE_XORG_CONFIG_H
      3 #include <xorg-config.h>
      4 #endif
      5 
      6 #include <X11/X.h>
      7 #include "input.h"
      8 #include "scrnintstr.h"
      9 #include "compiler.h"
     10 
     11 #include "xf86.h"
     12 #include "xf86Priv.h"
     13 #include "xf86_OSlib.h"
     14 #include "xf86OSpriv.h"
     15 
     16 #include <machine/bwx.h>
     17 
     18 /*
     19  * The following functions are used only on EV56 and greater CPUs,
     20  * and the assembler requires going to EV56 mode in order to emit
     21  * these instructions.
     22  */
     23 __asm(".arch ev56");
     24 
     25 int readDense8(void *Base, register unsigned long Offset);
     26 int readDense16(void *Base, register unsigned long Offset);
     27 int readDense32(void *Base, register unsigned long Offset);
     28 void
     29  writeDense8(int Value, void *Base, register unsigned long Offset);
     30 void
     31  writeDense16(int Value, void *Base, register unsigned long Offset);
     32 void
     33  writeDense32(int Value, void *Base, register unsigned long Offset);
     34 
     35 int
     36 readDense8(void *Base, register unsigned long Offset)
     37 {
     38     mem_barrier();
     39     return (alpha_ldbu((void *) ((unsigned long) Base + (Offset))));
     40 }
     41 
     42 int
     43 readDense16(void *Base, register unsigned long Offset)
     44 {
     45     mem_barrier();
     46     return (alpha_ldwu((void *) ((unsigned long) Base + (Offset))));
     47 }
     48 
     49 int
     50 readDense32(void *Base, register unsigned long Offset)
     51 {
     52     mem_barrier();
     53     return *(volatile CARD32 *) ((unsigned long) Base + (Offset));
     54 }
     55 
     56 void
     57 writeDense8(int Value, void *Base, register unsigned long Offset)
     58 {
     59     write_mem_barrier();
     60     alpha_stb((void *) ((unsigned long) Base + (Offset)), Value);
     61 }
     62 
     63 void
     64 writeDense16(int Value, void *Base, register unsigned long Offset)
     65 {
     66     write_mem_barrier();
     67     alpha_stw((void *) ((unsigned long) Base + (Offset)), Value);
     68 }
     69 
     70 void
     71 writeDense32(int Value, void *Base, register unsigned long Offset)
     72 {
     73     write_mem_barrier();
     74     *(volatile CARD32 *) ((unsigned long) Base + (Offset)) = Value;
     75 }