Statistics
| Branch: | Revision:

root / target-ppc / STATUS @ b36f100e

History | View | Annotate | Download (10.4 kB)

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 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.
389

    
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
397

    
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
405

    
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
413

    
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
421

    
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
429

    
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
437

    
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
445

    
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
453

    
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
461

    
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
469

    
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
477

    
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
486

    
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
494

    
495
===============================================================================
496
PowerPC microcontrollers emulation status
497

    
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
502

    
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
513

    
514
===============================================================================
515
PowerPC 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
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
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.
540

    
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
549

    
550
===============================================================================