]> git.proxmox.com Git - qemu.git/blob - target-ppc/STATUS
fw_cfg: the I/O port variant expects little-endian
[qemu.git] / 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 ? => 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
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 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
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 2.4 crashes when entering user-mode.
207 Linux 2.6.22 boots on this CPU but does not recognize it.
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 Linux 2.6.22 idem.
218
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.
228
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.
238
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.
248
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.
258
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.
268
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.
278
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.
288
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.
298
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.
311
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.
321
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.
331
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.
341
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.
351
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...
361
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.
370
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.
379
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.
388
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.
398
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
406
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
414
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
422
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
430
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
438
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
446
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
454
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
462
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
470
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
478
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
486
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
495
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
503
504 ===============================================================================
505 PowerPC microcontrollers emulation status
506
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
511
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
522
523 ===============================================================================
524 PowerPC based platforms emulation status
525
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
530
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
535
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
543
544 * Linux 2.6 support seems deadly broken (used to boot...).
545
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.
549
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
558
559 ===============================================================================