Commit 65a650c2a5ed2f33357ba9d29d0f56f6b131333a

Authored by Paul Brook
1 parent 6bb72b18

Fix compiler warnings in nwfpe code.

Signed-off-by: Paul Brook <paul@codesourcery.com>
linux-user/arm/nwfpe/fpa11.c
@@ -30,11 +30,6 @@ @@ -30,11 +30,6 @@
30 30
31 #include <stdio.h> 31 #include <stdio.h>
32 32
33 -/* forward declarations */  
34 -unsigned int EmulateCPDO(const unsigned int);  
35 -unsigned int EmulateCPDT(const unsigned int);  
36 -unsigned int EmulateCPRT(const unsigned int);  
37 -  
38 FPA11* qemufpa=0; 33 FPA11* qemufpa=0;
39 CPUARMState* user_registers; 34 CPUARMState* user_registers;
40 35
linux-user/arm/nwfpe/fpa11.h
@@ -116,6 +116,15 @@ static inline void writeConditionCodes(unsigned int x) @@ -116,6 +116,15 @@ static inline void writeConditionCodes(unsigned int x)
116 116
117 unsigned int EmulateAll(unsigned int opcode, FPA11* qfpa, CPUARMState* qregs); 117 unsigned int EmulateAll(unsigned int opcode, FPA11* qfpa, CPUARMState* qregs);
118 118
  119 +unsigned int EmulateCPDO(const unsigned int);
  120 +unsigned int EmulateCPDT(const unsigned int);
  121 +unsigned int EmulateCPRT(const unsigned int);
  122 +
  123 +unsigned int SingleCPDO(const unsigned int opcode);
  124 +unsigned int DoubleCPDO(const unsigned int opcode);
  125 +unsigned int ExtendedCPDO(const unsigned int opcode);
  126 +
  127 +
119 /* included only for get_user/put_user macros */ 128 /* included only for get_user/put_user macros */
120 #include "qemu.h" 129 #include "qemu.h"
121 130
linux-user/arm/nwfpe/fpa11_cpdo.c
@@ -22,10 +22,6 @@ @@ -22,10 +22,6 @@
22 #include "fpa11.h" 22 #include "fpa11.h"
23 #include "fpopcode.h" 23 #include "fpopcode.h"
24 24
25 -unsigned int SingleCPDO(const unsigned int opcode);  
26 -unsigned int DoubleCPDO(const unsigned int opcode);  
27 -unsigned int ExtendedCPDO(const unsigned int opcode);  
28 -  
29 unsigned int EmulateCPDO(const unsigned int opcode) 25 unsigned int EmulateCPDO(const unsigned int opcode)
30 { 26 {
31 FPA11 *fpa11 = GET_FPA11(); 27 FPA11 *fpa11 = GET_FPA11();
linux-user/arm/nwfpe/fpa11_cpdt.c
@@ -29,9 +29,8 @@ @@ -29,9 +29,8 @@
29 //#include <asm/uaccess.h> 29 //#include <asm/uaccess.h>
30 30
31 static inline 31 static inline
32 -void loadSingle(const unsigned int Fn,const unsigned int *pMem) 32 +void loadSingle(const unsigned int Fn, target_ulong addr)
33 { 33 {
34 - target_ulong addr = (target_ulong)(long)pMem;  
35 FPA11 *fpa11 = GET_FPA11(); 34 FPA11 *fpa11 = GET_FPA11();
36 fpa11->fType[Fn] = typeSingle; 35 fpa11->fType[Fn] = typeSingle;
37 /* FIXME - handle failure of get_user() */ 36 /* FIXME - handle failure of get_user() */
@@ -39,9 +38,8 @@ void loadSingle(const unsigned int Fn,const unsigned int *pMem) @@ -39,9 +38,8 @@ void loadSingle(const unsigned int Fn,const unsigned int *pMem)
39 } 38 }
40 39
41 static inline 40 static inline
42 -void loadDouble(const unsigned int Fn,const unsigned int *pMem) 41 +void loadDouble(const unsigned int Fn, target_ulong addr)
43 { 42 {
44 - target_ulong addr = (target_ulong)(long)pMem;  
45 FPA11 *fpa11 = GET_FPA11(); 43 FPA11 *fpa11 = GET_FPA11();
46 unsigned int *p; 44 unsigned int *p;
47 p = (unsigned int*)&fpa11->fpreg[Fn].fDouble; 45 p = (unsigned int*)&fpa11->fpreg[Fn].fDouble;
@@ -58,9 +56,8 @@ void loadDouble(const unsigned int Fn,const unsigned int *pMem) @@ -58,9 +56,8 @@ void loadDouble(const unsigned int Fn,const unsigned int *pMem)
58 } 56 }
59 57
60 static inline 58 static inline
61 -void loadExtended(const unsigned int Fn,const unsigned int *pMem) 59 +void loadExtended(const unsigned int Fn, target_ulong addr)
62 { 60 {
63 - target_ulong addr = (target_ulong)(long)pMem;  
64 FPA11 *fpa11 = GET_FPA11(); 61 FPA11 *fpa11 = GET_FPA11();
65 unsigned int *p; 62 unsigned int *p;
66 p = (unsigned int*)&fpa11->fpreg[Fn].fExtended; 63 p = (unsigned int*)&fpa11->fpreg[Fn].fExtended;
@@ -72,9 +69,8 @@ void loadExtended(const unsigned int Fn,const unsigned int *pMem) @@ -72,9 +69,8 @@ void loadExtended(const unsigned int Fn,const unsigned int *pMem)
72 } 69 }
73 70
74 static inline 71 static inline
75 -void loadMultiple(const unsigned int Fn,const unsigned int *pMem) 72 +void loadMultiple(const unsigned int Fn, target_ulong addr)
76 { 73 {
77 - target_ulong addr = (target_ulong)(long)pMem;  
78 FPA11 *fpa11 = GET_FPA11(); 74 FPA11 *fpa11 = GET_FPA11();
79 register unsigned int *p; 75 register unsigned int *p;
80 unsigned long x; 76 unsigned long x;
@@ -108,9 +104,8 @@ void loadMultiple(const unsigned int Fn,const unsigned int *pMem) @@ -108,9 +104,8 @@ void loadMultiple(const unsigned int Fn,const unsigned int *pMem)
108 } 104 }
109 105
110 static inline 106 static inline
111 -void storeSingle(const unsigned int Fn,unsigned int *pMem) 107 +void storeSingle(const unsigned int Fn, target_ulong addr)
112 { 108 {
113 - target_ulong addr = (target_ulong)(long)pMem;  
114 FPA11 *fpa11 = GET_FPA11(); 109 FPA11 *fpa11 = GET_FPA11();
115 float32 val; 110 float32 val;
116 register unsigned int *p = (unsigned int*)&val; 111 register unsigned int *p = (unsigned int*)&val;
@@ -133,9 +128,8 @@ void storeSingle(const unsigned int Fn,unsigned int *pMem) @@ -133,9 +128,8 @@ void storeSingle(const unsigned int Fn,unsigned int *pMem)
133 } 128 }
134 129
135 static inline 130 static inline
136 -void storeDouble(const unsigned int Fn,unsigned int *pMem) 131 +void storeDouble(const unsigned int Fn, target_ulong addr)
137 { 132 {
138 - target_ulong addr = (target_ulong)(long)pMem;  
139 FPA11 *fpa11 = GET_FPA11(); 133 FPA11 *fpa11 = GET_FPA11();
140 float64 val; 134 float64 val;
141 register unsigned int *p = (unsigned int*)&val; 135 register unsigned int *p = (unsigned int*)&val;
@@ -163,9 +157,8 @@ void storeDouble(const unsigned int Fn,unsigned int *pMem) @@ -163,9 +157,8 @@ void storeDouble(const unsigned int Fn,unsigned int *pMem)
163 } 157 }
164 158
165 static inline 159 static inline
166 -void storeExtended(const unsigned int Fn,unsigned int *pMem) 160 +void storeExtended(const unsigned int Fn, target_ulong addr)
167 { 161 {
168 - target_ulong addr = (target_ulong)(long)pMem;  
169 FPA11 *fpa11 = GET_FPA11(); 162 FPA11 *fpa11 = GET_FPA11();
170 floatx80 val; 163 floatx80 val;
171 register unsigned int *p = (unsigned int*)&val; 164 register unsigned int *p = (unsigned int*)&val;
@@ -190,9 +183,8 @@ void storeExtended(const unsigned int Fn,unsigned int *pMem) @@ -190,9 +183,8 @@ void storeExtended(const unsigned int Fn,unsigned int *pMem)
190 } 183 }
191 184
192 static inline 185 static inline
193 -void storeMultiple(const unsigned int Fn,unsigned int *pMem) 186 +void storeMultiple(const unsigned int Fn, target_ulong addr)
194 { 187 {
195 - target_ulong addr = (target_ulong)(long)pMem;  
196 FPA11 *fpa11 = GET_FPA11(); 188 FPA11 *fpa11 = GET_FPA11();
197 register unsigned int nType, *p; 189 register unsigned int nType, *p;
198 190
@@ -220,25 +212,26 @@ void storeMultiple(const unsigned int Fn,unsigned int *pMem) @@ -220,25 +212,26 @@ void storeMultiple(const unsigned int Fn,unsigned int *pMem)
220 } 212 }
221 } 213 }
222 214
223 -unsigned int PerformLDF(const unsigned int opcode) 215 +static unsigned int PerformLDF(const unsigned int opcode)
224 { 216 {
225 - unsigned int *pBase, *pAddress, *pFinal, nRc = 1, 217 + target_ulong pBase, pAddress, pFinal;
  218 + unsigned int nRc = 1,
226 write_back = WRITE_BACK(opcode); 219 write_back = WRITE_BACK(opcode);
227 220
228 //printk("PerformLDF(0x%08x), Fd = 0x%08x\n",opcode,getFd(opcode)); 221 //printk("PerformLDF(0x%08x), Fd = 0x%08x\n",opcode,getFd(opcode));
229 222
230 - pBase = (unsigned int*)readRegister(getRn(opcode)); 223 + pBase = readRegister(getRn(opcode));
231 if (REG_PC == getRn(opcode)) 224 if (REG_PC == getRn(opcode))
232 { 225 {
233 - pBase += 2; 226 + pBase += 8;
234 write_back = 0; 227 write_back = 0;
235 } 228 }
236 229
237 pFinal = pBase; 230 pFinal = pBase;
238 if (BIT_UP_SET(opcode)) 231 if (BIT_UP_SET(opcode))
239 - pFinal += getOffset(opcode); 232 + pFinal += getOffset(opcode) * 4;
240 else 233 else
241 - pFinal -= getOffset(opcode); 234 + pFinal -= getOffset(opcode) * 4;
242 235
243 if (PREINDEXED(opcode)) pAddress = pFinal; else pAddress = pBase; 236 if (PREINDEXED(opcode)) pAddress = pFinal; else pAddress = pBase;
244 237
@@ -254,26 +247,27 @@ unsigned int PerformLDF(const unsigned int opcode) @@ -254,26 +247,27 @@ unsigned int PerformLDF(const unsigned int opcode)
254 return nRc; 247 return nRc;
255 } 248 }
256 249
257 -unsigned int PerformSTF(const unsigned int opcode) 250 +static unsigned int PerformSTF(const unsigned int opcode)
258 { 251 {
259 - unsigned int *pBase, *pAddress, *pFinal, nRc = 1, 252 + target_ulong pBase, pAddress, pFinal;
  253 + unsigned int nRc = 1,
260 write_back = WRITE_BACK(opcode); 254 write_back = WRITE_BACK(opcode);
261 255
262 //printk("PerformSTF(0x%08x), Fd = 0x%08x\n",opcode,getFd(opcode)); 256 //printk("PerformSTF(0x%08x), Fd = 0x%08x\n",opcode,getFd(opcode));
263 SetRoundingMode(ROUND_TO_NEAREST); 257 SetRoundingMode(ROUND_TO_NEAREST);
264 258
265 - pBase = (unsigned int*)readRegister(getRn(opcode)); 259 + pBase = readRegister(getRn(opcode));
266 if (REG_PC == getRn(opcode)) 260 if (REG_PC == getRn(opcode))
267 { 261 {
268 - pBase += 2; 262 + pBase += 8;
269 write_back = 0; 263 write_back = 0;
270 } 264 }
271 265
272 pFinal = pBase; 266 pFinal = pBase;
273 if (BIT_UP_SET(opcode)) 267 if (BIT_UP_SET(opcode))
274 - pFinal += getOffset(opcode); 268 + pFinal += getOffset(opcode) * 4;
275 else 269 else
276 - pFinal -= getOffset(opcode); 270 + pFinal -= getOffset(opcode) * 4;
277 271
278 if (PREINDEXED(opcode)) pAddress = pFinal; else pAddress = pBase; 272 if (PREINDEXED(opcode)) pAddress = pFinal; else pAddress = pBase;
279 273
@@ -289,23 +283,24 @@ unsigned int PerformSTF(const unsigned int opcode) @@ -289,23 +283,24 @@ unsigned int PerformSTF(const unsigned int opcode)
289 return nRc; 283 return nRc;
290 } 284 }
291 285
292 -unsigned int PerformLFM(const unsigned int opcode) 286 +static unsigned int PerformLFM(const unsigned int opcode)
293 { 287 {
294 - unsigned int i, Fd, *pBase, *pAddress, *pFinal, 288 + unsigned int i, Fd,
295 write_back = WRITE_BACK(opcode); 289 write_back = WRITE_BACK(opcode);
  290 + target_ulong pBase, pAddress, pFinal;
296 291
297 - pBase = (unsigned int*)readRegister(getRn(opcode)); 292 + pBase = readRegister(getRn(opcode));
298 if (REG_PC == getRn(opcode)) 293 if (REG_PC == getRn(opcode))
299 { 294 {
300 - pBase += 2; 295 + pBase += 8;
301 write_back = 0; 296 write_back = 0;
302 } 297 }
303 298
304 pFinal = pBase; 299 pFinal = pBase;
305 if (BIT_UP_SET(opcode)) 300 if (BIT_UP_SET(opcode))
306 - pFinal += getOffset(opcode); 301 + pFinal += getOffset(opcode) * 4;
307 else 302 else
308 - pFinal -= getOffset(opcode); 303 + pFinal -= getOffset(opcode) * 4;
309 304
310 if (PREINDEXED(opcode)) pAddress = pFinal; else pAddress = pBase; 305 if (PREINDEXED(opcode)) pAddress = pFinal; else pAddress = pBase;
311 306
@@ -313,7 +308,7 @@ unsigned int PerformLFM(const unsigned int opcode) @@ -313,7 +308,7 @@ unsigned int PerformLFM(const unsigned int opcode)
313 for (i=getRegisterCount(opcode);i>0;i--) 308 for (i=getRegisterCount(opcode);i>0;i--)
314 { 309 {
315 loadMultiple(Fd,pAddress); 310 loadMultiple(Fd,pAddress);
316 - pAddress += 3; Fd++; 311 + pAddress += 12; Fd++;
317 if (Fd == 8) Fd = 0; 312 if (Fd == 8) Fd = 0;
318 } 313 }
319 314
@@ -321,23 +316,24 @@ unsigned int PerformLFM(const unsigned int opcode) @@ -321,23 +316,24 @@ unsigned int PerformLFM(const unsigned int opcode)
321 return 1; 316 return 1;
322 } 317 }
323 318
324 -unsigned int PerformSFM(const unsigned int opcode) 319 +static unsigned int PerformSFM(const unsigned int opcode)
325 { 320 {
326 - unsigned int i, Fd, *pBase, *pAddress, *pFinal, 321 + unsigned int i, Fd,
327 write_back = WRITE_BACK(opcode); 322 write_back = WRITE_BACK(opcode);
  323 + target_ulong pBase, pAddress, pFinal;
328 324
329 - pBase = (unsigned int*)readRegister(getRn(opcode)); 325 + pBase = readRegister(getRn(opcode));
330 if (REG_PC == getRn(opcode)) 326 if (REG_PC == getRn(opcode))
331 { 327 {
332 - pBase += 2; 328 + pBase += 8;
333 write_back = 0; 329 write_back = 0;
334 } 330 }
335 331
336 pFinal = pBase; 332 pFinal = pBase;
337 if (BIT_UP_SET(opcode)) 333 if (BIT_UP_SET(opcode))
338 - pFinal += getOffset(opcode); 334 + pFinal += getOffset(opcode) * 4;
339 else 335 else
340 - pFinal -= getOffset(opcode); 336 + pFinal -= getOffset(opcode) * 4;
341 337
342 if (PREINDEXED(opcode)) pAddress = pFinal; else pAddress = pBase; 338 if (PREINDEXED(opcode)) pAddress = pFinal; else pAddress = pBase;
343 339
@@ -345,7 +341,7 @@ unsigned int PerformSFM(const unsigned int opcode) @@ -345,7 +341,7 @@ unsigned int PerformSFM(const unsigned int opcode)
345 for (i=getRegisterCount(opcode);i>0;i--) 341 for (i=getRegisterCount(opcode);i>0;i--)
346 { 342 {
347 storeMultiple(Fd,pAddress); 343 storeMultiple(Fd,pAddress);
348 - pAddress += 3; Fd++; 344 + pAddress += 12; Fd++;
349 if (Fd == 8) Fd = 0; 345 if (Fd == 8) Fd = 0;
350 } 346 }
351 347
linux-user/arm/nwfpe/fpopcode.c
@@ -59,21 +59,6 @@ const float32 float32Constant[] = { @@ -59,21 +59,6 @@ const float32 float32Constant[] = {
59 0x41200000 /* single 10.0 */ 59 0x41200000 /* single 10.0 */
60 }; 60 };
61 61
62 -unsigned int getTransferLength(const unsigned int opcode)  
63 -{  
64 - unsigned int nRc;  
65 -  
66 - switch (opcode & MASK_TRANSFER_LENGTH)  
67 - {  
68 - case 0x00000000: nRc = 1; break; /* single precision */  
69 - case 0x00008000: nRc = 2; break; /* double precision */  
70 - case 0x00400000: nRc = 3; break; /* extended precision */  
71 - default: nRc = 0;  
72 - }  
73 -  
74 - return(nRc);  
75 -}  
76 -  
77 unsigned int getRegisterCount(const unsigned int opcode) 62 unsigned int getRegisterCount(const unsigned int opcode)
78 { 63 {
79 unsigned int nRc; 64 unsigned int nRc;
@@ -90,21 +75,6 @@ unsigned int getRegisterCount(const unsigned int opcode) @@ -90,21 +75,6 @@ unsigned int getRegisterCount(const unsigned int opcode)
90 return(nRc); 75 return(nRc);
91 } 76 }
92 77
93 -unsigned int getRoundingPrecision(const unsigned int opcode)  
94 -{  
95 - unsigned int nRc;  
96 -  
97 - switch (opcode & MASK_ROUNDING_PRECISION)  
98 - {  
99 - case 0x00000000: nRc = 1; break;  
100 - case 0x00000080: nRc = 2; break;  
101 - case 0x00080000: nRc = 3; break;  
102 - default: nRc = 0;  
103 - }  
104 -  
105 - return(nRc);  
106 -}  
107 -  
108 unsigned int getDestinationSize(const unsigned int opcode) 78 unsigned int getDestinationSize(const unsigned int opcode)
109 { 79 {
110 unsigned int nRc; 80 unsigned int nRc;
@@ -141,8 +111,3 @@ static const unsigned short aCC[16] = { @@ -141,8 +111,3 @@ static const unsigned short aCC[16] = {
141 0xFFFF, // AL always 111 0xFFFF, // AL always
142 0 // NV 112 0 // NV
143 }; 113 };
144 -  
145 -unsigned int checkCondition(const unsigned int opcode, const unsigned int ccodes)  
146 -{  
147 - return (aCC[opcode>>28] >> (ccodes>>28)) & 1;  
148 -}