blob: 32e7ffa49323a68cc8f77458f89f568b02461998 [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
14 ? => uncheked
15MSR: 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
380PowerPC 970GX:
381INSN KO Altivec missing and more
382SPR KO
383MSR ?
384IRQ OK
385MMU OK
386EXCP KO partially implemented
j_mayer86f1d3a2007-10-25 21:38:16 +0000387Remarks: Should be able to boot but there is no hw platform currently emulated.
j_mayer9b227872007-10-08 03:00:35 +0000388
389PowerPC Cell:
390INSN KO Altivec missing and more
391SPR KO
392MSR ?
393IRQ ?
394MMU ?
395EXCP ? partially implemented
j_mayer86f1d3a2007-10-25 21:38:16 +0000396Remarks: As the core is mostly a 970, should be able to boot.
397 SPE are not implemented.
j_mayera750fc02007-09-26 23:54:22 +0000398
399PowerPC 630: (disabled: lack of detailed specifications)
400INSN KO
401SPR KO
402MSR KO
403IRQ KO
404MMU KO
405EXCP KO
406
407PowerPC 631: (disabled: lack of detailed specifications)
408INSN KO
409SPR KO
410MSR KO
411IRQ KO
412MMU KO
413EXCP KO
414
415POWER4: (disabled: lack of detailed specifications)
416INSN KO
417SPR KO
418MSR KO
419IRQ KO
420MMU KO
421EXCP KO
422
423POWER4+: (disabled: lack of detailed specifications)
424INSN KO
425SPR KO
426MSR KO
427IRQ KO
428MMU KO
429EXCP KO
430
431POWER5: (disabled: lack of detailed specifications)
432INSN KO
433SPR KO
434MSR KO
435IRQ KO
436MMU KO
437EXCP KO
438
439POWER5+: (disabled: lack of detailed specifications)
440INSN KO
441SPR KO
442MSR KO
443IRQ KO
444MMU KO
445EXCP KO
446
447POWER6: (disabled: lack of detailed specifications)
448INSN KO
449SPR KO
450MSR KO
451IRQ KO
452MMU KO
453EXCP KO
454
455RS64: (disabled: lack of detailed specifications)
456INSN KO
457SPR KO
458MSR KO
459IRQ KO
460MMU KO
461EXCP KO
462
463RS64-II: (disabled: lack of detailed specifications)
464INSN KO
465SPR KO
466MSR KO
467IRQ KO
468MMU KO
469EXCP KO
470
471RS64-III: (disabled: lack of detailed specifications)
472INSN KO
473SPR KO
474MSR KO
475IRQ KO
476MMU KO
477EXCP KO
478
479RS64-IV: (disabled: lack of detailed specifications)
480INSN KO
481SPR KO
482MSR KO
483IRQ KO
484MMU KO
485EXCP KO
j_mayer2662a052007-09-21 05:50:37 +0000486
487Original POWER
j_mayera750fc02007-09-26 23:54:22 +0000488POWER: (disabled: lack of detailed specifications)
j_mayer2662a052007-09-21 05:50:37 +0000489INSN KO
490SPR KO
j_mayera750fc02007-09-26 23:54:22 +0000491MSR KO
492IRQ KO
j_mayer2662a052007-09-21 05:50:37 +0000493MMU KO
494EXCP KO
495
j_mayera750fc02007-09-26 23:54:22 +0000496POWER2: (disabled: lack of detailed specifications)
j_mayer2662a052007-09-21 05:50:37 +0000497INSN KO
498SPR KO
j_mayera750fc02007-09-26 23:54:22 +0000499MSR KO
500IRQ KO
j_mayer2662a052007-09-21 05:50:37 +0000501MMU KO
502EXCP KO
503
j_mayer76a66252007-03-07 08:32:30 +0000504===============================================================================
505PowerPC microcontrollers emulation status
506
j_mayer74563c12007-04-24 07:51:56 +0000507Implemementation should be sufficient to boot Linux:
j_mayer9b227872007-10-08 03:00:35 +0000508(there seem to be problems with uboot freezing at some point)
j_mayer74563c12007-04-24 07:51:56 +0000509- PowerPC 405CR
510- PowerPC 405EP
511
j_mayer76a66252007-03-07 08:32:30 +0000512TODO:
j_mayer86f1d3a2007-10-25 21:38:16 +0000513- 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
j_mayer9b227872007-10-08 03:00:35 +0000517- PowerPC 440 microcontrollers emulation
518- e200 microcontrollers emulation
519- e300 microcontrollers emulation
520- e500 microcontrollers emulation
521- e600 microcontrollers emulation
j_mayer76a66252007-03-07 08:32:30 +0000522
523===============================================================================
524PowerPC 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
j_mayer74563c12007-04-24 07:51:56 +0000540- 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.
j_mayer76a66252007-03-07 08:32:30 +0000549
550TODO:
j_mayer86f1d3a2007-10-25 21:38:16 +0000551- URGENT: fix PreP and heathrow platforms
552- PowerPC 64 reference platform
j_mayer76a66252007-03-07 08:32:30 +0000553- MCA based RS/6000 emulation
554- CHRP emulation (not PowerMac)
555- PPAR emulation
j_mayer74563c12007-04-24 07:51:56 +0000556- ePPAR emulation
j_mayer76a66252007-03-07 08:32:30 +0000557- misc PowerPC reference boards emulation
558
559===============================================================================