Merge remote-tracking branch 'remotes/berrange/tags/pull-qio-2016-10-27-1' into staging
[qemu/kevin.git] / target-ppc / STATUS
bloba4d48a7ca27609fb3da4767f2cdfdb8d740a2481
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       ?  => unchecked
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 Cell:
381 INSN  KO Altivec missing and more
382 SPR   KO
383 MSR   ?
384 IRQ   ?
385 MMU   ?
386 EXCP  ? partially implemented
387 Remarks: As the core is mostly a 970, should be able to boot.
388          SPE are not implemented.
390 PowerPC 630: (disabled: lack of detailed specifications)
391 INSN  KO
392 SPR   KO
393 MSR   KO
394 IRQ   KO
395 MMU   KO
396 EXCP  KO
398 PowerPC 631: (disabled: lack of detailed specifications)
399 INSN  KO
400 SPR   KO
401 MSR   KO
402 IRQ   KO
403 MMU   KO
404 EXCP  KO
406 POWER4: (disabled: lack of detailed specifications)
407 INSN  KO
408 SPR   KO
409 MSR   KO
410 IRQ   KO
411 MMU   KO
412 EXCP  KO
414 POWER4+: (disabled: lack of detailed specifications)
415 INSN  KO
416 SPR   KO
417 MSR   KO
418 IRQ   KO
419 MMU   KO
420 EXCP  KO
422 POWER5: (disabled: lack of detailed specifications)
423 INSN  KO
424 SPR   KO
425 MSR   KO
426 IRQ   KO
427 MMU   KO
428 EXCP  KO
430 POWER5+: (disabled: lack of detailed specifications)
431 INSN  KO
432 SPR   KO
433 MSR   KO
434 IRQ   KO
435 MMU   KO
436 EXCP  KO
438 POWER6: (disabled: lack of detailed specifications)
439 INSN  KO
440 SPR   KO
441 MSR   KO
442 IRQ   KO
443 MMU   KO
444 EXCP  KO
446 RS64: (disabled: lack of detailed specifications)
447 INSN  KO
448 SPR   KO
449 MSR   KO
450 IRQ   KO
451 MMU   KO
452 EXCP  KO
454 RS64-II: (disabled: lack of detailed specifications)
455 INSN  KO
456 SPR   KO
457 MSR   KO
458 IRQ   KO
459 MMU   KO
460 EXCP  KO
462 RS64-III: (disabled: lack of detailed specifications)
463 INSN  KO
464 SPR   KO
465 MSR   KO
466 IRQ   KO
467 MMU   KO
468 EXCP  KO
470 RS64-IV: (disabled: lack of detailed specifications)
471 INSN  KO
472 SPR   KO
473 MSR   KO
474 IRQ   KO
475 MMU   KO
476 EXCP  KO
478 Original POWER
479 POWER: (disabled: lack of detailed specifications)
480 INSN  KO
481 SPR   KO
482 MSR   KO
483 IRQ   KO
484 MMU   KO
485 EXCP  KO
487 POWER2: (disabled: lack of detailed specifications)
488 INSN  KO
489 SPR   KO
490 MSR   KO
491 IRQ   KO
492 MMU   KO
493 EXCP  KO
495 ===============================================================================
496 PowerPC microcontrollers emulation status
498 Implemementation should be sufficient to boot Linux:
499 (there seem to be problems with uboot freezing at some point)
500 - PowerPC 405CR
501 - PowerPC 405EP
503 TODO:
504 - PowerPC 401 microcontrollers emulation
505 - PowerPC 403 microcontrollers emulation
506 - more PowerPC 405 microcontrollers emulation
507 - Fixes / more features for implemented PowerPC 405 microcontrollers emulation
508 - PowerPC 440 microcontrollers emulation
509 - e200 microcontrollers emulation
510 - e300 microcontrollers emulation
511 - e500 microcontrollers emulation
512 - e600 microcontrollers emulation
514 ===============================================================================
515 PowerPC based platforms emulation status
517 * PREP platform (RS/6000 7043...) - TO BE CHECKED (broken)
518 - Gentoo Linux live CDROM 1.4
519 - Debian Linux 3.0
520 - Mandrake Linux 9
522 * heathrow PowerMac platform (beige PowerMac) - TO BE CHECKED (broken)
523 - Gentoo Linux live CDROM 1.4
524 - Debian Linux 3.0
525 - Mandrake Linux 9
527 * mac99 platform (white and blue PowerMac, ...)
528 - Gentoo Linux live CDROM 1.4 - boots, compiles linux kernel
529 - Debian Linux woody - boots from CDROM and HDD
530 - Mandrake Linux 9 - boots from CDROM, freezes during install
531 - Knoppix 2003-07-13_4 boots from CDROM, pb with X configuration
532   distribution bug: X runs with a properly hand-coded configuration.
533 - rock Linux 2.0 runs from CDROM
535 * Linux 2.6 support seems deadly broken (used to boot...).
537 * PowerPC 405EP reference boards:
538 - can boot Linux 2.4 & 2.6.
539   Need to provide a flash image ready to boot for reproductible tests.
541 TODO:
542 - URGENT: fix PreP and heathrow platforms
543 - PowerPC 64 reference platform
544 - MCA based RS/6000 emulation
545 - CHRP emulation (not PowerMac)
546 - PPAR emulation
547 - ePPAR emulation
548 - misc PowerPC reference boards emulation
550 ===============================================================================