1/* This file has to be built with -mcpu=ev56 */
2#ifdef HAVE_XORG_CONFIG_H
3#include <xorg-config.h>
4#endif
5
6#include "xf86.h"
7#include "compiler.h"
8
9int readDense8(pointer Base, register unsigned long Offset);
10int readDense16(pointer Base, register unsigned long Offset);
11int readDense32(pointer Base, register unsigned long Offset);
12void
13writeDenseNB8(int Value, pointer Base, register unsigned long Offset);
14void
15writeDenseNB16(int Value, pointer Base, register unsigned long Offset);
16void
17writeDenseNB32(int Value, pointer Base, register unsigned long Offset);
18void
19writeDense8(int Value, pointer Base, register unsigned long Offset);
20void
21writeDense16(int Value, pointer Base, register unsigned long Offset);
22void
23writeDense32(int Value, pointer Base, register unsigned long Offset);
24
25int
26readDense8(pointer Base, register unsigned long Offset)
27{
28    mem_barrier();
29    return *(volatile CARD8*) ((unsigned long)Base+(Offset));
30}
31
32int
33readDense16(pointer Base, register unsigned long Offset)
34{
35    mem_barrier();
36    return *(volatile CARD16*) ((unsigned long)Base+(Offset));
37}
38
39int
40readDense32(pointer Base, register unsigned long Offset)
41{
42    mem_barrier();
43    return *(volatile CARD32*)((unsigned long)Base+(Offset));
44}
45
46void
47writeDenseNB8(int Value, pointer Base, register unsigned long Offset)
48{
49    *(volatile CARD8*)((unsigned long)Base+(Offset)) = Value;
50}
51
52void
53writeDenseNB16(int Value, pointer Base, register unsigned long Offset)
54{
55    *(volatile CARD16*)((unsigned long)Base + (Offset)) = Value;
56}
57
58void
59writeDenseNB32(int Value, pointer Base, register unsigned long Offset)
60{
61    *(volatile CARD32*)((unsigned long)Base+(Offset)) = Value;
62}
63
64void
65writeDense8(int Value, pointer Base, register unsigned long Offset)
66{
67    write_mem_barrier();
68    *(volatile CARD8 *)((unsigned long)Base+(Offset)) = Value;
69}
70
71void
72writeDense16(int Value, pointer Base, register unsigned long Offset)
73{
74    write_mem_barrier();
75    *(volatile CARD16 *)((unsigned long)Base+(Offset)) = Value;
76}
77
78void
79writeDense32(int Value, pointer Base, register unsigned long Offset)
80{
81    write_mem_barrier();
82    *(volatile CARD32 *)((unsigned long)Base+(Offset)) = Value;
83}
84