CRIS disassembler, originally from binutils, by Edgar E. Iglesias.
[qemu] / target-ppc / STATUS
1 PowerPC emulation status.
2 The goal of this file is to provide a reference status to avoid regressions.
3
4 ===============================================================================
5 PowerPC core emulation status
6
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
31
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  ?
41
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  ?
49
50 PowerPC IOP480:
51 INSN  OK
52 SPR   OK IOP480
53 MSR   OK
54 IRQ   KO partially implemented
55 MMU   OK
56 EXCP  ?
57
58 To be checked: 401G2 401B3 Cobra
59
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  ?
68
69 PowerPC 403GCX:
70 INSN  OK
71 SPR   OK 403GCX
72 MMU   OK
73 MSR   OK
74 IRQ   KO not implemented
75 EXCP  ?
76
77 To be checked: 403GC
78
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 => Linux 2.4 boots (at least 1 proprietary firmware).
90
91 To be checked: 405D2 405D4 405EZ 405LP Npe4GS3 STB03 STB04 STB25
92                x2vp4 x2vp7 x2vp20 x2vp50
93
94 XXX: find what is IBM e407b4
95
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  ?
105
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  ?
114
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  ?
123
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  ?
132
133 To be checked: 440EPx 440GRx 440SPE
134
135 ***
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
143
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
151
152 ***
153 PowerPC e200: (not implemented)
154 INSN  KO
155 SPR   KO
156 MSR   KO
157 IRQ   KO
158 MMU   KO
159 EXCP  KO
160
161 ***
162 PowerPC e300: (not implemented)
163 INSN  KO
164 SPR   KO
165 MSR   KO
166 IRQ   KO
167 MMU   KO
168 EXCP  KO
169
170 ***
171 PowerPC e500: (not implemented)
172 INSN  KO
173 SPR   KO
174 MSR   KO
175 IRQ   KO
176 MMU   KO
177 EXCP  KO
178
179 ***
180 PowerPC e600: (not implemented)
181 INSN  KO
182 SPR   KO
183 MSR   KO
184 IRQ   KO
185 MMU   KO
186 EXCP  KO
187
188 ***
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)
198
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 crashes when entering user-mode. But it seems it does not
207          know about this CPU. As this CPU is close to 603e, it should be OK.
208
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
218 PowerPC 603e: (603e11)
219 INSN  OK
220 SPR   OK
221 MSR   OK
222 IRQ   OK
223 MMU   OK
224 EXCP  OK
225 Remarks: Linux 2.4 boots and properly recognizes the CPU
226
227 PowerPC G2:
228 INSN  OK
229 SPR   OK
230 MSR   OK
231 IRQ   OK
232 MMU   OK
233 EXCP  OK
234 Remarks: Linux 2.4 boots, recognizes the CPU as a 82xx.
235
236 PowerPC G2le:
237 INSN  OK
238 SPR   OK
239 MSR   OK
240 IRQ   OK
241 MMU   OK
242 EXCP  OK
243 Remarks: Linux 2.4 does not boots. Same symptoms as 602.
244
245 PowerPC 604:
246 INSN  OK
247 SPR   OK
248 MSR   OK
249 IRQ   OK
250 MMU   OK
251 EXCP  OK
252 Remarks: Linux 2.4 boots and properly recognizes the CPU.
253
254 PowerPC 7x0:
255 INSN  OK
256 SPR   OK
257 MSR   OK
258 IRQ   OK
259 MMU   OK
260 EXCP  OK
261 Remarks: Linux 2.4 boots and properly recognizes the CPU.
262
263 PowerPC 750fx:
264 INSN  OK
265 SPR   OK
266 MSR   OK
267 IRQ   OK
268 MMU   OK
269 EXCP  OK
270 Remarks: Linux 2.4 boots but does not properly recognizes the CPU.
271
272 PowerPC 7x5:
273 INSN  ?
274 SPR   ?
275 MSR   ?
276 IRQ   OK
277 MMU   ?
278 EXCP  OK
279 => Linux 2.4 does not boot.
280
281 PowerPC 7400:
282 INSN  KO Altivec missing
283 SPR   OK
284 MSR   OK
285 IRQ   OK
286 MMU   OK
287 EXCP  ?  Altivec, ...
288 => Linux 2.4 boots and properly recognize the CPU.
289
290 PowerPC 7410:
291 INSN  KO Altivec missing
292 SPR   OK
293 MSR   OK
294 IRQ   OK
295 MMU   OK
296 EXCP  ?  Altivec, ...
297 => Linux 2.4 boots and properly recognize the CPU.
298    Note that UM says tlbld & tlbli are implemented bus this may be a mistake
299    as TLB load are managed by the hardware and it does not implement the
300    needed registers.
301
302 PowerPC 7441:
303 INSN  KO Altivec missing
304 SPR   OK
305 MSR   OK
306 IRQ   OK
307 MMU   OK
308 EXCP  ?  Altivec, ...
309 Linux does not have the code to handle TLB miss on this CPU
310
311
312 PowerPC 7450/7451:
313 INSN  KO Altivec missing
314 SPR   OK
315 MSR   OK
316 IRQ   OK
317 MMU   OK
318 EXCP  ?  Altivec, ...
319 Linux does not have the code to handle TLB miss on this CPU
320
321 PowerPC 7445/7447:
322 INSN  KO Altivec missing
323 SPR   OK
324 MSR   OK
325 IRQ   OK
326 MMU   OK
327 EXCP  ?  Altivec, ...
328 Linux does not have the code to handle TLB miss on this CPU
329
330 PowerPC 7455/7457:
331 INSN  KO Altivec missing
332 SPR   OK
333 MSR   OK
334 IRQ   OK
335 MMU   OK
336 EXCP  ?  Altivec, ...
337 Linux does not have the code to handle TLB miss on this CPU
338
339 64 bits PowerPC
340 PowerPC 620: (disabled)
341 INSN  KO
342 SPR   KO
343 MSR   ?
344 IRQ   KO
345 MMU   KO
346 EXCP  KO
347
348 PowerPC 970:
349 INSN  KO Altivec missing and more
350 SPR   KO
351 MSR   ?
352 IRQ   OK
353 MMU   OK
354 EXCP  KO partially implemented
355 Should be able to boot but there is no hw platform currently emulated.
356
357 PowerPC 970FX:
358 INSN  KO Altivec missing and more
359 SPR   KO
360 MSR   ?
361 IRQ   OK
362 MMU   OK
363 EXCP  KO partially implemented
364 Should be able to boot but there is no hw platform currently emulated.
365
366 PowerPC 970GX:
367 INSN  KO Altivec missing and more
368 SPR   KO
369 MSR   ?
370 IRQ   OK
371 MMU   OK
372 EXCP  KO partially implemented
373 Should be able to boot but there is no hw platform currently emulated.
374
375 PowerPC Cell:
376 INSN  KO Altivec missing and more
377 SPR   KO
378 MSR   ?
379 IRQ   ?
380 MMU   ?
381 EXCP  ? partially implemented
382 As the core is mostly a 970, should be able to boot. SPE are not implemented.
383
384 PowerPC 630: (disabled: lack of detailed specifications)
385 INSN  KO
386 SPR   KO
387 MSR   KO
388 IRQ   KO
389 MMU   KO
390 EXCP  KO
391
392 PowerPC 631: (disabled: lack of detailed specifications)
393 INSN  KO
394 SPR   KO
395 MSR   KO
396 IRQ   KO
397 MMU   KO
398 EXCP  KO
399
400 POWER4: (disabled: lack of detailed specifications)
401 INSN  KO
402 SPR   KO
403 MSR   KO
404 IRQ   KO
405 MMU   KO
406 EXCP  KO
407
408 POWER4+: (disabled: lack of detailed specifications)
409 INSN  KO
410 SPR   KO
411 MSR   KO
412 IRQ   KO
413 MMU   KO
414 EXCP  KO
415
416 POWER5: (disabled: lack of detailed specifications)
417 INSN  KO
418 SPR   KO
419 MSR   KO
420 IRQ   KO
421 MMU   KO
422 EXCP  KO
423
424 POWER5+: (disabled: lack of detailed specifications)
425 INSN  KO
426 SPR   KO
427 MSR   KO
428 IRQ   KO
429 MMU   KO
430 EXCP  KO
431
432 POWER6: (disabled: lack of detailed specifications)
433 INSN  KO
434 SPR   KO
435 MSR   KO
436 IRQ   KO
437 MMU   KO
438 EXCP  KO
439
440 RS64: (disabled: lack of detailed specifications)
441 INSN  KO
442 SPR   KO
443 MSR   KO
444 IRQ   KO
445 MMU   KO
446 EXCP  KO
447
448 RS64-II: (disabled: lack of detailed specifications)
449 INSN  KO
450 SPR   KO
451 MSR   KO
452 IRQ   KO
453 MMU   KO
454 EXCP  KO
455
456 RS64-III: (disabled: lack of detailed specifications)
457 INSN  KO
458 SPR   KO
459 MSR   KO
460 IRQ   KO
461 MMU   KO
462 EXCP  KO
463
464 RS64-IV: (disabled: lack of detailed specifications)
465 INSN  KO
466 SPR   KO
467 MSR   KO
468 IRQ   KO
469 MMU   KO
470 EXCP  KO
471
472 Original POWER
473 POWER: (disabled: lack of detailed specifications)
474 INSN  KO
475 SPR   KO
476 MSR   KO
477 IRQ   KO
478 MMU   KO
479 EXCP  KO
480
481 POWER2: (disabled: lack of detailed specifications)
482 INSN  KO
483 SPR   KO
484 MSR   KO
485 IRQ   KO
486 MMU   KO
487 EXCP  KO
488
489 ===============================================================================
490 PowerPC microcontrollers emulation status
491
492 Implemementation should be sufficient to boot Linux:
493 (there seem to be problems with uboot freezing at some point)
494 - PowerPC 405CR
495 - PowerPC 405EP
496
497 TODO:
498 - More PowerPC 40x microcontrollers emulation
499 - PowerPC 440 microcontrollers emulation
500 - e200 microcontrollers emulation
501 - e300 microcontrollers emulation
502 - e500 microcontrollers emulation
503 - e600 microcontrollers emulation
504
505 ===============================================================================
506 PowerPC based platforms emulation status
507
508 * PREP platform (RS/6000 7043...) - TO BE CHECKED (broken)
509 - Gentoo Linux live CDROM 1.4
510 - Debian Linux 3.0
511 - Mandrake Linux 9
512
513 * heathrow PowerMac platform (beige PowerMac) - TO BE CHECKED (broken)
514 - Gentoo Linux live CDROM 1.4
515 - Debian Linux 3.0
516 - Mandrake Linux 9
517
518 * mac99 platform (white and blue PowerMac, ...)
519 - Gentoo Linux live CDROM 1.4 - boots, compiles linux kernel
520 - Debian Linux woody - boots from CDROM and HDD
521 - Mandrake Linux 9 - boots from CDROM, freezes during install
522 - Knoppix 2003-07-13_4 boots from CDROM, pb with X configuration
523   distribution bug: X runs with a properly hand-coded configuration.
524 - rock Linux 2.0 runs from CDROM
525
526 * Linux 2.6 support seems deadly broken (used to boot...).
527
528 * PowerPC 405EP reference boards:
529 - can boot Linux 2.4 & 2.6.
530   Need to provide a flash image ready to boot for reproductible tests.
531
532 TODO:
533 - MCA based RS/6000 emulation
534 - CHRP emulation (not PowerMac)
535 - PPAR emulation
536 - ePPAR emulation
537 - misc PowerPC reference boards emulation
538
539 ===============================================================================
540 (to be completed)