~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to target/ppc/STATUS

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
===============================================================================