blob: a4d48a7ca27609fb3da4767f2cdfdb8d740a2481 [file] [log] [blame]
j_mayer76a66252007-03-07 08:32:30 +00001PowerPC emulation status.
2The goal of this file is to provide a reference status to avoid regressions.
3
4===============================================================================
5PowerPC core emulation status
6
j_mayera750fc02007-09-26 23:54:22 +00007INSN: instruction set.
8 OK => all instructions are emulated
9 KO => some insns are missing or some should be removed
10 ? => unchecked
11SPR: special purpose registers set
12 OK => all SPR registered (but some may be fake)
13 KO => some SPR are missing or should be removed
Stefan Weila57d23e2011-04-30 22:49:26 +020014 ? => unchecked
j_mayera750fc02007-09-26 23:54:22 +000015MSR: MSR bits definitions
16 OK => all MSR bits properly defined
17 KO => MSR definition is incorrect
18 ? => unchecked
19IRQ: 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
23MMU: 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
27EXCP: 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
j_mayer2662a052007-09-21 05:50:37 +000031
32Embedded PowerPC cores
j_mayera750fc02007-09-26 23:54:22 +000033***
j_mayer2662a052007-09-21 05:50:37 +000034PowerPC 401:
j_mayera750fc02007-09-26 23:54:22 +000035INSN OK
36SPR OK 401A1
37MSR OK
38IRQ KO partially implemented
39MMU OK
40EXCP ?
j_mayer2662a052007-09-21 05:50:37 +000041
j_mayera750fc02007-09-26 23:54:22 +000042PowerPC 401x2:
43INSN OK
44SPR OK 401B2 401C2 401D2 401E2 401F2
45MSR OK
46IRQ KO partially implemented
47MMU OK
48EXCP ?
49
50PowerPC IOP480:
51INSN OK
52SPR OK IOP480
53MSR OK
54IRQ KO partially implemented
55MMU OK
56EXCP ?
57
58To be checked: 401G2 401B3 Cobra
59
60***
j_mayer2662a052007-09-21 05:50:37 +000061PowerPC 403:
j_mayera750fc02007-09-26 23:54:22 +000062INSN OK
63SPR OK 403GA 403GB
64MMU OK
65MSR OK
66IRQ KO not implemented
67EXCP ?
j_mayer2662a052007-09-21 05:50:37 +000068
j_mayera750fc02007-09-26 23:54:22 +000069PowerPC 403GCX:
70INSN OK
71SPR OK 403GCX
72MMU OK
73MSR OK
74IRQ KO not implemented
75EXCP ?
76
77To be checked: 403GC
78
79***
j_mayer2662a052007-09-21 05:50:37 +000080PowerPC 405:
j_mayera750fc02007-09-26 23:54:22 +000081Checked: 405CRa 405CRb 405CRc 405EP 405GPa 405GPb 405GPc 405GPd 405GPe 405GPR
82 Npe405H Npe405H2 Npe405L
j_mayer2662a052007-09-21 05:50:37 +000083INSN OK
84SPR OK
j_mayera750fc02007-09-26 23:54:22 +000085MSR OK
86IRQ OK
87MMU OK
88EXCP OK
j_mayer86f1d3a2007-10-25 21:38:16 +000089Remarks: Linux 2.4 boots (at least 1 proprietary firmware).
90 uboot seems to freeze at boot time.
j_mayera750fc02007-09-26 23:54:22 +000091To be checked: 405D2 405D4 405EZ 405LP Npe4GS3 STB03 STB04 STB25
92 x2vp4 x2vp7 x2vp20 x2vp50
93
94XXX: find what is IBM e407b4
95
96***
97PowerPC 440:
98Checked: 440EPa 440EPb 440GXa 440GXb 440GXc 440GXf 440SP 440SP2
99INSN OK
100SPR OK
101MSR OK
102IRQ KO not implemented
j_mayer2662a052007-09-21 05:50:37 +0000103MMU ?
104EXCP ?
105
j_mayera750fc02007-09-26 23:54:22 +0000106PowerPC 440GP:
107Checked: 440GPb 440GPc
108INSN OK
109SPR OK
110MSR OK
111IRQ KO not implemented
112MMU ?
113EXCP ?
114
115PowerPC 440x4:
116Checked: 440A4 440B4 440G4 440H4
117INSN OK
118SPR OK
119MSR OK
120IRQ KO not implemented
121MMU ?
122EXCP ?
123
124PowerPC 440x5:
125Checked: 440A5 440F5 440G5 440H6 440GRa
126INSN OK
127SPR OK
128MSR OK
129IRQ KO not implemented
130MMU ?
131EXCP ?
132
133To be checked: 440EPx 440GRx 440SPE
134
135***
136PowerPC 460: (disabled: lack of detailed specifications)
j_mayer2662a052007-09-21 05:50:37 +0000137INSN KO
138SPR KO
j_mayera750fc02007-09-26 23:54:22 +0000139MSR KO
140IRQ KO
j_mayer2662a052007-09-21 05:50:37 +0000141MMU KO
142EXCP KO
143
j_mayera750fc02007-09-26 23:54:22 +0000144PowerPC 460F: (disabled: lack of detailed specifications)
145INSN KO
146SPR KO
147MSR KO
148IRQ KO
149MMU KO
150EXCP KO
151
152***
153PowerPC e200: (not implemented)
154INSN KO
155SPR KO
156MSR KO
157IRQ KO
158MMU KO
159EXCP KO
160
161***
162PowerPC e300: (not implemented)
163INSN KO
164SPR KO
165MSR KO
166IRQ KO
167MMU KO
168EXCP KO
169
170***
171PowerPC e500: (not implemented)
172INSN KO
173SPR KO
174MSR KO
175IRQ KO
176MMU KO
177EXCP KO
178
179***
180PowerPC e600: (not implemented)
181INSN KO
182SPR KO
183MSR KO
184IRQ KO
185MMU KO
186EXCP KO
187
188***
18932 bits PowerPC
190PowerPC 601: (601 601v2)
191INSN OK
192SPR OK is HID15 only on 601v2 ?
193MSR OK
194IRQ KO not implemented
195MMU ?
196EXCP ?
197Remarks: some instructions should have a specific behavior (not implemented)
198
199PowerPC 602: 602
200INSN OK
201SPR OK
202MSR OK
203IRQ OK
204MMU ?
205EXCP ? at least timer and external interrupt are OK
j_mayer86f1d3a2007-10-25 21:38:16 +0000206Remarks: Linux 2.4 crashes when entering user-mode.
207 Linux 2.6.22 boots on this CPU but does not recognize it.
j_mayera750fc02007-09-26 23:54:22 +0000208
209PowerPC 603: (603)
210INSN OK
211SPR OK
212MSR OK
213IRQ OK
214MMU OK
215EXCP OK
216Remarks: Linux 2.4 boots and properly recognizes the CPU
j_mayer86f1d3a2007-10-25 21:38:16 +0000217 Linux 2.6.22 idem.
j_mayera750fc02007-09-26 23:54:22 +0000218
219PowerPC 603e: (603e11)
220INSN OK
221SPR OK
222MSR OK
223IRQ OK
224MMU OK
225EXCP OK
226Remarks: Linux 2.4 boots and properly recognizes the CPU
j_mayer86f1d3a2007-10-25 21:38:16 +0000227 Linux 2.6.22 idem.
j_mayera750fc02007-09-26 23:54:22 +0000228
229PowerPC G2:
230INSN OK
231SPR OK
232MSR OK
233IRQ OK
234MMU OK
235EXCP OK
236Remarks: Linux 2.4 boots, recognizes the CPU as a 82xx.
j_mayer86f1d3a2007-10-25 21:38:16 +0000237 Linux 2.6.22 idem.
j_mayera750fc02007-09-26 23:54:22 +0000238
239PowerPC G2le:
240INSN OK
241SPR OK
242MSR OK
243IRQ OK
244MMU OK
245EXCP OK
246Remarks: Linux 2.4 does not boots. Same symptoms as 602.
j_mayer86f1d3a2007-10-25 21:38:16 +0000247 Linux 2.6.22 boots and properly recognizes the CPU.
j_mayera750fc02007-09-26 23:54:22 +0000248
249PowerPC 604:
250INSN OK
251SPR OK
252MSR OK
253IRQ OK
254MMU OK
255EXCP OK
256Remarks: Linux 2.4 boots and properly recognizes the CPU.
j_mayer86f1d3a2007-10-25 21:38:16 +0000257 Linux 2.6.22 idem.
j_mayera750fc02007-09-26 23:54:22 +0000258
259PowerPC 7x0:
260INSN OK
261SPR OK
262MSR OK
263IRQ OK
264MMU OK
265EXCP OK
266Remarks: Linux 2.4 boots and properly recognizes the CPU.
j_mayer86f1d3a2007-10-25 21:38:16 +0000267 Linux 2.6.22 idem.
j_mayera750fc02007-09-26 23:54:22 +0000268
269PowerPC 750fx:
270INSN OK
271SPR OK
272MSR OK
273IRQ OK
274MMU OK
275EXCP OK
276Remarks: Linux 2.4 boots but does not properly recognizes the CPU.
j_mayer86f1d3a2007-10-25 21:38:16 +0000277 Linux 2.6.22 boots and properly recognizes the CPU.
j_mayera750fc02007-09-26 23:54:22 +0000278
279PowerPC 7x5:
280INSN ?
281SPR ?
282MSR ?
283IRQ OK
284MMU ?
285EXCP OK
j_mayer86f1d3a2007-10-25 21:38:16 +0000286Remarks: Linux 2.4 does not boot.
287 Linux 2.6.22 idem.
j_mayera750fc02007-09-26 23:54:22 +0000288
289PowerPC 7400:
290INSN KO Altivec missing
291SPR OK
292MSR OK
293IRQ OK
294MMU OK
295EXCP ? Altivec, ...
j_mayer86f1d3a2007-10-25 21:38:16 +0000296Remarks: Linux 2.4 boots and properly recognize the CPU.
297 Linux 2.6.22 idem.
j_mayera750fc02007-09-26 23:54:22 +0000298
299PowerPC 7410:
300INSN KO Altivec missing
301SPR OK
302MSR OK
303IRQ OK
304MMU OK
305EXCP ? Altivec, ...
j_mayer86f1d3a2007-10-25 21:38:16 +0000306Remarks: 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
j_mayera750fc02007-09-26 23:54:22 +0000310 needed registers.
311
312PowerPC 7441:
j_mayer9b227872007-10-08 03:00:35 +0000313INSN KO Altivec missing
j_mayera750fc02007-09-26 23:54:22 +0000314SPR OK
315MSR OK
316IRQ OK
j_mayer9b227872007-10-08 03:00:35 +0000317MMU OK
j_mayera750fc02007-09-26 23:54:22 +0000318EXCP ? Altivec, ...
j_mayer86f1d3a2007-10-25 21:38:16 +0000319Remarks: Linux does not have the code to handle TLB miss on this CPU
320 Linux 2.6.22 idem.
j_mayera750fc02007-09-26 23:54:22 +0000321
322PowerPC 7450/7451:
j_mayer9b227872007-10-08 03:00:35 +0000323INSN KO Altivec missing
j_mayera750fc02007-09-26 23:54:22 +0000324SPR OK
325MSR OK
326IRQ OK
j_mayer9b227872007-10-08 03:00:35 +0000327MMU OK
j_mayera750fc02007-09-26 23:54:22 +0000328EXCP ? Altivec, ...
j_mayer86f1d3a2007-10-25 21:38:16 +0000329Remarks: Linux does not have the code to handle TLB miss on this CPU
330 Linux 2.6.22 idem.
j_mayera750fc02007-09-26 23:54:22 +0000331
332PowerPC 7445/7447:
j_mayer9b227872007-10-08 03:00:35 +0000333INSN KO Altivec missing
j_mayera750fc02007-09-26 23:54:22 +0000334SPR OK
335MSR OK
336IRQ OK
j_mayer9b227872007-10-08 03:00:35 +0000337MMU OK
j_mayera750fc02007-09-26 23:54:22 +0000338EXCP ? Altivec, ...
j_mayer86f1d3a2007-10-25 21:38:16 +0000339Remarks: Linux does not have the code to handle TLB miss on this CPU
340 Linux 2.6.22 idem.
j_mayera750fc02007-09-26 23:54:22 +0000341
342PowerPC 7455/7457:
j_mayer9b227872007-10-08 03:00:35 +0000343INSN KO Altivec missing
j_mayera750fc02007-09-26 23:54:22 +0000344SPR OK
345MSR OK
346IRQ OK
j_mayer9b227872007-10-08 03:00:35 +0000347MMU OK
j_mayera750fc02007-09-26 23:54:22 +0000348EXCP ? Altivec, ...
j_mayer86f1d3a2007-10-25 21:38:16 +0000349Remarks: Linux does not have the code to handle TLB miss on this CPU
350 Linux 2.6.22 idem.
j_mayera750fc02007-09-26 23:54:22 +0000351
35264 bits PowerPC
353PowerPC 620: (disabled)
354INSN KO
355SPR KO
356MSR ?
357IRQ KO
358MMU KO
359EXCP KO
j_mayer86f1d3a2007-10-25 21:38:16 +0000360Remarks: not much documentation for this implementation...
j_mayera750fc02007-09-26 23:54:22 +0000361
j_mayer9b227872007-10-08 03:00:35 +0000362PowerPC 970:
j_mayera750fc02007-09-26 23:54:22 +0000363INSN KO Altivec missing and more
364SPR KO
365MSR ?
366IRQ OK
j_mayer9b227872007-10-08 03:00:35 +0000367MMU OK
368EXCP KO partially implemented
j_mayer86f1d3a2007-10-25 21:38:16 +0000369Remarks: Should be able to boot but there is no hw platform currently emulated.
j_mayera750fc02007-09-26 23:54:22 +0000370
j_mayer9b227872007-10-08 03:00:35 +0000371PowerPC 970FX:
j_mayera750fc02007-09-26 23:54:22 +0000372INSN KO Altivec missing and more
373SPR KO
374MSR ?
375IRQ OK
j_mayer9b227872007-10-08 03:00:35 +0000376MMU OK
377EXCP KO partially implemented
j_mayer86f1d3a2007-10-25 21:38:16 +0000378Remarks: Should be able to boot but there is no hw platform currently emulated.
j_mayer9b227872007-10-08 03:00:35 +0000379
j_mayer9b227872007-10-08 03:00:35 +0000380PowerPC Cell:
381INSN KO Altivec missing and more
382SPR KO
383MSR ?
384IRQ ?
385MMU ?
386EXCP ? partially implemented
j_mayer86f1d3a2007-10-25 21:38:16 +0000387Remarks: As the core is mostly a 970, should be able to boot.
388 SPE are not implemented.
j_mayera750fc02007-09-26 23:54:22 +0000389
390PowerPC 630: (disabled: lack of detailed specifications)
391INSN KO
392SPR KO
393MSR KO
394IRQ KO
395MMU KO
396EXCP KO
397
398PowerPC 631: (disabled: lack of detailed specifications)
399INSN KO
400SPR KO
401MSR KO
402IRQ KO
403MMU KO
404EXCP KO
405
406POWER4: (disabled: lack of detailed specifications)
407INSN KO
408SPR KO
409MSR KO
410IRQ KO
411MMU KO
412EXCP KO
413
414POWER4+: (disabled: lack of detailed specifications)
415INSN KO
416SPR KO
417MSR KO
418IRQ KO
419MMU KO
420EXCP KO
421
422POWER5: (disabled: lack of detailed specifications)
423INSN KO
424SPR KO
425MSR KO
426IRQ KO
427MMU KO
428EXCP KO
429
430POWER5+: (disabled: lack of detailed specifications)
431INSN KO
432SPR KO
433MSR KO
434IRQ KO
435MMU KO
436EXCP KO
437
438POWER6: (disabled: lack of detailed specifications)
439INSN KO
440SPR KO
441MSR KO
442IRQ KO
443MMU KO
444EXCP KO
445
446RS64: (disabled: lack of detailed specifications)
447INSN KO
448SPR KO
449MSR KO
450IRQ KO
451MMU KO
452EXCP KO
453
454RS64-II: (disabled: lack of detailed specifications)
455INSN KO
456SPR KO
457MSR KO
458IRQ KO
459MMU KO
460EXCP KO
461
462RS64-III: (disabled: lack of detailed specifications)
463INSN KO
464SPR KO
465MSR KO
466IRQ KO
467MMU KO
468EXCP KO
469
470RS64-IV: (disabled: lack of detailed specifications)
471INSN KO
472SPR KO
473MSR KO
474IRQ KO
475MMU KO
476EXCP KO
j_mayer2662a052007-09-21 05:50:37 +0000477
478Original POWER
j_mayera750fc02007-09-26 23:54:22 +0000479POWER: (disabled: lack of detailed specifications)
j_mayer2662a052007-09-21 05:50:37 +0000480INSN KO
481SPR KO
j_mayera750fc02007-09-26 23:54:22 +0000482MSR KO
483IRQ KO
j_mayer2662a052007-09-21 05:50:37 +0000484MMU KO
485EXCP KO
486
j_mayera750fc02007-09-26 23:54:22 +0000487POWER2: (disabled: lack of detailed specifications)
j_mayer2662a052007-09-21 05:50:37 +0000488INSN KO
489SPR KO
j_mayera750fc02007-09-26 23:54:22 +0000490MSR KO
491IRQ KO
j_mayer2662a052007-09-21 05:50:37 +0000492MMU KO
493EXCP KO
494
j_mayer76a66252007-03-07 08:32:30 +0000495===============================================================================
496PowerPC microcontrollers emulation status
497
j_mayer74563c12007-04-24 07:51:56 +0000498Implemementation should be sufficient to boot Linux:
j_mayer9b227872007-10-08 03:00:35 +0000499(there seem to be problems with uboot freezing at some point)
j_mayer74563c12007-04-24 07:51:56 +0000500- PowerPC 405CR
501- PowerPC 405EP
502
j_mayer76a66252007-03-07 08:32:30 +0000503TODO:
j_mayer86f1d3a2007-10-25 21:38:16 +0000504- 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
j_mayer9b227872007-10-08 03:00:35 +0000508- PowerPC 440 microcontrollers emulation
509- e200 microcontrollers emulation
510- e300 microcontrollers emulation
511- e500 microcontrollers emulation
512- e600 microcontrollers emulation
j_mayer76a66252007-03-07 08:32:30 +0000513
514===============================================================================
515PowerPC based platforms emulation status
516
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
521
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
526
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
j_mayer74563c12007-04-24 07:51:56 +0000531- 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
534
535* Linux 2.6 support seems deadly broken (used to boot...).
536
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.
j_mayer76a66252007-03-07 08:32:30 +0000540
541TODO:
j_mayer86f1d3a2007-10-25 21:38:16 +0000542- URGENT: fix PreP and heathrow platforms
543- PowerPC 64 reference platform
j_mayer76a66252007-03-07 08:32:30 +0000544- MCA based RS/6000 emulation
545- CHRP emulation (not PowerMac)
546- PPAR emulation
j_mayer74563c12007-04-24 07:51:56 +0000547- ePPAR emulation
j_mayer76a66252007-03-07 08:32:30 +0000548- misc PowerPC reference boards emulation
549
550===============================================================================