Statistics
| Branch: | Revision:

root / target-ppc / STATUS @ eaabeef2

History | View | Annotate | Download (10.6 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
      ?  => uncheked
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
===============================================================================