Statistics
| Branch: | Revision:

root / target-ppc / STATUS @ d7e4b87e

History | View | Annotate | Download (9 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
=> Linux 2.4 boots (at least 1 proprietary firmware).
90

    
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 crashes when entering user-mode. But it seems it does not
207
         know about this CPU. As this CPU is close to 603e, it should be OK.
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

    
218
PowerPC 603e: (603e11)
219
INSN  OK
220
SPR   OK
221
MSR   OK
222
IRQ   OK
223
MMU   OK
224
EXCP  OK
225
Remarks: Linux 2.4 boots and properly recognizes the CPU
226

    
227
PowerPC G2:
228
INSN  OK
229
SPR   OK
230
MSR   OK
231
IRQ   OK
232
MMU   OK
233
EXCP  OK
234
Remarks: Linux 2.4 boots, recognizes the CPU as a 82xx.
235

    
236
PowerPC G2le:
237
INSN  OK
238
SPR   OK
239
MSR   OK
240
IRQ   OK
241
MMU   OK
242
EXCP  OK
243
Remarks: Linux 2.4 does not boots. Same symptoms as 602.
244

    
245
PowerPC 604:
246
INSN  OK
247
SPR   OK
248
MSR   OK
249
IRQ   OK
250
MMU   OK
251
EXCP  OK
252
Remarks: Linux 2.4 boots and properly recognizes the CPU.
253

    
254
PowerPC 7x0:
255
INSN  OK
256
SPR   OK
257
MSR   OK
258
IRQ   OK
259
MMU   OK
260
EXCP  OK
261
Remarks: Linux 2.4 boots and properly recognizes the CPU.
262

    
263
PowerPC 750fx:
264
INSN  OK
265
SPR   OK
266
MSR   OK
267
IRQ   OK
268
MMU   OK
269
EXCP  OK
270
Remarks: Linux 2.4 boots but does not properly recognizes the CPU.
271

    
272
PowerPC 7x5:
273
INSN  ?
274
SPR   ?
275
MSR   ?
276
IRQ   OK
277
MMU   ?
278
EXCP  OK
279
=> Linux 2.4 does not boot.
280

    
281
PowerPC 7400:
282
INSN  KO Altivec missing
283
SPR   OK
284
MSR   OK
285
IRQ   OK
286
MMU   OK
287
EXCP  ?  Altivec, ...
288
=> Linux 2.4 boots and properly recognize the CPU.
289

    
290
PowerPC 7410:
291
INSN  KO Altivec missing
292
SPR   OK
293
MSR   OK
294
IRQ   OK
295
MMU   OK
296
EXCP  ?  Altivec, ...
297
=> Linux 2.4 boots and properly recognize the CPU.
298
   Note that UM says tlbld & tlbli are implemented bus this may be a mistake
299
   as TLB load are managed by the hardware and it does not implement the
300
   needed registers.
301

    
302
PowerPC 7441:
303
INSN  KO Altivec missing + TLB load insns missing
304
SPR   OK
305
MSR   OK
306
IRQ   OK
307
MMU   KO not implemented
308
EXCP  ?  Altivec, ...
309

    
310
PowerPC 7450/7451:
311
INSN  KO Altivec missing + TLB load insns missing
312
SPR   OK
313
MSR   OK
314
IRQ   OK
315
MMU   KO not implemented
316
EXCP  ?  Altivec, ...
317

    
318
PowerPC 7445/7447:
319
INSN  KO Altivec missing + TLB load insns missing
320
SPR   OK
321
MSR   OK
322
IRQ   OK
323
MMU   KO not implemented
324
EXCP  ?  Altivec, ...
325

    
326
PowerPC 7455/7457:
327
INSN  KO Altivec missing + TLB load insns missing
328
SPR   OK
329
MSR   OK
330
IRQ   OK
331
MMU   KO not implemented
332
EXCP  ?  Altivec, ...
333

    
334
64 bits PowerPC
335
PowerPC 620: (disabled)
336
INSN  KO
337
SPR   KO
338
MSR   ?
339
IRQ   KO
340
MMU   KO
341
EXCP  KO
342

    
343
PowerPC 970: (disabled)
344
INSN  KO Altivec missing and more
345
SPR   KO
346
MSR   ?
347
IRQ   OK
348
MMU   KO partially implemented
349
EXCP  KO
350

    
351
PowerPC 970FX: (disabled)
352
INSN  KO Altivec missing and more
353
SPR   KO
354
MSR   ?
355
IRQ   OK
356
MMU   KO partially implemented
357
EXCP  KO
358

    
359
PowerPC 630: (disabled: lack of detailed specifications)
360
INSN  KO
361
SPR   KO
362
MSR   KO
363
IRQ   KO
364
MMU   KO
365
EXCP  KO
366

    
367
PowerPC 631: (disabled: lack of detailed specifications)
368
INSN  KO
369
SPR   KO
370
MSR   KO
371
IRQ   KO
372
MMU   KO
373
EXCP  KO
374

    
375
POWER4: (disabled: lack of detailed specifications)
376
INSN  KO
377
SPR   KO
378
MSR   KO
379
IRQ   KO
380
MMU   KO
381
EXCP  KO
382

    
383
POWER4+: (disabled: lack of detailed specifications)
384
INSN  KO
385
SPR   KO
386
MSR   KO
387
IRQ   KO
388
MMU   KO
389
EXCP  KO
390

    
391
POWER5: (disabled: lack of detailed specifications)
392
INSN  KO
393
SPR   KO
394
MSR   KO
395
IRQ   KO
396
MMU   KO
397
EXCP  KO
398

    
399
POWER5+: (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
POWER6: (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
RS64: (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
RS64-II: (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
RS64-III: (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
RS64-IV: (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
Original POWER
448
POWER: (disabled: lack of detailed specifications)
449
INSN  KO
450
SPR   KO
451
MSR   KO
452
IRQ   KO
453
MMU   KO
454
EXCP  KO
455

    
456
POWER2: (disabled: lack of detailed specifications)
457
INSN  KO
458
SPR   KO
459
MSR   KO
460
IRQ   KO
461
MMU   KO
462
EXCP  KO
463

    
464
===============================================================================
465
PowerPC microcontrollers emulation status
466

    
467
Implemementation should be sufficient to boot Linux:
468
- PowerPC 405CR
469
- PowerPC 405EP
470

    
471
TODO:
472
- More PowerPC 40x microcontrollers emulation
473
- PowerQUICC microcontrollers emulation
474

    
475
===============================================================================
476
PowerPC based platforms emulation status
477

    
478
* PREP platform (RS/6000 7043...) - TO BE CHECKED (broken)
479
- Gentoo Linux live CDROM 1.4
480
- Debian Linux 3.0
481
- Mandrake Linux 9
482

    
483
* heathrow PowerMac platform (beige PowerMac) - TO BE CHECKED (broken)
484
- Gentoo Linux live CDROM 1.4
485
- Debian Linux 3.0
486
- Mandrake Linux 9
487

    
488
* mac99 platform (white and blue PowerMac, ...)
489
- Gentoo Linux live CDROM 1.4 - boots, compiles linux kernel
490
- Debian Linux woody - boots from CDROM and HDD
491
- Mandrake Linux 9 - boots from CDROM, freezes during install
492
- Knoppix 2003-07-13_4 boots from CDROM, pb with X configuration
493
  distribution bug: X runs with a properly hand-coded configuration.
494
- rock Linux 2.0 runs from CDROM
495

    
496
* Linux 2.6 support seems deadly broken (used to boot...).
497

    
498
* PowerPC 405EP reference boards:
499
- can boot Linux 2.4 & 2.6.
500
  Need to provide a flash image ready to boot for reproductible tests.
501

    
502
TODO:
503
- MCA based RS/6000 emulation
504
- CHRP emulation (not PowerMac)
505
- PPAR emulation
506
- ePPAR emulation
507
- misc PowerPC reference boards emulation
508

    
509
===============================================================================
510
(to be completed)