Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
PEARPC(1)                  PowerPC platform emulator                 PEARPC(1)

       pearpc - architecture independent PowerPC platform emulator capable of
       running most PowerPC operating systems.

       ppc configfile

       PearPC (ppc) is an architecture independent PowerPC platform emulator
       capable of running most PowerPC operating systems.

           * License: GPL
           * Programming language: C++, C and (on x86 platforms) assembler
           * Supported platforms: POSIX-X11 (Linux, ...), Win32

       The following operating systems were tested and run (to some extend)
       under PearPC:
           * Mandrake Linux 9.1 for PPC: Runs very well
           * Darwin for PPC: Runs well
           * Mac OS X 10.3: Runs well with some caveats
           * OpenBSD for PPC: Crashes while booting (accesses PCI in an
       unsupported way)
           * NetBSD for PPC: Crashes while booting

       PearPC simulates the following hardware:
           * CPU: Sort of G3, no altivec yet. Includes a minimalistic
       debugger. The CPU is completely deterministic, optimal for
           * CPU JITC-X86: A very fast CPU for x86 systems that translates the
       PowerPC code on-the-fly to native code. Still a little bit
           * PCI-Brige: A barebone PCI-Bridge, enough to work with.
           * IDE-Controller: Sort of CMD646 with bus-mastering support. You
       can attach IDE-Harddisk(s) and/or IDE-CDROM(s) (represented through
       files or devices on the host).
           * PIC: A programmable interrupt controller (sort of Heathrow).
           * VIA-Cuda: With attached Mouse and Keyboard.
           * Network Controller: Emulates a 3COM 3C90x, works currently only
       on POSIX with /dev/tun support.
           * NVRAM: Capable of storing 8KiB non-volatile memory.
           * USB: A non-usable USB-hub, but enough to make the OS think that
       there is an USB-hub.
           * PROM: Sort of openfirmware. Ugly and contains a lot of hacks, but
       enough to support Yaboot and BootX and to boot from HFS/HFS+

       See ppcconf.example for commented configuration file in docs/example

       See also online ppc documentation on the website URLed above.

       Due to the nature of emulation, PearPC is quite slow (the client will
       run about 500 times slower than the host). Note that only the CPU is
       that slow, the speed of the emulated hardware doesn't suffer that much
       from the emulation; e.g. the speed of simulated harddrive/CDROM is
       quite good, especially when using the busmaster interface. This
       situation is better if you can use the JITC (about 40 times slower) but
       still not ready for productive use.

       Because the author has only access to little endian machine, PearPC
       will most likely only run on little endian architectures due to some
       stupid assumptions in the code. This shouldn't be hard to fix, the
       author would fix this himself if he had big endian hardware (Hint: You
       should donate big endian hardware to the author if you want this to be

       Because of some equally stupid reasons PearPC will only run on 32-bit
       architectures. Yes, this also shouldn't be hard to fix.

       A lot of unimplementated features are currently critical (i.e. will
       abort PearPC).

       Timings are very unaccurate. This will be fixed in later versions.

       No idle sleep (PearPC will consume cpu resources although the client is

       PearPC lacks a save/restore emulator-state feature.

       No Altivec support but planned.

       No LBA48, so no support for harddisks greater than 128 GiB. But I'd be
       really suprised if PearPC correctly supported harddisks greater than 4
       GiB, although that should theoretically be possible.

       Main developer: Sebastian Biallas <> Some major parts by:
       Stefan Weyergraf <>

       Visit PearPC website at

                                      0.1                            PEARPC(1)


Want to link to this manual page? Use this URL:

home | help