Magellan Linux

Annotation of /trunk/xorg-old/patches-6.8.2-r10/9962_all_text-relocations-BUSmemcpy.S.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 167 - (hide annotations) (download)
Tue May 8 20:58:51 2007 UTC (17 years, 1 month 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