qemu/target-ppc/STATUS
<<
>>
Prefs
   1PowerPC emulation status.
   2The goal of this file is to provide a reference status to avoid regressions.
   3
   4===============================================================================
   5PowerPC core emulation status
   6
   7INSN: 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      ?  => unchecked
  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
  31
  32Embedded PowerPC cores
  33***
  34PowerPC 401:
  35INSN  OK
  36SPR   OK 401A1
  37MSR   OK
  38IRQ   KO partially implemented
  39MMU   OK
  40EXCP  ?
  41
  42PowerPC 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***
  61PowerPC 403:
  62INSN  OK
  63SPR   OK 403GA 403GB
  64MMU   OK
  65MSR   OK
  66IRQ   KO not implemented
  67EXCP  ?
  68
  69PowerPC 403GCX:
  70INSN  OK
  71SPR   OK 403GCX
  72MMU   OK
  73MSR   OK
  74IRQ   KO not implemented
  75EXCP  ?
  76
  77To be checked: 403GC
  78
  79***
  80PowerPC 405:
  81Checked: 405CRa 405CRb 405CRc 405EP 405GPa 405GPb 405GPc 405GPd 405GPe 405GPR
  82         Npe405H Npe405H2 Npe405L
  83INSN  OK
  84SPR   OK
  85MSR   OK
  86IRQ   OK
  87MMU   OK
  88EXCP  OK
  89Remarks: Linux 2.4 boots (at least 1 proprietary firmware).
  90         uboot seems to freeze at boot time.
  91To 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
 103MMU   ?
 104EXCP  ?
 105
 106PowerPC 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)
 137INSN  KO
 138SPR   KO
 139MSR   KO
 140IRQ   KO
 141MMU   KO
 142EXCP  KO
 143
 144PowerPC 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
 206Remarks: Linux 2.4 crashes when entering user-mode.
 207         Linux 2.6.22 boots on this CPU but does not recognize it.
 208
 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
 217         Linux 2.6.22 idem.
 218
 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
 227         Linux 2.6.22 idem.
 228
 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.
 237         Linux 2.6.22 idem.
 238
 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.
 247         Linux 2.6.22 boots and properly recognizes the CPU.
 248
 249PowerPC 604:
 250INSN  OK
 251SPR   OK
 252MSR   OK
 253IRQ   OK
 254MMU   OK
 255EXCP  OK
 256Remarks: Linux 2.4 boots and properly recognizes the CPU.
 257         Linux 2.6.22 idem.
 258
 259PowerPC 7x0:
 260INSN  OK
 261SPR   OK
 262MSR   OK
 263IRQ   OK
 264MMU   OK
 265EXCP  OK
 266Remarks: Linux 2.4 boots and properly recognizes the CPU.
 267         Linux 2.6.22 idem.
 268
 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.
 277         Linux 2.6.22 boots and properly recognizes the CPU.
 278
 279PowerPC 7x5:
 280INSN  ?
 281SPR   ?
 282MSR   ?
 283IRQ   OK
 284MMU   ?
 285EXCP  OK
 286Remarks: Linux 2.4 does not boot.
 287         Linux 2.6.22 idem.
 288
 289PowerPC 7400:
 290INSN  KO Altivec missing
 291SPR   OK
 292MSR   OK
 293IRQ   OK
 294MMU   OK
 295EXCP  ?  Altivec, ...
 296Remarks: Linux 2.4 boots and properly recognize the CPU.
 297         Linux 2.6.22 idem.
 298
 299PowerPC 7410:
 300INSN  KO Altivec missing
 301SPR   OK
 302MSR   OK
 303IRQ   OK
 304MMU   OK
 305EXCP  ?  Altivec, ...
 306Remarks: 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
 312PowerPC 7441:
 313INSN  KO Altivec missing
 314SPR   OK
 315MSR   OK
 316IRQ   OK
 317MMU   OK
 318EXCP  ?  Altivec, ...
 319Remarks: Linux does not have the code to handle TLB miss on this CPU
 320         Linux 2.6.22 idem.
 321
 322PowerPC 7450/7451:
 323INSN  KO Altivec missing
 324SPR   OK
 325MSR   OK
 326IRQ   OK
 327MMU   OK
 328EXCP  ?  Altivec, ...
 329Remarks: Linux does not have the code to handle TLB miss on this CPU
 330         Linux 2.6.22 idem.
 331
 332PowerPC 7445/7447:
 333INSN  KO Altivec missing
 334SPR   OK
 335MSR   OK
 336IRQ   OK
 337MMU   OK
 338EXCP  ?  Altivec, ...
 339Remarks: Linux does not have the code to handle TLB miss on this CPU
 340         Linux 2.6.22 idem.
 341
 342PowerPC 7455/7457:
 343INSN  KO Altivec missing
 344SPR   OK
 345MSR   OK
 346IRQ   OK
 347MMU   OK
 348EXCP  ?  Altivec, ...
 349Remarks: Linux does not have the code to handle TLB miss on this CPU
 350         Linux 2.6.22 idem.
 351
 35264 bits PowerPC
 353PowerPC 620: (disabled)
 354INSN  KO
 355SPR   KO
 356MSR   ?
 357IRQ   KO
 358MMU   KO
 359EXCP  KO
 360Remarks: not much documentation for this implementation...
 361
 362PowerPC 970:
 363INSN  KO Altivec missing and more
 364SPR   KO
 365MSR   ?
 366IRQ   OK
 367MMU   OK
 368EXCP  KO partially implemented
 369Remarks: Should be able to boot but there is no hw platform currently emulated.
 370
 371PowerPC 970FX:
 372INSN  KO Altivec missing and more
 373SPR   KO
 374MSR   ?
 375IRQ   OK
 376MMU   OK
 377EXCP  KO partially implemented
 378Remarks: Should be able to boot but there is no hw platform currently emulated.
 379
 380PowerPC 970GX:
 381INSN  KO Altivec missing and more
 382SPR   KO
 383MSR   ?
 384IRQ   OK
 385MMU   OK
 386EXCP  KO partially implemented
 387Remarks: Should be able to boot but there is no hw platform currently emulated.
 388
 389PowerPC Cell:
 390INSN  KO Altivec missing and more
 391SPR   KO
 392MSR   ?
 393IRQ   ?
 394MMU   ?
 395EXCP  ? partially implemented
 396Remarks: As the core is mostly a 970, should be able to boot.
 397         SPE are not implemented.
 398
 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
 486
 487Original POWER
 488POWER: (disabled: lack of detailed specifications)
 489INSN  KO
 490SPR   KO
 491MSR   KO
 492IRQ   KO
 493MMU   KO
 494EXCP  KO
 495
 496POWER2: (disabled: lack of detailed specifications)
 497INSN  KO
 498SPR   KO
 499MSR   KO
 500IRQ   KO
 501MMU   KO
 502EXCP  KO
 503
 504===============================================================================
 505PowerPC microcontrollers emulation status
 506
 507Implemementation 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
 512TODO:
 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===============================================================================
 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
 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
 550TODO:
 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===============================================================================
 560