]> git.lizzy.rs Git - plan9front.git/blob - sys/src/9/mtx/inb.s
ether8169: support rtl8402 variant
[plan9front.git] / sys / src / 9 / mtx / inb.s
1 #include "mem.h"
2
3 #define BDNZ    BC      16,0,
4 #define BDNE    BC      0,2,
5
6 TEXT    inb(SB), $0
7         OR      $IOMEM, R3
8         MOVBZ   (R3), R3
9         RETURN
10
11 TEXT    insb(SB), $0
12         MOVW    v+4(FP), R4
13         MOVW    n+8(FP), R5
14         MOVW    R5, CTR
15         OR      $IOMEM, R3
16         SUB     $1, R4
17 insb1:
18         MOVBZ   (R3), R7
19         MOVBU   R7, 1(R4)
20         BDNZ    insb1
21         RETURN
22
23 TEXT    outb(SB), $0
24         MOVW    v+4(FP), R4
25         OR      $IOMEM, R3
26         EIEIO
27         MOVB    R4, (R3)
28         RETURN
29
30 TEXT    outsb(SB), $0
31         MOVW    v+4(FP), R4
32         MOVW    n+8(FP), R5
33         MOVW    R5, CTR
34         OR      $IOMEM, R3
35         SUB     $1, R4
36 outsb1:
37         EIEIO
38         MOVBZU  1(R4), R7
39         MOVB    R7, (R3)
40         BDNZ    outsb1
41         RETURN
42
43 TEXT    ins(SB), $0
44         OR      $IOMEM, R3
45         EIEIO
46         MOVHBR  (R3), R3
47         RETURN
48
49 TEXT    inss(SB), $0
50         MOVW    v+4(FP), R4
51         MOVW    n+8(FP), R5
52         MOVW    R5, CTR
53         OR      $IOMEM, R3
54         SUB     $2, R4
55 inss1:
56         EIEIO
57         MOVHZ   (R3), R7
58         MOVHU   R7, 2(R4)
59         BDNZ    inss1
60         RETURN
61
62 TEXT    outs(SB), $0
63         MOVW    v+4(FP), R4
64         OR      $IOMEM, R3
65         EIEIO
66         MOVHBR  R4, (R3)
67         RETURN
68
69 TEXT    outss(SB), $0
70         MOVW    v+4(FP), R4
71         MOVW    n+8(FP), R5
72         MOVW    R5, CTR
73         OR      $IOMEM, R3
74         SUB     $2, R4
75 outss1:
76         EIEIO
77         MOVHZU  2(R4), R7
78         MOVH    R7, (R3)
79         BDNZ    outss1
80         RETURN
81
82 TEXT    inl(SB), $0
83         OR      $IOMEM, R3
84         EIEIO
85         MOVWBR  (R3), R3
86         RETURN
87
88 TEXT    insl(SB), $0
89         MOVW    v+4(FP), R4
90         MOVW    n+8(FP), R5
91         MOVW    R5, CTR
92         OR      $IOMEM, R3
93         SUB     $4, R4
94 insl1:
95         EIEIO
96         MOVW    (R3), R7
97         MOVWU   R7, 4(R4)
98         BDNZ    insl1
99         RETURN
100
101 TEXT    outl(SB), $0
102         MOVW    v+4(FP), R4
103         OR      $IOMEM, R3
104         EIEIO
105         MOVWBR  R4, (R3)
106         RETURN
107
108 TEXT    outsl(SB), $0
109         MOVW    v+4(FP), R4
110         MOVW    n+8(FP), R5
111         MOVW    R5, CTR
112         OR      $IOMEM, R3
113         SUB     $4, R4
114 outsl1:
115         EIEIO
116         MOVWU   4(R4), R7
117         MOVW    R7, (R3)
118         BDNZ    outsl1
119         RETURN