Contents of /trunk/xorg-old/patches-6.8.2-r10/9962_all_text-relocations-BUSmemcpy.S.patch
Parent Directory | Revision Log
Revision 167 -
(show annotations)
(download)
Tue May 8 20:58:51 2007 UTC (17 years, 4 months ago) by niro
File size: 3897 byte(s)
Tue May 8 20:58:51 2007 UTC (17 years, 4 months ago) by niro
File size: 3897 byte(s)
-import
1 | --- xc-orig/programs/Xserver/hw/xfree86/os-support/misc/BUSmemcpy.S.orig 1999-07-10 03:24:49.000000000 -0400 |
2 | +++ xc/programs/Xserver/hw/xfree86/os-support/misc/BUSmemcpy.S 2003-12-03 02:08:01.000000000 -0500 |
3 | @@ -39,118 +39,114 @@ |
4 | |
5 | #include "assyntax.h" |
6 | |
7 | - FILE("BUSmemcpy.s") |
8 | + FILE("BUSmemcpy.s") |
9 | |
10 | - AS_BEGIN |
11 | + AS_BEGIN |
12 | |
13 | /* BusToMem copies from video memory to main memory |
14 | MemToBus copies from main memory to video memory |
15 | |
16 | - void xf86BusToMem(unsigned char *dst, unsigned char *src, int len); |
17 | - void xf86MemToBus(unsigned char *dst, unsigned char *src, int len); |
18 | + void xf86BusToMem(unsigned char *dst, unsigned char *src, int len); |
19 | + void xf86MemToBus(unsigned char *dst, unsigned char *src, int len); |
20 | */ |
21 | |
22 | #define dst REGOFF(4,ESP) |
23 | #define src REGOFF(8,ESP) |
24 | #define len REGOFF(12,ESP) |
25 | |
26 | - GLOBL GLNAME(xf86BusToMem) |
27 | - GLOBL GLNAME(xf86MemToBus) |
28 | + GLOBL GLNAME(xf86BusToMem) |
29 | + GLOBL GLNAME(xf86MemToBus) |
30 | |
31 | - SEG_DATA |
32 | + SEG_DATA |
33 | copyright: |
34 | - STRING("Copyright 8/9/1993 by Glenn G. Lai") |
35 | + STRING("Copyright 8/9/1993 by Glenn G. Lai") |
36 | |
37 | - ALIGNDATA4 |
38 | -tmp: D_LONG 0 |
39 | - |
40 | - SEG_TEXT |
41 | - ALIGNTEXT4 |
42 | + SEG_TEXT |
43 | + ALIGNTEXT4 |
44 | GLNAME(xf86BusToMem): |
45 | - CLD |
46 | - MOV_L (ESI, CONTENT(tmp)) |
47 | - MOV_L (EDI, EDX) |
48 | - |
49 | - MOV_L (src, ESI) |
50 | - MOV_L (dst, EDI) |
51 | - MOV_L (len, ECX) |
52 | - |
53 | - CMP_L (CONST(7), ECX) |
54 | - JC (quickBM) |
55 | - |
56 | - TEST_L (CONST(1), ESI) |
57 | - JZ (BwM) |
58 | - |
59 | - MOVS_B |
60 | - DEC_L (ECX) |
61 | - |
62 | -BwM: |
63 | - TEST_L (CONST(2), ESI) |
64 | - JZ (BlM) |
65 | - |
66 | - MOVS_W |
67 | - DEC_L (ECX) |
68 | - DEC_L (ECX) |
69 | + CLD |
70 | + PUSH_L (ESI) |
71 | + MOV_L (EDI, EDX) |
72 | + |
73 | + MOV_L (src, ESI) |
74 | + MOV_L (dst, EDI) |
75 | + MOV_L (len, ECX) |
76 | + |
77 | + CMP_L (CONST(7), ECX) |
78 | + JC (quickBM) |
79 | + |
80 | + TEST_L (CONST(1), ESI) |
81 | + JZ (BwM) |
82 | + |
83 | + MOVS_B |
84 | + DEC_L (ECX) |
85 | + |
86 | +BwM: |
87 | + TEST_L (CONST(2), ESI) |
88 | + JZ (BlM) |
89 | + |
90 | + MOVS_W |
91 | + DEC_L (ECX) |
92 | + DEC_L (ECX) |
93 | |
94 | BlM: |
95 | - MOV_L (ECX, EAX) |
96 | - AND_L (CONST(3), EAX) |
97 | - SHR_L (CONST(2), ECX) |
98 | - REP |
99 | - MOVS_L |
100 | - MOV_L (EAX, ECX) |
101 | + MOV_L (ECX, EAX) |
102 | + AND_L (CONST(3), EAX) |
103 | + SHR_L (CONST(2), ECX) |
104 | + REP |
105 | + MOVS_L |
106 | + MOV_L (EAX, ECX) |
107 | quickBM: |
108 | - OR_L (ECX, ECX) |
109 | - JZ (return) |
110 | - REP |
111 | - MOVS_B |
112 | + OR_L (ECX, ECX) |
113 | + JZ (return) |
114 | + REP |
115 | + MOVS_B |
116 | return: |
117 | - MOV_L (CONTENT(tmp), ESI) |
118 | - MOV_L (EDX, EDI) |
119 | - RET |
120 | + POP_L (ESI) |
121 | + MOV_L (EDX, EDI) |
122 | + RET |
123 | /************************/ |
124 | |
125 | - ALIGNTEXT4 |
126 | + ALIGNTEXT4 |
127 | GLNAME(xf86MemToBus): |
128 | - CLD |
129 | - MOV_L (ESI, CONTENT(tmp)) |
130 | - MOV_L (EDI, EDX) |
131 | - |
132 | - MOV_L (src, ESI) |
133 | - MOV_L (dst, EDI) |
134 | - MOV_L (len, ECX) |
135 | - |
136 | - CMP_L (CONST(7), ECX) |
137 | - JC (quickMB) |
138 | - |
139 | - TEST_L (CONST(1), EDI) |
140 | - JZ (MwB) |
141 | - |
142 | - MOVS_B |
143 | - DEC_L (ECX) |
144 | - |
145 | -MwB: |
146 | - TEST_L (CONST(2), EDI) |
147 | - JZ (MlB) |
148 | - |
149 | - MOVS_W |
150 | - DEC_L (ECX) |
151 | - DEC_L (ECX) |
152 | + CLD |
153 | + PUSH_L (ESI) |
154 | + MOV_L (EDI, EDX) |
155 | + |
156 | + MOV_L (src, ESI) |
157 | + MOV_L (dst, EDI) |
158 | + MOV_L (len, ECX) |
159 | + |
160 | + CMP_L (CONST(7), ECX) |
161 | + JC (quickMB) |
162 | + |
163 | + TEST_L (CONST(1), EDI) |
164 | + JZ (MwB) |
165 | + |
166 | + MOVS_B |
167 | + DEC_L (ECX) |
168 | + |
169 | +MwB: |
170 | + TEST_L (CONST(2), EDI) |
171 | + JZ (MlB) |
172 | + |
173 | + MOVS_W |
174 | + DEC_L (ECX) |
175 | + DEC_L (ECX) |
176 | |
177 | MlB: |
178 | - MOV_L (ECX, EAX) |
179 | - AND_L (CONST(3), EAX) |
180 | - SHR_L (CONST(2), ECX) |
181 | - REP |
182 | - MOVS_L |
183 | - MOV_L (EAX, ECX) |
184 | + MOV_L (ECX, EAX) |
185 | + AND_L (CONST(3), EAX) |
186 | + SHR_L (CONST(2), ECX) |
187 | + REP |
188 | + MOVS_L |
189 | + MOV_L (EAX, ECX) |
190 | quickMB: |
191 | - OR_L (ECX, ECX) |
192 | - JZ (return) |
193 | - REP |
194 | - MOVS_B |
195 | - |
196 | - MOV_L (CONTENT(tmp), ESI) |
197 | - MOV_L (EDX, EDI) |
198 | - RET |
199 | - |
200 | + OR_L (ECX, ECX) |
201 | + JZ (return) |
202 | + REP |
203 | + MOVS_B |
204 | + |
205 | + POP_L (ESI) |
206 | + MOV_L (EDX, EDI) |
207 | + RET |