1PowerPC emulation status.
   2The goal of this file is to provide a reference status to avoid regressions.
   5PowerPC core emulation status
   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
  32Embedded PowerPC cores
  34PowerPC 401:
  35INSN  OK
  36SPR   OK 401A1
  37MSR   OK
  38IRQ   KO partially implemented
  39MMU   OK
  40EXCP  ?
  42PowerPC 401x2:
  43INSN  OK
  44SPR   OK 401B2 401C2 401D2 401E2 401F2
  45MSR   OK
  46IRQ   KO partially implemented
  47MMU   OK
  48EXCP  ?
  50PowerPC IOP480:
  51INSN  OK
  52SPR   OK IOP480
  53MSR   OK
  54IRQ   KO partially implemented
  55MMU   OK
  56EXCP  ?
  58To be checked: 401G2 401B3 Cobra
  61PowerPC 403:
  62INSN  OK
  63SPR   OK 403GA 403GB
  64MMU   OK
  65MSR   OK
  66IRQ   KO not implemented
  67EXCP  ?
  69PowerPC 403GCX:
  70INSN  OK
  71SPR   OK 403GCX
  72MMU   OK
  73MSR   OK
  74IRQ   KO not implemented
  75EXCP  ?
  77To be checked: 403GC
  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
  94XXX: find what is IBM e407b4
  97PowerPC 440:
  98Checked: 440EPa 440EPb 440GXa 440GXb 440GXc 440GXf 440SP 440SP2
  99INSN  OK
 100SPR   OK
 101MSR   OK
 102IRQ   KO not implemented
 103MMU   ?
 104EXCP  ?
 106PowerPC 440GP:
 107Checked: 440GPb 440GPc
 108INSN  OK
 109SPR   OK
 110MSR   OK
 111IRQ   KO not implemented
 112MMU   ?
 113EXCP  ?
 115PowerPC 440x4:
 116Checked: 440A4 440B4 440G4 440H4
 117INSN  OK
 118SPR   OK
 119MSR   OK
 120IRQ   KO not implemented
 121MMU   ?
 122EXCP  ?
 124PowerPC 440x5:
 125Checked: 440A5 440F5 440G5 440H6 440GRa
 126INSN  OK
 127SPR   OK
 128MSR   OK
 129IRQ   KO not implemented
 130MMU   ?
 131EXCP  ?
 133To be checked: 440EPx 440GRx 440SPE
 136PowerPC 460: (disabled: lack of detailed specifications)
 137INSN  KO
 138SPR   KO
 139MSR   KO
 140IRQ   KO
 141MMU   KO
 142EXCP  KO
 144PowerPC 460F: (disabled: lack of detailed specifications)
 145INSN  KO
 146SPR   KO
 147MSR   KO
 148IRQ   KO
 149MMU   KO
 150EXCP  KO
 153PowerPC e200: (not implemented)
 154INSN  KO
 155SPR   KO
 156MSR   KO
 157IRQ   KO
 158MMU   KO
 159EXCP  KO
 162PowerPC e300: (not implemented)
 163INSN  KO
 164SPR   KO
 165MSR   KO
 166IRQ   KO
 167MMU   KO
 168EXCP  KO
 171PowerPC e500: (not implemented)
 172INSN  KO
 173SPR   KO
 174MSR   KO
 175IRQ   KO
 176MMU   KO
 177EXCP  KO
 180PowerPC e600: (not implemented)
 181INSN  KO
 182SPR   KO
 183MSR   KO
 184IRQ   KO
 185MMU   KO
 186EXCP  KO
 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)
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 279PowerPC 7x5:
 280INSN  ?
 281SPR   ?
 282MSR   ?
 283IRQ   OK
 284MMU   ?
 285EXCP  OK
 286Remarks: Linux 2.4 does not boot.
 287         Linux 2.6.22 idem.
 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.
 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.
 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.
 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.
 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.
 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.
 35264 bits PowerPC
 353PowerPC 620: (disabled)
 354INSN  KO
 355SPR   KO
 356MSR   ?
 357IRQ   KO
 358MMU   KO
 359EXCP  KO
 360Remarks: not much documentation for this implementation...
 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.
 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.
 380PowerPC Cell:
 381INSN  KO Altivec missing and more
 382SPR   KO
 383MSR   ?
 384IRQ   ?
 385MMU   ?
 386EXCP  ? partially implemented
 387Remarks: As the core is mostly a 970, should be able to boot.
 388         SPE are not implemented.
 390PowerPC 630: (disabled: lack of detailed specifications)
 391INSN  KO
 392SPR   KO
 393MSR   KO
 394IRQ   KO
 395MMU   KO
 396EXCP  KO
 398PowerPC 631: (disabled: lack of detailed specifications)
 399INSN  KO
 400SPR   KO
 401MSR   KO
 402IRQ   KO
 403MMU   KO
 404EXCP  KO
 406POWER4: (disabled: lack of detailed specifications)
 407INSN  KO
 408SPR   KO
 409MSR   KO
 410IRQ   KO
 411MMU   KO
 412EXCP  KO
 414POWER4+: (disabled: lack of detailed specifications)
 415INSN  KO
 416SPR   KO
 417MSR   KO
 418IRQ   KO
 419MMU   KO
 420EXCP  KO
 422POWER5: (disabled: lack of detailed specifications)
 423INSN  KO
 424SPR   KO
 425MSR   KO
 426IRQ   KO
 427MMU   KO
 428EXCP  KO
 430POWER5+: (disabled: lack of detailed specifications)
 431INSN  KO
 432SPR   KO
 433MSR   KO
 434IRQ   KO
 435MMU   KO
 436EXCP  KO
 438POWER6: (disabled: lack of detailed specifications)
 439INSN  KO
 440SPR   KO
 441MSR   KO
 442IRQ   KO
 443MMU   KO
 444EXCP  KO
 446RS64: (disabled: lack of detailed specifications)
 447INSN  KO
 448SPR   KO
 449MSR   KO
 450IRQ   KO
 451MMU   KO
 452EXCP  KO
 454RS64-II: (disabled: lack of detailed specifications)
 455INSN  KO
 456SPR   KO
 457MSR   KO
 458IRQ   KO
 459MMU   KO
 460EXCP  KO
 462RS64-III: (disabled: lack of detailed specifications)
 463INSN  KO
 464SPR   KO
 465MSR   KO
 466IRQ   KO
 467MMU   KO
 468EXCP  KO
 470RS64-IV: (disabled: lack of detailed specifications)
 471INSN  KO
 472SPR   KO
 473MSR   KO
 474IRQ   KO
 475MMU   KO
 476EXCP  KO
 478Original POWER
 479POWER: (disabled: lack of detailed specifications)
 480INSN  KO
 481SPR   KO
 482MSR   KO
 483IRQ   KO
 484MMU   KO
 485EXCP  KO
 487POWER2: (disabled: lack of detailed specifications)
 488INSN  KO
 489SPR   KO
 490MSR   KO
 491IRQ   KO
 492MMU   KO
 493EXCP  KO
 496PowerPC microcontrollers emulation status
 498Implemementation should be sufficient to boot Linux:
 499(there seem to be problems with uboot freezing at some point)
 500- PowerPC 405CR
 501- PowerPC 405EP
 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
 515PowerPC based platforms emulation status
 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
 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
 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
 535* Linux 2.6 support seems deadly broken (used to boot...).
 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.
 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