x86: factor out cpu_get/put_xmm_reg()
[armpft.git] / target-ppc / STATUS
blob32e7ffa49323a68cc8f77458f89f568b02461998
1 PowerPC emulation status.
2 The goal of this file is to provide a reference status to avoid regressions.
4 ===============================================================================
5 PowerPC core emulation status
7 INSN: instruction set.
8       OK => all instructions are emulated
9       KO => some insns are missing or some should be removed
10       ?  => unchecked
11 SPR:  special purpose registers set
12       OK => all SPR registered (but some may be fake)
13       KO => some SPR are missing or should be removed
14       ?  => uncheked
15 MSR:  MSR bits definitions
16       OK => all MSR bits properly defined
17       KO => MSR definition is incorrect
18       ?  => unchecked
19 IRQ:  input signals definitions (mostly interrupts)
20       OK => input signals are properly defined
21       KO => input signals are not implemented (system emulation does not work)
22       ?  => input signals definitions may be incorrect
23 MMU:  MMU model implementation
24       OK => MMU model is implemented and Linux is able to boot
25       KO => MMU model not implemented or bugged
26       ?  => MMU model not tested
27 EXCP: exceptions model implementation
28       OK => exception model is implemented and Linux is able to boot
29       KO => exception model not implemented or known to be buggy
30       ?  => exception model may be incorrect or is untested
32 Embedded PowerPC cores
33 ***
34 PowerPC 401:
35 INSN  OK
36 SPR   OK 401A1
37 MSR   OK
38 IRQ   KO partially implemented
39 MMU   OK
40 EXCP  ?
42 PowerPC 401x2:
43 INSN  OK
44 SPR   OK 401B2 401C2 401D2 401E2 401F2
45 MSR   OK
46 IRQ   KO partially implemented
47 MMU   OK
48 EXCP  ?
50 PowerPC IOP480:
51 INSN  OK
52 SPR   OK IOP480
53 MSR   OK
54 IRQ   KO partially implemented
55 MMU   OK
56 EXCP  ?
58 To be checked: 401G2 401B3 Cobra
60 ***
61 PowerPC 403:
62 INSN  OK
63 SPR   OK 403GA 403GB
64 MMU   OK
65 MSR   OK
66 IRQ   KO not implemented
67 EXCP  ?
69 PowerPC 403GCX:
70 INSN  OK
71 SPR   OK 403GCX
72 MMU   OK
73 MSR   OK
74 IRQ   KO not implemented
75 EXCP  ?
77 To be checked: 403GC
79 ***
80 PowerPC 405:
81 Checked: 405CRa 405CRb 405CRc 405EP 405GPa 405GPb 405GPc 405GPd 405GPe 405GPR
82          Npe405H Npe405H2 Npe405L
83 INSN  OK
84 SPR   OK
85 MSR   OK
86 IRQ   OK
87 MMU   OK
88 EXCP  OK
89 Remarks: Linux 2.4 boots (at least 1 proprietary firmware).
90          uboot seems to freeze at boot time.
91 To be checked: 405D2 405D4 405EZ 405LP Npe4GS3 STB03 STB04 STB25
92                x2vp4 x2vp7 x2vp20 x2vp50
94 XXX: find what is IBM e407b4
96 ***
97 PowerPC 440:
98 Checked: 440EPa 440EPb 440GXa 440GXb 440GXc 440GXf 440SP 440SP2
99 INSN  OK
100 SPR   OK
101 MSR   OK
102 IRQ   KO not implemented
103 MMU   ?
104 EXCP  ?
106 PowerPC 440GP:
107 Checked: 440GPb 440GPc
108 INSN  OK
109 SPR   OK
110 MSR   OK
111 IRQ   KO not implemented
112 MMU   ?
113 EXCP  ?
115 PowerPC 440x4:
116 Checked: 440A4 440B4 440G4 440H4
117 INSN  OK
118 SPR   OK
119 MSR   OK
120 IRQ   KO not implemented
121 MMU   ?
122 EXCP  ?
124 PowerPC 440x5:
125 Checked: 440A5 440F5 440G5 440H6 440GRa
126 INSN  OK
127 SPR   OK
128 MSR   OK
129 IRQ   KO not implemented
130 MMU   ?
131 EXCP  ?
133 To be checked: 440EPx 440GRx 440SPE
136 PowerPC 460: (disabled: lack of detailed specifications)
137 INSN  KO
138 SPR   KO
139 MSR   KO
140 IRQ   KO
141 MMU   KO
142 EXCP  KO
144 PowerPC 460F: (disabled: lack of detailed specifications)
145 INSN  KO
146 SPR   KO
147 MSR   KO
148 IRQ   KO
149 MMU   KO
150 EXCP  KO
153 PowerPC e200: (not implemented)
154 INSN  KO
155 SPR   KO
156 MSR   KO
157 IRQ   KO
158 MMU   KO
159 EXCP  KO
162 PowerPC e300: (not implemented)
163 INSN  KO
164 SPR   KO
165 MSR   KO
166 IRQ   KO
167 MMU   KO
168 EXCP  KO
171 PowerPC e500: (not implemented)
172 INSN  KO
173 SPR   KO
174 MSR   KO
175 IRQ   KO
176 MMU   KO
177 EXCP  KO
180 PowerPC e600: (not implemented)
181 INSN  KO
182 SPR   KO
183 MSR   KO
184 IRQ   KO
185 MMU   KO
186 EXCP  KO
189 32 bits PowerPC
190 PowerPC 601: (601 601v2)
191 INSN  OK
192 SPR   OK is HID15 only on 601v2 ?
193 MSR   OK
194 IRQ   KO not implemented
195 MMU   ?
196 EXCP  ?
197 Remarks: some instructions should have a specific behavior (not implemented)
199 PowerPC 602: 602
200 INSN  OK
201 SPR   OK
202 MSR   OK
203 IRQ   OK
204 MMU   ?
205 EXCP  ? at least timer and external interrupt are OK
206 Remarks: Linux 2.4 crashes when entering user-mode.
207          Linux 2.6.22 boots on this CPU but does not recognize it.
209 PowerPC 603: (603)
210 INSN  OK
211 SPR   OK
212 MSR   OK
213 IRQ   OK
214 MMU   OK
215 EXCP  OK
216 Remarks: Linux 2.4 boots and properly recognizes the CPU
217          Linux 2.6.22 idem.
219 PowerPC 603e: (603e11)
220 INSN  OK
221 SPR   OK
222 MSR   OK
223 IRQ   OK
224 MMU   OK
225 EXCP  OK
226 Remarks: Linux 2.4 boots and properly recognizes the CPU
227          Linux 2.6.22 idem.
229 PowerPC G2:
230 INSN  OK
231 SPR   OK
232 MSR   OK
233 IRQ   OK
234 MMU   OK
235 EXCP  OK
236 Remarks: Linux 2.4 boots, recognizes the CPU as a 82xx.
237          Linux 2.6.22 idem.
239 PowerPC G2le:
240 INSN  OK
241 SPR   OK
242 MSR   OK
243 IRQ   OK
244 MMU   OK
245 EXCP  OK
246 Remarks: Linux 2.4 does not boots. Same symptoms as 602.
247          Linux 2.6.22 boots and properly recognizes the CPU.
249 PowerPC 604:
250 INSN  OK
251 SPR   OK
252 MSR   OK
253 IRQ   OK
254 MMU   OK
255 EXCP  OK
256 Remarks: Linux 2.4 boots and properly recognizes the CPU.
257          Linux 2.6.22 idem.
259 PowerPC 7x0:
260 INSN  OK
261 SPR   OK
262 MSR   OK
263 IRQ   OK
264 MMU   OK
265 EXCP  OK
266 Remarks: Linux 2.4 boots and properly recognizes the CPU.
267          Linux 2.6.22 idem.
269 PowerPC 750fx:
270 INSN  OK
271 SPR   OK
272 MSR   OK
273 IRQ   OK
274 MMU   OK
275 EXCP  OK
276 Remarks: Linux 2.4 boots but does not properly recognizes the CPU.
277          Linux 2.6.22 boots and properly recognizes the CPU.
279 PowerPC 7x5:
280 INSN  ?
281 SPR   ?
282 MSR   ?
283 IRQ   OK
284 MMU   ?
285 EXCP  OK
286 Remarks: Linux 2.4 does not boot.
287          Linux 2.6.22 idem.
289 PowerPC 7400:
290 INSN  KO Altivec missing
291 SPR   OK
292 MSR   OK
293 IRQ   OK
294 MMU   OK
295 EXCP  ?  Altivec, ...
296 Remarks: Linux 2.4 boots and properly recognize the CPU.
297          Linux 2.6.22 idem.
299 PowerPC 7410:
300 INSN  KO Altivec missing
301 SPR   OK
302 MSR   OK
303 IRQ   OK
304 MMU   OK
305 EXCP  ?  Altivec, ...
306 Remarks: Linux 2.4 boots and properly recognize the CPU.
307          Linux 2.6.22 idem.
308    Note that UM says tlbld & tlbli are implemented but this may be a mistake
309    as TLB loads are managed by the hardware and the CPU does not implement the
310    needed registers.
312 PowerPC 7441:
313 INSN  KO Altivec missing
314 SPR   OK
315 MSR   OK
316 IRQ   OK
317 MMU   OK
318 EXCP  ?  Altivec, ...
319 Remarks: Linux does not have the code to handle TLB miss on this CPU
320          Linux 2.6.22 idem.
322 PowerPC 7450/7451:
323 INSN  KO Altivec missing
324 SPR   OK
325 MSR   OK
326 IRQ   OK
327 MMU   OK
328 EXCP  ?  Altivec, ...
329 Remarks: Linux does not have the code to handle TLB miss on this CPU
330          Linux 2.6.22 idem.
332 PowerPC 7445/7447:
333 INSN  KO Altivec missing
334 SPR   OK
335 MSR   OK
336 IRQ   OK
337 MMU   OK
338 EXCP  ?  Altivec, ...
339 Remarks: Linux does not have the code to handle TLB miss on this CPU
340          Linux 2.6.22 idem.
342 PowerPC 7455/7457:
343 INSN  KO Altivec missing
344 SPR   OK
345 MSR   OK
346 IRQ   OK
347 MMU   OK
348 EXCP  ?  Altivec, ...
349 Remarks: Linux does not have the code to handle TLB miss on this CPU
350          Linux 2.6.22 idem.
352 64 bits PowerPC
353 PowerPC 620: (disabled)
354 INSN  KO
355 SPR   KO
356 MSR   ?
357 IRQ   KO
358 MMU   KO
359 EXCP  KO
360 Remarks: not much documentation for this implementation...
362 PowerPC 970:
363 INSN  KO Altivec missing and more
364 SPR   KO
365 MSR   ?
366 IRQ   OK
367 MMU   OK
368 EXCP  KO partially implemented
369 Remarks: Should be able to boot but there is no hw platform currently emulated.
371 PowerPC 970FX:
372 INSN  KO Altivec missing and more
373 SPR   KO
374 MSR   ?
375 IRQ   OK
376 MMU   OK
377 EXCP  KO partially implemented
378 Remarks: Should be able to boot but there is no hw platform currently emulated.
380 PowerPC 970GX:
381 INSN  KO Altivec missing and more
382 SPR   KO
383 MSR   ?
384 IRQ   OK
385 MMU   OK
386 EXCP  KO partially implemented
387 Remarks: Should be able to boot but there is no hw platform currently emulated.
389 PowerPC Cell:
390 INSN  KO Altivec missing and more
391 SPR   KO
392 MSR   ?
393 IRQ   ?
394 MMU   ?
395 EXCP  ? partially implemented
396 Remarks: As the core is mostly a 970, should be able to boot.
397          SPE are not implemented.
399 PowerPC 630: (disabled: lack of detailed specifications)
400 INSN  KO
401 SPR   KO
402 MSR   KO
403 IRQ   KO
404 MMU   KO
405 EXCP  KO
407 PowerPC 631: (disabled: lack of detailed specifications)
408 INSN  KO
409 SPR   KO
410 MSR   KO
411 IRQ   KO
412 MMU   KO
413 EXCP  KO
415 POWER4: (disabled: lack of detailed specifications)
416 INSN  KO
417 SPR   KO
418 MSR   KO
419 IRQ   KO
420 MMU   KO
421 EXCP  KO
423 POWER4+: (disabled: lack of detailed specifications)
424 INSN  KO
425 SPR   KO
426 MSR   KO
427 IRQ   KO
428 MMU   KO
429 EXCP  KO
431 POWER5: (disabled: lack of detailed specifications)
432 INSN  KO
433 SPR   KO
434 MSR   KO
435 IRQ   KO
436 MMU   KO
437 EXCP  KO
439 POWER5+: (disabled: lack of detailed specifications)
440 INSN  KO
441 SPR   KO
442 MSR   KO
443 IRQ   KO
444 MMU   KO
445 EXCP  KO
447 POWER6: (disabled: lack of detailed specifications)
448 INSN  KO
449 SPR   KO
450 MSR   KO
451 IRQ   KO
452 MMU   KO
453 EXCP  KO
455 RS64: (disabled: lack of detailed specifications)
456 INSN  KO
457 SPR   KO
458 MSR   KO
459 IRQ   KO
460 MMU   KO
461 EXCP  KO
463 RS64-II: (disabled: lack of detailed specifications)
464 INSN  KO
465 SPR   KO
466 MSR   KO
467 IRQ   KO
468 MMU   KO
469 EXCP  KO
471 RS64-III: (disabled: lack of detailed specifications)
472 INSN  KO
473 SPR   KO
474 MSR   KO
475 IRQ   KO
476 MMU   KO
477 EXCP  KO
479 RS64-IV: (disabled: lack of detailed specifications)
480 INSN  KO
481 SPR   KO
482 MSR   KO
483 IRQ   KO
484 MMU   KO
485 EXCP  KO
487 Original POWER
488 POWER: (disabled: lack of detailed specifications)
489 INSN  KO
490 SPR   KO
491 MSR   KO
492 IRQ   KO
493 MMU   KO
494 EXCP  KO
496 POWER2: (disabled: lack of detailed specifications)
497 INSN  KO
498 SPR   KO
499 MSR   KO
500 IRQ   KO
501 MMU   KO
502 EXCP  KO
504 ===============================================================================
505 PowerPC microcontrollers emulation status
507 Implemementation should be sufficient to boot Linux:
508 (there seem to be problems with uboot freezing at some point)
509 - PowerPC 405CR
510 - PowerPC 405EP
512 TODO:
513 - PowerPC 401 microcontrollers emulation
514 - PowerPC 403 microcontrollers emulation
515 - more PowerPC 405 microcontrollers emulation
516 - Fixes / more features for implemented PowerPC 405 microcontrollers emulation
517 - PowerPC 440 microcontrollers emulation
518 - e200 microcontrollers emulation
519 - e300 microcontrollers emulation
520 - e500 microcontrollers emulation
521 - e600 microcontrollers emulation
523 ===============================================================================
524 PowerPC based platforms emulation status
526 * PREP platform (RS/6000 7043...) - TO BE CHECKED (broken)
527 - Gentoo Linux live CDROM 1.4
528 - Debian Linux 3.0
529 - Mandrake Linux 9
531 * heathrow PowerMac platform (beige PowerMac) - TO BE CHECKED (broken)
532 - Gentoo Linux live CDROM 1.4
533 - Debian Linux 3.0
534 - Mandrake Linux 9
536 * mac99 platform (white and blue PowerMac, ...)
537 - Gentoo Linux live CDROM 1.4 - boots, compiles linux kernel
538 - Debian Linux woody - boots from CDROM and HDD
539 - Mandrake Linux 9 - boots from CDROM, freezes during install
540 - Knoppix 2003-07-13_4 boots from CDROM, pb with X configuration
541   distribution bug: X runs with a properly hand-coded configuration.
542 - rock Linux 2.0 runs from CDROM
544 * Linux 2.6 support seems deadly broken (used to boot...).
546 * PowerPC 405EP reference boards:
547 - can boot Linux 2.4 & 2.6.
548   Need to provide a flash image ready to boot for reproductible tests.
550 TODO:
551 - URGENT: fix PreP and heathrow platforms
552 - PowerPC 64 reference platform
553 - MCA based RS/6000 emulation
554 - CHRP emulation (not PowerMac)
555 - PPAR emulation
556 - ePPAR emulation
557 - misc PowerPC reference boards emulation
559 ===============================================================================