Monday 23 May 2022

Linux for PowerPC on QEMU (g3beige) - System Information

QEMU g3beige running Debian Linux 8 with XFCE desktop

QEMU & Linux for PowerPC

A recent post (see Linux for PowerPC on QEMU (mac99) - System Information) looked at Linux on QEMU's 'mac99' machine, an emulation of an Apple PowerMac G4 (AGP Graphics). But what about QEMU's other Power Macintosh system?

QEMU

QEMU provides an emulation of the older, Apple Power Macintosh G3 ("beige").

Checking Apple Support, EveryMac.com, Wikipedia the hardware specification for the 'g3beige' would be:

SystemApple Power Macintosh G3 ("beige")
Mac FirmwareOldWorld
CPUPowerPC 750 @ 233, 266, 300, or 333 MHz; upgrade to G4 @ 350 or 400 MHz
RAM32, 64 or 128 MiB (768 MiB max.)
BusPCI
Storagebuilt-in IDE controller; 128GB max. HD
built-in SCSI controller
4GB SCSI, 2x 4GB SCSI or 8GB IDE hard disk(s)
24x ATAPI/IDE CD-ROM
Floppy3.5" 1.44MB
VideoATI 3D Rage II+, ATI 3D Rage Pro, or ATI 3D Rage Pro Turbo, 6 MiB VRAM
AudioWhisper or Wings personality card
Networkbuilt-in RTL-8029(AS) 10 Mb/s 10baseT ethernet
Keyboard & MouseADB

Third-party processor upgrades offered higher spec. G3 and G4 options. Since the emulation will determine the processor speed, we'll go with the default processor.

Emulation Command

For reference the QEMU command used:

qemu-system-ppc \
    --machine g3beige \
    -hda hda_DebianLinux_g3beige.qcow2 \
    -cdrom debian-8.11.0-powerpc-DVD-1.iso \
    -g 1024x768x8 \
    -net nic \
    -net "user,guestfwd=:10.0.2.1:22-cmd:netcat 127.0.0.1 22,hostfwd=::2222-:22" \
    -kernel vmlinux-3.16.0-6-powerpc \
    -initrd initrd.img-3.16.0-6-powerpc \
    -append 'root=/dev/sda3' \
    -name 'Debian Linux 8 (jessie) on Power Macintosh G3 (Beige)'

Note that due to issues with the boot loader, a kernel and ramdisk extracted from the installed system are used to start the system.

System Information - Debian Linux 8 (jessie)

With Debian Linux 8 (jessie) for PowerPC installed, lets see what it has to say about the system.

For details of real hardware systems, if you want to compare, see:

uname & lsb_release

Operating system release and version information:

$ uname -a
Linux deb8-g3b 3.16.0-6-powerpc #1 Debian 3.16.56-1+deb8u1 (2018-05-08) ppc GNU/Linux

So a "Linux" kernel, on a node named "deb8-g3b", kernel release "3.16.0-6-powerpc" (a patched 3.16.0 kernel), version "#1 Debian 3.16.56-1+deb8u1 (2018-05-08)", machine type "ppc" for operating system "GNU/Linux".

Distribution information from Linux Standard Base (LSB):

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 8.11 (jessie)
Release:	8.11
Codename:	jessie

Looking at the Debian release information files:

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
$ cat /etc/debian_version
8.11

Confirmed as a Debian Linux 8 (jessie) distribution.

/proc/cpuinfo & lscpu

Processor information:

$ lscpu
Architecture:          ppc
CPU op-mode(s):        32-bit
Byte Order:            Big Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
Model:                 Power Macintosh
BogoMIPS:              33.19
L1d cache:             32K
L1i cache:             32K
$ cat /proc/cpuinfo
processor	: 0
cpu		: 740/750
temperature 	: 50-126 C (uncalibrated)
clock		: 266.000000MHz
revision	: 3.1 (pvr 0008 0301)
bogomips	: 33.19
timebase	: 16596533
platform	: PowerMac
model		: Power Macintosh
machine		: Power Macintosh
motherboard	: AAPL,PowerMac G3 MacRISC
detected as	: 49 (PowerMac G3 (Silk))
pmac flags	: 00000000
pmac-generation	: OldWorld
Memory		: 128 MB

As well as the processor there is a bit of information about the system here. Interestingly it identifies as a "PowerMac G3 (Silk)" which suggests the firmware is based on the later revisions of the mainboard, which had OpenFirmware 2.4 and an ATI 3D Rage Pro (Turbo) for the built-in graphics. The earlier revisions of the board firmware identify as:

motherboard : AAPL,Gossamer MacRISC
detected as : 48 (PowerMac G3 (Gossamer))

With an older firmware revision, and ATI 3D Rage II+ or ATI 3D Rage Pro graphics.

/proc/meminfo

System memory report:

$ cat /proc/meminfo
MemTotal:         122148 kB
MemFree:           44404 kB
MemAvailable:      91832 kB
Buffers:            8844 kB
Cached:            45012 kB
SwapCached:            0 kB
Active:            43824 kB
Inactive:          22800 kB
Active(anon):      12880 kB
Inactive(anon):     4284 kB
Active(file):      30944 kB
Inactive(file):    18516 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:             0 kB
HighFree:              0 kB
LowTotal:         122148 kB
LowFree:           44404 kB
SwapTotal:        358200 kB
SwapFree:         358200 kB
Dirty:                52 kB
Writeback:             0 kB
AnonPages:         12780 kB
Mapped:            14588 kB
Shmem:              4400 kB
Slab:               7120 kB
SReclaimable:       3408 kB
SUnreclaim:         3712 kB
KernelStack:         512 kB
PageTables:          612 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      419272 kB
Committed_AS:      51884 kB
VmallocTotal:     883308 kB
VmallocUsed:       21868 kB
VmallocChunk:     850784 kB

So we have 128 MiB RAM and about 358 MB of swap.

lspci

Report PCI devices:

$ lspci -v
00:00.0 Host bridge: Motorola MPC106 [Grackle] (prog-if 01)
	Subsystem: Red Hat, Inc Device 1100
	Flags: fast devsel

00:01.0 VGA compatible controller: Device 1234:1111 (rev 02) (prog-if 00 [VGA controller])
	Subsystem: Red Hat, Inc Device 1100
	Flags: fast devsel
	Memory at 80000000 (32-bit, prefetchable) [size=16M]
	Memory at 81000000 (32-bit, non-prefetchable) [size=4K]
	Expansion ROM at 81010000 [disabled] [size=64K]
	Kernel driver in use: bochs-drm

00:02.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS)
	Subsystem: Red Hat, Inc QEMU Virtual Machine
	Flags: fast devsel, IRQ 23
	I/O ports at 1000 [size=256]
	Expansion ROM at 81040000 [disabled] [size=256K]
	Kernel driver in use: ne2k-pci

00:10.0 Unassigned class [ff00]: Apple Inc. Heathrow Mac I/O
	Subsystem: Red Hat, Inc Device 1100
	Flags: bus master, fast devsel, latency 0
	Memory at 81080000 (32-bit, non-prefetchable) [size=512K]
	Kernel driver in use: macio

Leaving aside the generic VGA device in place of the ATI 3D Rage II+/Pro, this looks okay when compared to a real system.

report-hw

Report hardware information using commands:

$ report-hw 
uname -a: Linux deb8-g3b 3.16.0-6-powerpc #1 Debian 3.16.56-1+deb8u1 (2018-05-08) ppc GNU/Linux
lspci -knn: 00:00.0 Host bridge [0600]: Motorola MPC106 [Grackle] [1057:0002]
lspci -knn: 	Subsystem: Red Hat, Inc Device [1af4:1100]
lspci -knn: 00:01.0 VGA compatible controller [0300]: Device [1234:1111] (rev 02)
lspci -knn: 	Subsystem: Red Hat, Inc Device [1af4:1100]
lspci -knn: 	Kernel driver in use: bochs-drm
lspci -knn: 00:02.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8029(AS) [10ec:8029]
lspci -knn: 	Subsystem: Red Hat, Inc QEMU Virtual Machine [1af4:1100]
lspci -knn: 	Kernel driver in use: ne2k-pci
lspci -knn: 00:10.0 Unassigned class [ff00]: Apple Inc. Heathrow Mac I/O [106b:0010]
lspci -knn: 	Subsystem: Red Hat, Inc Device [1af4:1100]
lspci -knn: 	Kernel driver in use: macio
usb: No USB information available
lsmod: Module                  Size  Used by
lsmod: uinput                  7802  2 
lsmod: nfsd                  264823  2 
lsmod: auth_rpcgss            49048  1 nfsd
lsmod: oid_registry            2255  1 auth_rpcgss
lsmod: nfs_acl                 2919  1 nfsd
lsmod: nfs                   185328  0 
lsmod: lockd                  76158  2 nfs,nfsd
lsmod: fscache                42624  1 nfs
lsmod: sunrpc                237002  6 nfs,nfsd,auth_rpcgss,lockd,nfs_acl
lsmod: evdev                  11401  2 
lsmod: bochs_drm              16809  1 
lsmod: ttm                    58895  1 bochs_drm
lsmod: drm_kms_helper         43002  1 bochs_drm
lsmod: drm                   230603  4 ttm,bochs_drm,drm_kms_helper
lsmod: syscopyarea             2930  1 bochs_drm
lsmod: sysfillrect             3514  1 bochs_drm
lsmod: sysimgblt               1851  1 bochs_drm
lsmod: autofs4                27653  2 
lsmod: ext4                  474308  2 
lsmod: crc16                   1143  1 ext4
lsmod: mbcache                 6076  1 ext4
lsmod: jbd2                   73772  1 ext4
lsmod: sg                     22219  0 
lsmod: sr_mod                 15552  0 
lsmod: cdrom                  43116  1 sr_mod
lsmod: sd_mod                 38704  4 
lsmod: crc_t10dif               963  1 sd_mod
lsmod: crct10dif_generic       1401  1 
lsmod: crct10dif_common        1220  2 crct10dif_generic,crc_t10dif
lsmod: ne2k_pci                9547  0 
lsmod: 8390                   12688  1 ne2k_pci
df: Filesystem     1K-blocks   Used Available Use% Mounted on
df: /dev/sda3       19912588 710868  18167172   4% /
df: udev               10240      0     10240   0% /dev
df: tmpfs              24432   4396     20036  18% /run
df: tmpfs              61072      0     61072   0% /dev/shm
df: tmpfs               5120      0      5120   0% /run/lock
df: tmpfs              61072      0     61072   0% /sys/fs/cgroup
df: /dev/sda2         242078  27821    201757  13% /boot
free:              total       used       free     shared    buffers     cached
free: Mem:        122148      76184      45964       4400       8436      43776
free: -/+ buffers/cache:      23972      98176
free: Swap:       358200          0     358200
/proc/cmdline: root=/dev/sda3
/proc/cpuinfo: processor	: 0
/proc/cpuinfo: cpu		: 740/750
/proc/cpuinfo: temperature 	: 50-126 C (uncalibrated)
/proc/cpuinfo: clock		: 266.000000MHz
/proc/cpuinfo: revision	: 3.1 (pvr 0008 0301)
/proc/cpuinfo: bogomips	: 33.19
/proc/cpuinfo: timebase	: 16596533
/proc/cpuinfo: platform	: PowerMac
/proc/cpuinfo: model		: Power Macintosh
/proc/cpuinfo: machine		: Power Macintosh
/proc/cpuinfo: motherboard	: AAPL,PowerMac G3 MacRISC
/proc/cpuinfo: detected as	: 49 (PowerMac G3 (Silk))
/proc/cpuinfo: pmac flags	: 00000000
/proc/cpuinfo: pmac-generation	: OldWorld
/proc/cpuinfo: Memory		: 128 MB
/proc/ioports: 00000000-007fffff : /pci@80000000
/proc/ioports:   00000000-00000fff : Legacy IO
/proc/ioports:   00001000-000010ff : 0000:00:02.0
/proc/ioports:     00001000-0000101f : ne2k-pci
/proc/iomem: 00000000-07ffffff : System RAM
/proc/iomem: 80000000-8fffffff : /pci@80000000
/proc/iomem:   80000000-80ffffff : 0000:00:01.0
/proc/iomem:     80000000-80ffffff : bochs-drm
/proc/iomem:   81000000-81000fff : 0000:00:01.0
/proc/iomem:     81000000-81000fff : bochs-drm
/proc/iomem:   81010000-8101ffff : 0000:00:01.0
/proc/iomem:   81040000-8107ffff : 0000:00:02.0
/proc/iomem:   81080000-810fffff : 0000:00:10.0
/proc/iomem:     81080000-810fffff : 0.81080000:mac-io
/proc/iomem:       81088b00-81088bff : 0.00020000:ata-3
/proc/iomem:         81088b00-81088bff : pata-macio-dma
/proc/iomem:       81088d00-81088dff : 0.00021000:ata-3
/proc/iomem:         81088d00-81088dff : pata-macio-dma
/proc/iomem:       81093000-81093000 : 0.00013000:ch-b
/proc/iomem:         81093000-81093000 : pmac_zilog
/proc/iomem:       81093010-81093010 : 0.00013000:ch-b
/proc/iomem:         81093010-81093010 : pmac_zilog
/proc/iomem:       81093020-81093020 : 0.00013020:ch-a
/proc/iomem:         81093020-81093020 : pmac_zilog
/proc/iomem:       81093030-81093030 : 0.00013020:ch-a
/proc/iomem:         81093030-81093030 : pmac_zilog
/proc/iomem:       81093040-81093040 : 0.00013000:ch-b
/proc/iomem:         81093040-81093040 : pmac_zilog
/proc/iomem:       81093050-81093050 : 0.00013020:ch-a
/proc/iomem:         81093050-81093050 : pmac_zilog
/proc/iomem:       81096000-81097fff : 0.00016000:via-cuda
/proc/iomem:       810a0000-810a0fff : 0.00020000:ata-3
/proc/iomem:         810a0000-810a0fff : pata-macio
/proc/iomem:       810a1000-810a1fff : 0.00021000:ata-3
/proc/iomem:         810a1000-810a1fff : pata-macio
/proc/iomem:       810e0000-810fffff : 0.00060000:nvram
/proc/iomem: fd000000-fdffffff : /pci@80000000
/proc/iomem:   fd0a0000-fd0bffff : Legacy VGA memory
/proc/interrupts:            CPU0       
/proc/interrupts:  18:       1162  PMAC-PIC  18 Level     ADB
/proc/interrupts:  19:       3149  PMAC-PIC  13 Level     pata-macio
/proc/interrupts:  20:          0  PMAC-PIC  20 Level     NMI - XMON
/proc/interrupts:  22:        907  PMAC-PIC  14 Level     pata-macio
/proc/interrupts:  23:        679  PMAC-PIC  23 Level     eth0
/proc/interrupts: LOC:      19647   Local timer interrupts for timer event device
/proc/interrupts: LOC:        649   Local timer interrupts for others
/proc/interrupts: SPU:          0   Spurious interrupts
/proc/interrupts: PMI:          0   Performance monitoring interrupts
/proc/interrupts: MCE:          0   Machine check exceptions
/proc/meminfo: MemTotal:         122148 kB
/proc/meminfo: MemFree:           46020 kB
/proc/meminfo: MemAvailable:      91800 kB
/proc/meminfo: Buffers:            8436 kB
/proc/meminfo: Cached:            43776 kB
/proc/meminfo: SwapCached:            0 kB
/proc/meminfo: Active:            43288 kB
/proc/meminfo: Inactive:          21700 kB
/proc/meminfo: Active(anon):      12892 kB
/proc/meminfo: Inactive(anon):     4280 kB
/proc/meminfo: Active(file):      30396 kB
/proc/meminfo: Inactive(file):    17420 kB
/proc/meminfo: Unevictable:           0 kB
/proc/meminfo: Mlocked:               0 kB
/proc/meminfo: HighTotal:             0 kB
/proc/meminfo: HighFree:              0 kB
/proc/meminfo: LowTotal:         122148 kB
/proc/meminfo: LowFree:           46020 kB
/proc/meminfo: SwapTotal:        358200 kB
/proc/meminfo: SwapFree:         358200 kB
/proc/meminfo: Dirty:                 0 kB
/proc/meminfo: Writeback:             0 kB
/proc/meminfo: AnonPages:         12800 kB
/proc/meminfo: Mapped:            14660 kB
/proc/meminfo: Shmem:              4400 kB
/proc/meminfo: Slab:               7124 kB
/proc/meminfo: SReclaimable:       3400 kB
/proc/meminfo: SUnreclaim:         3724 kB
/proc/meminfo: KernelStack:         520 kB
/proc/meminfo: PageTables:          640 kB
/proc/meminfo: NFS_Unstable:          0 kB
/proc/meminfo: Bounce:                0 kB
/proc/meminfo: WritebackTmp:          0 kB
/proc/meminfo: CommitLimit:      419272 kB
/proc/meminfo: Committed_AS:      51996 kB
/proc/meminfo: VmallocTotal:     883308 kB
/proc/meminfo: VmallocUsed:       21852 kB
/proc/meminfo: VmallocChunk:     850500 kB
/proc/bus/input/devices: I: Bus=0017 Vendor=0001 Product=2202 Version=0100
/proc/bus/input/devices: N: Name="ADB keyboard"
/proc/bus/input/devices: P: Phys=adb2:2.02/input
/proc/bus/input/devices: S: Sysfs=/devices/virtual/input/input0
/proc/bus/input/devices: U: Uniq=
/proc/bus/input/devices: H: Handlers=sysrq kbd event0 
/proc/bus/input/devices: B: PROP=0
/proc/bus/input/devices: B: EV=120003
/proc/bus/input/devices: B: KEY=10000 0 0 0 0 0 0 0 0 0 0 feb0ffdf 3cfffff ffffffff fffffffe
/proc/bus/input/devices: B: LED=7
/proc/bus/input/devices: 
/proc/bus/input/devices: I: Bus=0017 Vendor=0001 Product=3303 Version=0100
/proc/bus/input/devices: N: Name="ADB mouse"
/proc/bus/input/devices: P: Phys=adb3:3.03/input
/proc/bus/input/devices: S: Sysfs=/devices/virtual/input/input1
/proc/bus/input/devices: U: Uniq=
/proc/bus/input/devices: H: Handlers=mouse0 event1 
/proc/bus/input/devices: B: PROP=0
/proc/bus/input/devices: B: EV=7
/proc/bus/input/devices: B: KEY=70000 0 0 0 0 0 0 0 0
/proc/bus/input/devices: B: REL=3
/proc/bus/input/devices: 
/proc/bus/input/devices: I: Bus=0006 Vendor=001f Product=001f Version=0000
/proc/bus/input/devices: N: Name="Mouseemu virtual keyboard"
/proc/bus/input/devices: P: Phys=
/proc/bus/input/devices: S: Sysfs=/devices/virtual/input/input2
/proc/bus/input/devices: U: Uniq=
/proc/bus/input/devices: H: Handlers=sysrq kbd event2 
/proc/bus/input/devices: B: PROP=0
/proc/bus/input/devices: B: EV=100003
/proc/bus/input/devices: B: KEY=1ffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe
/proc/bus/input/devices: 
/proc/bus/input/devices: I: Bus=0006 Vendor=001f Product=001e Version=0000
/proc/bus/input/devices: N: Name="Mouseemu virtual mouse"
/proc/bus/input/devices: P: Phys=
/proc/bus/input/devices: S: Sysfs=/devices/virtual/input/input3
/proc/bus/input/devices: U: Uniq=
/proc/bus/input/devices: H: Handlers=mouse1 event3 
/proc/bus/input/devices: B: PROP=0
/proc/bus/input/devices: B: EV=7
/proc/bus/input/devices: B: KEY=70000 0 0 0 0 0 0 0 0
/proc/bus/input/devices: B: REL=103
/proc/bus/input/devices: 

Lots of information about the emulated hardware and the operating system here.

dmesg

System messages:

$ dmesg
[    0.000000] Using PowerMac machine description
[    0.000000] Total memory = 128MB; using 256kB for hash table (at c7fc0000)
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.16.0-6-powerpc (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 Debian 3.16.56-1+deb8u1 (2018-05-08)
[    0.000000] Found initrd at 0xc19a2000:0xc272964b
[    0.000000] Found a Heathrow mac-io controller, rev: 0, mapped at 0xff780000
[    0.000000] PowerMac motherboard: PowerMac G3 (Silk)
[    0.000000] bootconsole [udbg0] enabled
[    0.000000] Found Grackle (MPC106) PCI host bridge at 0x0000000080000000. Firmware bus number: 0->0
[    0.000000] PCI host bridge /pci@80000000 (primary) ranges:
[    0.000000]   IO 0x00000000fe000000..0x00000000fe7fffff -> 0x0000000000000000
[    0.000000]  MEM 0x00000000fd000000..0x00000000fdffffff -> 0x0000000000000000 
[    0.000000]  MEM 0x0000000080000000..0x000000008fffffff -> 0x0000000080000000 
[    0.000000] nvram: OF partition at 0x1800
[    0.000000] nvram: XP partition at 0x1300
[    0.000000] nvram: NR partition at 0x1400
[    0.000000] Top of RAM: 0x8000000, Total RAM: 0x8000000
[    0.000000] Memory hole size: 0MB
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x00000000-0x07ffffff]
[    0.000000]   Normal   empty
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00000000-0x07ffffff]
[    0.000000] On node 0 totalpages: 32768
[    0.000000] free_area_init_node: node 0, pgdat c07269c8, node_mem_map c08a7000
[    0.000000]   DMA zone: 256 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 32768 pages, LIFO batch:7
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
[    0.000000] Kernel command line: root=/dev/sda3
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Sorting __ex_table...
[    0.000000] Memory: 106872K/131072K available (5164K kernel code, 424K rwdata, 1428K rodata, 404K init, 1403K bss, 24200K reserved, 0K highmem)
[    0.000000] Kernel virtual memory layout:
[    0.000000]   * 0xfffcf000..0xfffff000  : fixmap
[    0.000000]   * 0xff800000..0xffc00000  : highmem PTEs
[    0.000000]   * 0xfee9b000..0xff800000  : early ioremap
[    0.000000]   * 0xc9000000..0xfee9b000  : vmalloc & ioremap
[    0.000000] NR_IRQS:512 nr_irqs:512 16
[    0.000000] irq: Found primary Apple PIC /pci@80000000/mac-io@10 for 64 irqs
[    0.000000] irq: System has 64 possible interrupts
[    0.000000] GMT Delta read from XPRAM: 0 minutes, DST: off
[    0.000000] time_init: decrementer frequency = 16.596533 MHz
[    0.000000] time_init: processor frequency   = 266.000000 MHz
[    0.000961] clocksource: timebase mult[3c40e888] shift[24] registered
[    0.001513] clockevent: decrementer mult[43fab9e] shift[32] cpu[0]
[    0.010809] Console: colour dummy device 80x25
[    0.011204] console [tty0] enabled
[    0.011787] bootconsole [udbg0] disabled
[    0.014943] pid_max: default: 32768 minimum: 301
[    0.015718] Security Framework initialized
[    0.020179] AppArmor: AppArmor disabled by boot time parameter
[    0.020268] Yama: disabled by default; enable with sysctl kernel.yama.*
[    0.021896] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.021968] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.035171] Initializing cgroup subsys memory
[    0.035581] Initializing cgroup subsys devices
[    0.035776] Initializing cgroup subsys freezer
[    0.035917] Initializing cgroup subsys net_cls
[    0.036065] Initializing cgroup subsys blkio
[    0.036180] Initializing cgroup subsys perf_event
[    0.036340] Initializing cgroup subsys net_prio
[    0.036923] ftrace: allocating 17989 entries in 53 pages
[    0.121240] devtmpfs: initialized
[    0.129501] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.140082] NET: Registered protocol family 16
[    0.157227] PCI: Probing PCI hardware
[    0.159278] PCI host bridge to bus 0000:00
[    0.160068] pci_bus 0000:00: root bus resource [io  0x0000-0x7fffff]
[    0.160254] pci_bus 0000:00: root bus resource [mem 0xfd000000-0xfdffffff] (bus address [0x00000000-0x00ffffff])
[    0.160397] pci_bus 0000:00: root bus resource [mem 0x80000000-0x8fffffff]
[    0.161193] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.161526] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to ff
[    0.163259] pci 0000:00:00.0: [1057:0002] type 00 class 0x060001
[    0.166524] pci 0000:00:01.0: [1234:1111] type 00 class 0x030000
[    0.168094] pci 0000:00:01.0: reg 0x10: [mem 0x80000000-0x80ffffff pref]
[    0.170240] pci 0000:00:01.0: reg 0x18: [mem 0x81000000-0x81000fff]
[    0.175131] pci 0000:00:01.0: reg 0x30: [mem 0x81010000-0x8101ffff pref]
[    0.175837] pci 0000:00:02.0: [10ec:8029] type 00 class 0x020000
[    0.176566] pci 0000:00:02.0: reg 0x10: [io  0x1000-0x10ff]
[    0.181390] pci 0000:00:02.0: reg 0x30: [mem 0x81040000-0x8107ffff pref]
[    0.181947] pci 0000:00:10.0: [106b:0010] type 00 class 0xff0000
[    0.182187] pci 0000:00:10.0: reg 0x10: [mem 0x81080000-0x810fffff]
[    0.185795] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    0.189010] pci_bus 0000:00: resource 4 [io  0x0000-0x7fffff]
[    0.189056] pci_bus 0000:00: resource 5 [mem 0xfd000000-0xfdffffff]
[    0.189180] pci_bus 0000:00: resource 6 [mem 0x80000000-0x8fffffff]
[    0.211371] vgaarb: setting as boot device: PCI:0000:00:01.0
[    0.211660] vgaarb: device added: PCI:0000:00:01.0,decodes=io+mem,owns=io+mem,locks=none
[    0.211976] vgaarb: loaded
[    0.212050] vgaarb: bridge control possible 0000:00:01.0
[    0.214177] SCSI subsystem initialized
[    0.215143] libata version 3.00 loaded.
[    0.225509] Switched to clocksource timebase
[    0.294449] NET: Registered protocol family 2
[    0.303201] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.303327] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.303579] TCP: Hash tables configured (established 1024 bind 1024)
[    0.304620] TCP: reno registered
[    0.304723] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.304900] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.307088] NET: Registered protocol family 1
[    0.307802] PCI: CLS 0 bytes, default 32
[    0.315674] Unpacking initramfs...
[    1.554190] Freeing initrd memory: 13852K (c19a2000 - c2729000)
[    1.555534] Thermal assist unit using timers, shrink_timer: 500 jiffies
[    1.560612] audit: initializing netlink subsys (disabled)
[    1.562243] audit: type=2000 audit(1624135833.503:1): initialized
[    1.568405] zbud: loaded
[    1.569970] VFS: Disk quotas dquot_6.5.2
[    1.570150] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.571749] msgmni has been set to 237
[    1.593935] alg: No test for stdrng (krng)
[    1.594330] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    1.595280] io scheduler noop registered
[    1.595373] io scheduler deadline registered
[    1.595932] io scheduler cfq registered (default)
[    1.600923] Using unsupported 1024x768 QEMU,VGA at 80000000, depth=8, pitch=1024
[    1.614930] Console: switching to colour frame buffer device 128x48
[    1.619808] fb0: Open Firmware frame buffer device on /pci@80000000/QEMU,VGA@1
[    1.621158] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    1.625143] pmac_zilog: 0.6 (Benjamin Herrenschmidt <benh@kernel.crashing.org>)
[    1.625585] Serial: MPC52xx PSC UART driver
[    1.628901] Generic non-volatile memory driver v1.1
[    1.629564] Linux agpgart interface v0.103
[    1.631321] MacIO PCI driver attached to Heathrow chipset
[    1.636621] 0.00013020:ch-a: ttyPZ0 at MMIO 0x81093020 (irq = 16, base_baud = 230400) is a Z85c30 ESCC - Serial port
[    1.638191] 0.00013000:ch-b: ttyPZ1 at MMIO 0x81093000 (irq = 17, base_baud = 230400) is a Z85c30 ESCC - Serial port
[    1.644593] Macintosh CUDA driver v0.5 for Unified ADB.
[    1.651824] adb: starting probe task...
[    1.683256] adb devices: [2]: 2 2 [3]: 3 3
[    1.689745] ADB keyboard at 2, handler 1
[    1.690181] Detected ADB keyboard, type ANSI.
[    1.692220] input: ADB keyboard as /devices/virtual/input/input0
[    1.703426] ADB mouse at 3, handler set to 3 (Mouse Systems A3 Mouse, or compatible)
[    1.707131] input: ADB mouse as /devices/virtual/input/input1
[    1.707363] adb: finished probe task...
[    2.670842] pata-macio 0.00020000:ata-3: Activating pata-macio chipset Heathrow ATA, Apple bus ID 0
[    2.686799] scsi0 : pata_macio
[    2.691557] ata1: PATA max MWDMA2 irq 19
[    2.951114] ata1.01: NODEV after polling detection
[    2.955454] ata1.00: ATA-7: QEMU HARDDISK, 2.5+, max UDMA/100
[    2.955674] ata1.00: 41943040 sectors, multi 16: LBA48 
[    2.959421] ata1.00: configured for MWDMA2
[    2.988551] scsi 0:0:0:0: Direct-Access     ATA      QEMU HARDDISK    2.5+ PQ: 0 ANSI: 5
[    3.946353] pata-macio 0.00021000:ata-3: Activating pata-macio chipset Heathrow ATA, Apple bus ID 1
[    3.967535] scsi1 : pata_macio
[    3.972663] ata2: PATA max MWDMA2 irq 22
[    3.986249] mousedev: PS/2 mouse device common for all mice
[    4.000633] rtc-generic rtc-generic: rtc core: registered rtc-generic as rtc0
[    4.005099] ledtrig-cpu: registered to indicate activity on CPUs
[    4.009705] TCP: cubic registered
[    4.013578] NET: Registered protocol family 10
[    4.026306] mip6: Mobile IPv6
[    4.029267] NET: Registered protocol family 17
[    4.032707] mpls_gso: MPLS GSO support
[    4.038023] registered taskstats version 1
[    4.052026] rtc-generic rtc-generic: setting system clock to 2021-06-19 20:50:36 UTC (1624135836)
[    4.056580] PM: Hibernation image not present or could not be loaded.
[    4.161240] ata2.01: NODEV after polling detection
[    4.163126] ata2.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100
[    4.172459] ata2.00: configured for MWDMA2
[    4.201228] scsi 1:0:0:0: CD-ROM            QEMU     QEMU DVD-ROM     2.5+ PQ: 0 ANSI: 5
[    4.292531] Freeing unused kernel memory: 404K (c0674000 - c06d9000)
[    4.880467] systemd-udevd[56]: starting version 215
[    4.945234] random: systemd-udevd: uninitialized urandom read (16 bytes read, 6 bits of entropy available)
[    5.224244] ne2k-pci.c:v1.03 9/22/2003 D. Becker/P. Gortmaker
[    5.285099] ne2k-pci 0000:00:02.0 eth0: RealTek RTL-8029 found at 0x1000, IRQ 23, 52:54:00:12:34:56.
[    5.349073] sd 0:0:0:0: [sda] 41943040 512-byte logical blocks: (21.4 GB/20.0 GiB)
[    5.375886] sd 0:0:0:0: [sda] Write Protect is off
[    5.378975] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    5.386254] sr0: scsi3-mmc drive: 4x/4x cd/rw xa/form2 tray
[    5.389987] cdrom: Uniform CD-ROM driver Revision: 3.20
[    5.396924] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    5.430839] sr 1:0:0:0: Attached scsi CD-ROM sr0
[    5.475868] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    5.491743] sr 1:0:0:0: Attached scsi generic sg1 type 5
[    5.509096]  sda: [mac] sda1 sda2 sda3 sda4 sda5
[    5.568858] sd 0:0:0:0: [sda] Attached SCSI disk
[    6.803525] PM: Starting manual resume from disk
[    6.806506] PM: Hibernation image partition 8:4 present
[    6.806558] PM: Looking for hibernation image.
[    6.813317] PM: Image not found (code -22)
[    6.813387] PM: Hibernation image not present or could not be loaded.
[    7.782707] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)
[    8.708596] random: nonblocking pool is initialized
[    8.771201] systemd[1]: systemd 215 running in system mode. (+PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR)
[    8.781150] systemd[1]: Detected architecture 'ppc'.
[    8.916497] systemd[1]: Inserted module 'autofs4'
[    8.930955] systemd[1]: Set hostname to <deb8-g3b>.
[    8.976160] systemd[1]: /etc/mtab is not a symlink or not pointing to /proc/self/mounts. This is not supported anymore. Please make sure to replace this file by a symlink to avoid incorrect or misleading mount(8) output.
[   10.346644] systemd[1]: Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory.
[   10.378259] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
[   10.384402] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[   10.394152] systemd[1]: Starting Remote File Systems (Pre).
[   10.407937] systemd[1]: Reached target Remote File Systems (Pre).
[   10.412870] systemd[1]: Starting Dispatch Password Requests to Console Directory Watch.
[   10.416739] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[   10.426232] systemd[1]: Starting Paths.
[   10.434311] systemd[1]: Reached target Paths.
[   10.443020] systemd[1]: Starting Encrypted Volumes.
[   10.450577] systemd[1]: Reached target Encrypted Volumes.
[   10.458411] systemd[1]: Starting Arbitrary Executable File Formats File System Automount Point.
[   10.475434] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[   10.480375] systemd[1]: Expecting device dev-disk-by\x2duuid-b4bbba30\x2d4b99\x2d4139\x2dbb3f\x2d03213722c8ca.device...
[   10.492270] systemd[1]: Expecting device dev-disk-by\x2duuid-ae4edcd7\x2d6ef8\x2d4ced\x2da812\x2dc6ab8ec4d54f.device...
[   10.500950] systemd[1]: Starting Root Slice.
[   10.516686] systemd[1]: Created slice Root Slice.
[   10.520115] systemd[1]: Starting User and Session Slice.
[   10.532420] systemd[1]: Created slice User and Session Slice.
[   10.535682] systemd[1]: Starting /dev/initctl Compatibility Named Pipe.
[   10.553033] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[   10.561127] systemd[1]: Starting Delayed Shutdown Socket.
[   10.570280] systemd[1]: Listening on Delayed Shutdown Socket.
[   10.579938] systemd[1]: Starting Journal Socket (/dev/log).
[   10.588555] systemd[1]: Listening on Journal Socket (/dev/log).
[   10.596990] systemd[1]: Starting udev Control Socket.
[   10.605490] systemd[1]: Listening on udev Control Socket.
[   10.616776] systemd[1]: Starting udev Kernel Socket.
[   10.624534] systemd[1]: Listening on udev Kernel Socket.
[   10.633905] systemd[1]: Starting Journal Socket.
[   10.642351] systemd[1]: Listening on Journal Socket.
[   10.650199] systemd[1]: Starting System Slice.
[   10.657748] systemd[1]: Created slice System Slice.
[   10.665136] systemd[1]: Started File System Check on Root Device.
[   10.668424] systemd[1]: Starting system-systemd\x2dfsck.slice.
[   10.681340] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[   10.684552] systemd[1]: Starting system-getty.slice.
[   10.692386] systemd[1]: Created slice system-getty.slice.
[   10.699453] systemd[1]: Starting Increase datagram queue length...
[   10.749195] systemd[1]: Mounting POSIX Message Queue File System...
[   10.819339] systemd[1]: Starting udev Coldplug all Devices...
[   10.913667] systemd[1]: Starting Create list of required static device nodes for the current kernel...
[   11.042552] systemd[1]: Started Set Up Additional Binary Formats.
[   11.090417] systemd[1]: Starting Load Kernel Modules...
[   11.194695] systemd[1]: Mounted Huge Pages File System.
[   11.227165] systemd[1]: Mounting Debug File System...
[   11.337252] systemd[1]: Starting Slices.
[   11.437379] systemd[1]: Reached target Slices.
[   11.550394] systemd[1]: Mounted POSIX Message Queue File System.
[   11.697973] systemd[1]: Started Increase datagram queue length.
[   11.886474] systemd[1]: Started Create list of required static device nodes for the current kernel.
[   11.978177] systemd[1]: Started Load Kernel Modules.
[   12.053488] systemd[1]: Mounted Debug File System.
[   12.516729] systemd[1]: Started udev Coldplug all Devices.
[   12.650223] systemd[1]: Mounted FUSE Control File System.
[   12.654096] systemd[1]: Mounted Configuration File System.
[   12.656719] systemd[1]: Starting Apply Kernel Variables...
[   12.686542] systemd[1]: Starting Create Static Device Nodes in /dev...
[   12.733851] systemd[1]: Starting Syslog Socket.
[   12.759818] systemd[1]: Listening on Syslog Socket.
[   12.774010] systemd[1]: Starting Journal Service...
[   12.905593] systemd[1]: Started Journal Service.
[   13.618591] systemd-udevd[137]: starting version 215
[   15.036664] [drm] Initialized drm 1.1.0 20060810
[   15.366234] checking generic (80000000 c0000) vs hw (80000000 1000000)
[   15.366297] fb: switching to bochsdrmfb from OFfb QEMU,VGA
[   15.369610] Console: switching to colour dummy device 80x25
[   15.467283] [drm] Found bochs VGA, ID 0xb0c5.
[   15.467377] [drm] Framebuffer size 16384 kB @ 0x80000000, mmio @ 0x81000000.
[   15.489870] [TTM] Zone  kernel: Available graphics memory: 61074 kiB
[   15.489980] [TTM] Initializing pool allocator
[   15.757899] Console: switching to colour frame buffer device 128x48
[   16.017987] bochs-drm 0000:00:01.0: fb0: bochsdrmfb frame buffer device
[   16.018270] bochs-drm 0000:00:01.0: registered panic notifier
[   16.018786] [drm] Initialized bochs-drm 1.0.0 20130925 for 0000:00:01.0 on minor 0
[   17.647076] Adding 358200k swap on /dev/sda4.  Priority:-1 extents:1 across:358200k FS
[   20.107964] EXT4-fs (sda3): re-mounted. Opts: errors=remount-ro
[   20.526336] EXT4-fs (sda2): mounting ext2 file system using the ext4 subsystem
[   20.544621] EXT4-fs (sda2): mounted filesystem without journal. Opts: (null)
[   21.552031] systemd-journald[133]: Received request to flush runtime journal from PID 1
[   32.379695] RPC: Registered named UNIX socket transport module.
[   32.396658] RPC: Registered udp transport module.
[   32.407123] RPC: Registered tcp transport module.
[   32.414957] RPC: Registered tcp NFSv4.1 backchannel transport module.
[   32.811843] FS-Cache: Loaded
[   32.942085] FS-Cache: Netfs 'nfs' registered for caching
[   33.182179] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[   38.496548] input: Mouseemu virtual keyboard as /devices/virtual/input/input2
[   38.535855] input: Mouseemu virtual mouse as /devices/virtual/input/input3

Lots of information about hardware detection and initalization.

Benchmark

Since this is an emulated machine an obvious question is, how well does it perform compared to the real thing?

BogoMips

The BogoMips (Wikipedia) pseudo-benchmark has a behavior where the score is related to the processor clock speed, and has an easily available collection of results from a range of systems (see BogoMips mini-Howto). BogoMips is used by the Linux kernel to calibrate a wait loop. The value is obtained at boot, and is reported by '/proc/cpuinfo' and 'lscpu' (see above). Depending on the platform the BogoMips result may also be reported in 'dmesg' along with an indication of the method used to derive the score.

On our emulated 'g3beige' system we get (from /proc/cpuinfo):

BogoMIPS:              33.19

Since the BogoMips score for PowerPC is about twice the processor clock speed, this would suggest that the emulated processor is roughly equivalent to a G3 running at 16 MHz. Which seems way too low for the observed performance.

From the investigation of this issue for the 'mac99' system, we know that during the Linux 2.6 kernels there was a change to the BogoMips calculation on PowerPC that meant is was derived by doubling the timer fequency. Checking some figures for Power Macintosh G3 hardware found online confirms this behaviour:

CPUKernelBogoMipsSource
740/750 @ 233 MHz2.6.8465.92got quik working with OldWorld G3 Beige 233MHz
740/750 @ 300 MHz2.6.15600.06Bug#379365: marked as done (Semi-successful install with miBoot floppy set and Netinst CD on OldWorld Mac...)
740/750 @ 266 MHz2.6.2633.28#555651 - installation-reports: Installation Report on oldworld Mac PPC beige G3 233 MHz - Debian Bug report logs
740/750 @ 266 MHz2.6.3233.41Beige PowerMac G3

Verifying with install disks for various Debian Linux releases on our QEMU 'mac99' system, so we can get some calculated BogoMips figures:

Debian ReleaseLinux KernelBogoMips SourceBogoMips Result
3.0r6
(woody)
2.4.18dmesg
Calibrating delay loop... 1022.36 BogoMIPS
3.1r8
(sarge)
2.6.8dmesg
Calibrating delay loop... 1044.48 BogoMIPS
4.0r9
(etch)
2.6.18dmesg
Calibrating delay loop... 36.86 BogoMIPS (lpj=73728)
5.0.10
(lenny)
2.6.26dmesg
Calibrating delay loop... 38.65 BogoMIPS (lpj=77312)
6.0.10
(squeeze)
2.6.32cpuinfo
bogomips        : 33.20
7.11.0
(wheezy)
3.2.0cpuinfo
bogomips        : 33.21
8.11.0
(jessie)
3.16.0cpuinfo
bogomips	: 33.19

Since the older kernels give processor based Bogomips results, we can estimate the equivalent processor clock for these numbers. The PowerPC Bogomips is normally about twice the processor clock, so the little over 1000 results suggest a processor clock of a little over 500 MHz. Which would place this emulated system around the performance of the higher end models of the original Blue&White PowerMac G3 hardware, which is quite a bit beyond the Power Macintosh G3 ("beige") for which the high end model only had a 333 MHz processor.

OpenSSL

The OpenSSL cryptographic library provides a tool providing a command-line interface to the library methods and one aspect of this provides a speed test. Since I'm mostly interested in older systems I'm going to focus on the common RSA and MD5 methods.

$ openssl speed md5
Doing md5 for 3s on 16 size blocks: 336528 md5's in 2.99s
Doing md5 for 3s on 64 size blocks: 332707 md5's in 3.00s
Doing md5 for 3s on 256 size blocks: 277699 md5's in 3.00s
Doing md5 for 3s on 1024 size blocks: 180009 md5's in 2.99s
Doing md5 for 3s on 8192 size blocks: 39722 md5's in 3.00s
OpenSSL 1.0.1t  3 May 2016
built on: Thu Mar 29 12:14:07 2018
options:bn(64,32) rc4(ptr,char) des(idx,risc1,16,long) aes(partial) blowfish(idx) 
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DB_ENDIAN -DTERMIO -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DAES_ASM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md5               1800.82k     7097.75k    23696.98k    61648.57k   108467.54k
$ openssl speed rsa
Doing 512 bit private rsa's for 10s: 5458 512 bit private RSA's in 10.00s
Doing 512 bit public rsa's for 10s: 53427 512 bit public RSA's in 9.99s
Doing 1024 bit private rsa's for 10s: 1066 1024 bit private RSA's in 9.98s
Doing 1024 bit public rsa's for 10s: 15852 1024 bit public RSA's in 9.99s
Doing 2048 bit private rsa's for 10s: 132 2048 bit private RSA's in 10.01s
Doing 2048 bit public rsa's for 10s: 5278 2048 bit public RSA's in 9.99s
Doing 4096 bit private rsa's for 10s: 22 4096 bit private RSA's in 10.07s
Doing 4096 bit public rsa's for 10s: 1575 4096 bit public RSA's in 10.00s
OpenSSL 1.0.1t  3 May 2016
built on: Thu Mar 29 12:14:07 2018
options:bn(64,32) rc4(ptr,char) des(idx,risc1,16,long) aes(partial) blowfish(idx) 
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DB_ENDIAN -DTERMIO -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DAES_ASM
                  sign    verify    sign/s verify/s
rsa  512 bits 0.001832s 0.000187s    545.8   5348.0
rsa 1024 bits 0.009362s 0.000630s    106.8   1586.8
rsa 2048 bits 0.075833s 0.001893s     13.2    528.3
rsa 4096 bits 0.457727s 0.006349s      2.2    157.5

Extracting the relevant figures for comparisons (see OpenSSL Speed Results):

  • OpenSSL speed MD5 8,192 bytes: 108,467.54k
  • OpenSSL speed RSA 4,096 bytes sign/s: 2.2
  • OpenSSL speed RSA 4,096 bytes verify/s: 157.5

Looking at various compilations of RSA results, this looks to be around the ballpark of the Power Mac G4 (QuickSilver 2002; EveryMac), which featured two 7455 @ 1.0 GHz processors. Quite a step up from the single 750 @ 333 MHz in the high end model "beige".

Further Sources


Supplemental: OpenSSL 1.0.1t Results

Debian Linux 8 (jessie) for PowerPC provides a build of OpenSSL 1.0.1t:

$ openssl version -a
OpenSSL 1.0.1t  3 May 2016
built on: Thu Mar 29 12:14:07 2018
platform: debian-powerpc
options:  bn(64,32) rc4(ptr,char) des(idx,risc1,16,long) blowfish(idx) 
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DB_ENDIAN -DTERMIO -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DAES_ASM
OPENSSLDIR: "/usr/lib/ssl"

From the compile flags this build has been compiled with assembler implementations for SHA-1, SHA-256 and AES.

OpenSSL 1.0.1t speed

For reference a full run of the methods provided by OpenSSL 1.0.1t on this QEMU g3beige system gives results (openssl speed):

OpenSSL 1.0.1t  3 May 2016
built on: Thu Mar 29 12:14:07 2018
options:bn(64,32) rc4(ptr,char) des(idx,risc1,16,long) aes(partial) blowfish(idx) 
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DB_ENDIAN -DTERMIO -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DAES_ASM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md2                  0.00         0.00         0.00         0.00         0.00 
mdc2                 0.00         0.00         0.00         0.00         0.00 
md4               2460.99k     8962.94k    28310.70k    77181.27k   151603.88k
md5               1914.97k     7614.70k    24962.47k    63073.62k   113792.34k
hmac(md5)         2455.40k     9179.09k    29748.06k    70251.52k   119548.40k
sha1              2192.07k     8903.87k    30378.58k    80008.99k   148974.25k
rmd160            1002.20k     3150.38k     6795.26k     9956.01k    11001.86k
rc4              29979.70k    38114.56k    40100.95k    40981.50k    41306.79k
des cbc           9819.27k    11017.57k    11180.03k    11487.57k    11485.13k
des ede3          3377.58k     3648.32k     3725.06k     3740.33k     3771.05k
idea cbc             0.00         0.00         0.00         0.00         0.00 
seed cbc         12395.55k    14511.99k    15028.14k    15397.21k    15512.92k
rc2 cbc          12242.20k    14146.53k    14773.08k    14632.62k    14868.48k
rc5-32/12 cbc        0.00         0.00         0.00         0.00         0.00 
blowfish cbc     13890.79k    17466.20k    18404.27k    18428.25k    18604.03k
cast cbc         13211.80k    15909.59k    16715.94k    16821.93k    16916.48k
aes-128 cbc      13542.91k    15671.45k    16324.95k    16470.02k    16520.53k
aes-192 cbc      12183.65k    13817.11k    14189.91k    14467.75k    14473.44k
aes-256 cbc      11065.88k    12392.73k    12673.45k    12823.21k    12823.21k
camellia-128 cbc    14438.42k    17089.46k    17712.12k    17744.21k    18057.90k
camellia-192 cbc    12223.59k    14189.63k    14606.59k    14742.19k    14849.37k
camellia-256 cbc    12536.33k    13811.75k    14524.07k    14794.75k    14866.15k
sha256            5721.34k    18142.04k    44209.92k    68814.17k    83004.96k
sha512             645.95k     2626.56k     3808.17k     5329.94k     5950.12k
whirlpool          462.38k      971.71k     1626.62k     1847.28k     2067.11k
aes-128 ige      13003.01k    15025.69k    15797.93k    15961.09k    15925.25k
aes-192 ige      11710.29k    13254.83k    13818.28k    13929.47k    14008.32k
aes-256 ige      10694.71k    12084.86k    12344.58k    12513.28k    12556.50k
ghash            18781.61k    24101.37k    25815.33k    26272.09k    26468.35k
                  sign    verify    sign/s verify/s
rsa  512 bits 0.001815s 0.000188s    551.1   5328.7
rsa 1024 bits 0.009016s 0.000648s    110.9   1542.6
rsa 2048 bits 0.075833s 0.001930s     13.2    518.0
rsa 4096 bits 0.462727s 0.006489s      2.2    154.1
                  sign    verify    sign/s verify/s
dsa  512 bits 0.002027s 0.001891s    493.3    528.7
dsa 1024 bits 0.007015s 0.007553s    142.5    132.4
dsa 2048 bits 0.020877s 0.022831s     47.9     43.8
                              sign    verify    sign/s verify/s
 160 bit ecdsa (secp160r1)   0.0020s   0.0071s    492.1    141.1
 192 bit ecdsa (nistp192)   0.0024s   0.0091s    411.6    109.4
 224 bit ecdsa (nistp224)   0.0029s   0.0115s    344.9     86.9
 256 bit ecdsa (nistp256)   0.0036s   0.0150s    279.6     66.7
 384 bit ecdsa (nistp384)   0.0067s   0.0299s    149.8     33.4
 521 bit ecdsa (nistp521)   0.0115s   0.0596s     86.6     16.8
 163 bit ecdsa (nistk163)   0.0043s   0.0209s    232.1     47.8
 233 bit ecdsa (nistk233)   0.0083s   0.0406s    121.1     24.7
 283 bit ecdsa (nistk283)   0.0124s   0.0725s     80.8     13.8
 409 bit ecdsa (nistk409)   0.0311s   0.1756s     32.1      5.7
 571 bit ecdsa (nistk571)   0.0727s   0.4012s     13.8      2.5
 163 bit ecdsa (nistb163)   0.0044s   0.0229s    228.8     43.6
 233 bit ecdsa (nistb233)   0.0084s   0.0455s    119.0     22.0
 283 bit ecdsa (nistb283)   0.0123s   0.0820s     81.2     12.2
 409 bit ecdsa (nistb409)   0.0303s   0.1994s     33.0      5.0
 571 bit ecdsa (nistb571)   0.0752s   0.4805s     13.3      2.1
                              op      op/s
 160 bit ecdh (secp160r1)   0.0061s    163.7
 192 bit ecdh (nistp192)   0.0078s    127.5
 224 bit ecdh (nistp224)   0.0101s     99.4
 256 bit ecdh (nistp256)   0.0122s     81.7
 384 bit ecdh (nistp384)   0.0264s     37.9
 521 bit ecdh (nistp521)   0.0515s     19.4
 163 bit ecdh (nistk163)   0.0105s     95.0
 233 bit ecdh (nistk233)   0.0199s     50.3
 283 bit ecdh (nistk283)   0.0352s     28.4
 409 bit ecdh (nistk409)   0.0838s     11.9
 571 bit ecdh (nistk571)   0.1911s      5.2
 163 bit ecdh (nistb163)   0.0113s     88.7
 233 bit ecdh (nistb233)   0.0224s     44.7
 283 bit ecdh (nistb283)   0.0400s     25.0
 409 bit ecdh (nistb409)   0.0957s     10.4
 571 bit ecdh (nistb571)   0.2227s      4.5

OpenSSL 1.0.1t speed

A local build of OpenSSL 1.0.1t with assembler disabled (no-asm), on this QEMU g3beige system gives results (openssl speed):

OpenSSL 1.0.1t  3 May 2016
built on: Sun May 22 07:02:28 2022
options:bn(64,32) rc4(ptr,char) des(idx,risc1,16,long) aes(partial) idea(int) blowfish(idx) 
compiler: gcc -I. -I.. -I../include  -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DB_ENDIAN -O3 -Wall
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md2                  0.00         0.00         0.00         0.00         0.00 
mdc2               983.04k     1748.95k     2126.51k     2280.11k     2367.49k
md4               1397.41k     5685.94k    20507.48k    63429.97k   167166.12k
md5               1252.27k     4979.95k    17107.46k    50945.20k   113169.75k
hmac(md5)         2681.57k     9281.97k    31822.34k    74520.58k   128334.94k
sha1              1147.38k     4114.97k    11658.75k    22049.45k    30058.34k
rmd160             726.32k     2457.39k     5938.18k     9412.24k    11296.77k
rc4              30971.24k    36955.70k    38356.02k    39296.26k    39941.46k
des cbc          10059.76k    11219.31k    11430.53k    11536.73k    11520.68k
des ede3          3661.52k     3869.50k     3969.79k     3999.08k     3913.05k
idea cbc         15656.40k    18417.09k    18891.26k    18893.66k    18972.67k
seed cbc         12541.56k    13982.24k    14653.56k    14680.06k    14761.98k
rc2 cbc          12335.89k    14116.26k    14508.03k    14575.62k    14468.88k
rc5-32/12 cbc        0.00         0.00         0.00         0.00         0.00 
blowfish cbc     15295.01k    18544.65k    19569.15k    20208.42k    20037.63k
cast cbc         13765.97k    16531.03k    17346.99k    17523.07k    17388.89k
aes-128 cbc      15739.06k    17546.69k    18062.25k    18280.79k    18260.76k
aes-192 cbc      14146.45k    15416.06k    16232.11k    16435.20k    16108.20k
aes-256 cbc      12964.90k    14238.35k    14308.78k    14615.55k    14718.20k
camellia-128 cbc    15989.08k    18386.99k    19166.46k    19275.09k    18427.89k
camellia-192 cbc    13405.85k    15271.83k    15519.66k    15787.01k    15701.79k
camellia-256 cbc    13703.61k    15234.16k    15700.05k    15884.33k    15611.22k
sha256            2959.73k     8276.44k    17104.64k    23297.20k    26113.37k
sha512             647.57k     2555.95k     3970.05k     5676.37k     6438.91k
whirlpool          471.47k      977.94k     1646.79k     1907.37k     2039.81k
aes-128 ige      11964.54k    13741.31k    14642.26k    14737.04k    14236.00k
aes-192 ige      10854.74k    13734.42k    14810.45k    13392.90k    13724.33k
aes-256 ige      10346.65k    12073.98k    13741.63k    12023.47k    12389.03k
ghash            20123.26k    23664.51k    26434.22k    27709.65k    28041.22k
                  sign    verify    sign/s verify/s
rsa  512 bits 0.004739s 0.000400s    211.0   2496.9
rsa 1024 bits 0.022545s 0.001006s     44.4    993.8
rsa 2048 bits 0.121325s 0.002961s      8.2    337.7
rsa 4096 bits 0.715000s 0.009441s      1.4    105.9
                  sign    verify    sign/s verify/s
dsa  512 bits 0.004017s 0.004448s    248.9    224.8
dsa 1024 bits 0.010010s 0.011753s     99.9     85.1
dsa 2048 bits 0.029296s 0.034757s     34.1     28.8
                              sign    verify    sign/s verify/s
 160 bit ecdsa (secp160r1)   0.0031s   0.0138s    325.6     72.5
 192 bit ecdsa (nistp192)   0.0033s   0.0160s    299.5     62.3
 224 bit ecdsa (nistp224)   0.0041s   0.0204s    246.8     48.9
 256 bit ecdsa (nistp256)   0.0051s   0.0261s    196.3     38.3
 384 bit ecdsa (nistp384)   0.0094s   0.0493s    106.8     20.3
 521 bit ecdsa (nistp521)   0.0253s   0.1386s     39.6      7.2
 163 bit ecdsa (nistk163)   0.0041s   0.0176s    244.3     56.9
 233 bit ecdsa (nistk233)   0.0079s   0.0317s    126.1     31.5
 283 bit ecdsa (nistk283)   0.0118s   0.0553s     84.4     18.1
 409 bit ecdsa (nistk409)   0.0292s   0.1218s     34.3      8.2
 571 bit ecdsa (nistk571)   0.0696s   0.2692s     14.4      3.7
 163 bit ecdsa (nistb163)   0.0040s   0.0187s    248.3     53.5
 233 bit ecdsa (nistb233)   0.0085s   0.0407s    117.4     24.6
 283 bit ecdsa (nistb283)   0.0121s   0.0648s     82.9     15.4
 409 bit ecdsa (nistb409)   0.0291s   0.1394s     34.3      7.2
 571 bit ecdsa (nistb571)   0.0694s   0.3073s     14.4      3.3
                              op      op/s
 160 bit ecdh (secp160r1)   0.0117s     85.3
 192 bit ecdh (nistp192)   0.0133s     74.9
 224 bit ecdh (nistp224)   0.0171s     58.4
 256 bit ecdh (nistp256)   0.0212s     47.2
 384 bit ecdh (nistp384)   0.0415s     24.1
 521 bit ecdh (nistp521)   0.1163s      8.6
 163 bit ecdh (nistk163)   0.0087s    114.8
 233 bit ecdh (nistk233)   0.0159s     62.9
 283 bit ecdh (nistk283)   0.0273s     36.6
 409 bit ecdh (nistk409)   0.0602s     16.6
 571 bit ecdh (nistk571)   0.1349s      7.4
 163 bit ecdh (nistb163)   0.0092s    108.5
 233 bit ecdh (nistb233)   0.0172s     58.2
 283 bit ecdh (nistb283)   0.0305s     32.8
 409 bit ecdh (nistb409)   0.0673s     14.9
 571 bit ecdh (nistb571)   0.1526s      6.6


No comments: