Annotation of /trunk/xorg-old/patches-6.8.2-r10/9962_all_text-relocations-BUSmemcpy.S.patch
Parent Directory | Revision Log
Revision 167 -
(hide 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 | niro | 167 | --- 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 |