The POWER and PowerPC General Discussion / News Thread

now lets see if openbios actually works it took by building the firmware on the mac g5 and then downloading the mac g5 5.1.5 f2 firmware update and my mac g5 was on the 5.1.5 f1 firmware so i was able to with the best of my ablity spoof the open bios firmware in the macfirmware update tool and flashed it in so far cause no hard ware changes the mac boots and acts normal. i will need to test more to see if i borked the machine

3 Likes

Yup.

Like, 40-150 dollar talos competitor.

P4 and P9 are no where close, and she’s waiting on the mail for some shit to test… I mean we don’t even know if phi’s will work yet. But power 4 and 5 are so bloody similar its a possibility at least.

1 Like

Like you legit made my day billions times better

There is an interesting tidbit in the comments of that Hack a Day post from Timothy Pearson:

Leaving aside for a second that it’s fairly easy to take any of the existing RISC-V soft cores and “upgrade” them to POWER (replace instruction decoder, add the small bits of missing functionality), POWER does have a practical lower core size, just as RISC-V has a practical upper core size (note I’m talking compatible chips here, not comparing two different RISC-V ISA versions/sets/whatever that would not be able to run the same binaries).

If the basic micro-architecture really is that portable between ISAs, what are the actual advantages between ISAs?

If you do something like that, take an originally RISC-V design, and then put a Power ISA front-end on it, how well will it handle code compiled/optimised for a more traditional Power chip?

It makes me wonder what part of porting — say x86 → Power — is optimisation for ISA, and what part is optimisation for micro-architecture…

I really should buckle down and force myself to read some compiler books/documentation/code.

1 Like

you and me both i barely understand ofw and power isa riscv is a beast i need to read into. still alot to learn but the white papers on the 970mp and the g5 mainboard schematics are helping tons. i might wanna get a riscv fpga now to see what i can do

1 Like

That sounds really interesting, but I am confused what exactly OpenBIOS is. The Wikipedia page makes it sound like an umbrella project for all the difference versions of IEEE 1275 firmware, and then lists a bunch of different projects, including OpenBIOS as one of them:

Project Company
Open Firmware Firmworks
SmartFirmware CodeGen
OpenBOOT Sun
OpenBIOS community
SLOF IBM

did they (OpenBIOS) take up code hosting for all the company projects, are they a code merge of all the other codebases?

Speaking of which, do we know which variant Apple used, or did they write their own OpenFirmware/IEEE 1275 firmware? With G5/PPC970 chips being made by IBM, I would guess SLOF, but earlier chips were from Motorola… Hmm…


If it is just an FPGA with a RISC-V softcore, you might be able to load the Power ISA Microwatt softcore as well:

1 Like

openbios is open source firmware and it adds back what apple took away from the firmware on the powerpc’s they made. effectivelly makeing the machine a power 4.5 machine in my book (waiting on parts to test some functionality pcie storage boot) you could boot to other location but not load os from pcie apple prevented that you HAD to boot to the slow af sata1.5 drives.

apple used basically the same firmware but removed alot to not touch their xserve market cause that was going at the time the xserve g5 was a beast but limited due to heat having drive speed controls on the xserve was super fun. but i didnt learn much as the xserve was under powered for the goals of the machine its gone now many years ago. xserve mainboards had a much more open firmware that was more like sunmicrosystems then a apple power mac g5 firmware cause it was stripped im still learning about this so im explaining what i can. sorry about that

im mostly playing with this g5 untill i can afford a telos2 or better for more ideas i have

2 Likes

OpenBIOS, in short, is the booting firmware of openfirmware based machines. This includes modern POWER machines like ibm system i and p, TALOS machines (both on SLOF, or at least the ibm machines are), openfirmware on ppc macs, openbios on amiga one computers, openBOOT on sun machines, you get the point. All the commands are relatiwely the same. The only reason I know jack shit about ofw is from the manu’l that came with my SunBlade 2500.

In short, its all the same shit.

1 Like

Talos and other PowerNV (Power Non-Virtualized) machines don’t use SLOF - they instead use petitboot (a kexec based firmware that was initially written for the PS3). You still use SLOF when booting pseries virtual machines though.

1 Like

And thats why I don’t work in enterprise peeps.

https://www.datasheetarchive.com/pdf/download.php?id=a7ef69222eebe2da47e87c7e8ad6252f307bca&type=P&term=970MP
you linked the v1 this is v2.3

Here’s the raw URL to bypass the weird supplyframe analytics garbage:


Regarding IEEE 1275-1994 (Open Firmware)

Yeah, I think I will just stick to calling it by the IEEE name to avoid ambiguity.

From the OpenBIOS website (confusingly domained at openfirmware.info), they mention,

there are several commercial implementations from SUN, Firmworks, CodeGen, Apple, IBM and others.

↑ Note how there is no link to the Apple IEEE 1275 implementation, so I guess theirs was proprietary?

@THEkitchenSINK, did you get a dump of the existing firmware before flashing your OpenBIOS replacement?

Also, it looks like OpenBIOS has a has mirrored (all? part?) of the IEEE spec on their site, linked from the IEEE 1275-1994 page:


Might be useful to you.

DeviceTree

I remember watching through one of the Stewart Smith talk/lectures linked earlier in the thread, and there was an offhanded remark about OpenPOWER firmware using “the normal DeviceTree we are all used to” or something to that effect. Now there is a separate DeviceTree specification with its own website:


but while it is partly based on the IEEE 1275 device tree, the version 0.1 (released 2016 May according to the GitHub note) says:

DTSpec is loosely related to the IEEE 1275 Open Firmware standard

Notable features of the IEEE 1275 specification that are omitted from the DTSpec include:
• Plug-in device drivers
• FCode
• The programmable Open Firmware user interface based on Forth
• FCode debugging
• Operating system debugging

taken from the “Relationship to IEEE™ 1275 and ePAPR” section of the 0.1 document

So this might be worth being aware of if you are working with both OpenPOWER and IEEE 1275 (Open Firmware) era machines.

1 Like

Hmm, looks like ARM also uses DeviceTree, and it can work with both U-Boot and UEFI, neat.


Some parts of the DTSpec appear to be quite interchangeable with IEEE 1275 (Open Firmware):

FDT is to Open Firmware what DSDT is to ACPI. The FDT reuses Open Firmware’s established device tree layout. In fact, Linux PowerPC support uses the same codebase to support both Open Firmware and FDT platforms.

source: https://elinux.org/Device_Tree_What_It_Is

Going a bit off-topic…

I wonder if coreboot x86 still uses ACPI, or if for some boards people just use DeviceTree?

1 Like

sadly no it was the 5.1.5 f1 firmware.

Theres no need to FW dump. Its literally just sitting in the .app you can DL from apple.

lack of pcie boot is not a real problem, you can still stick one in the machine, create / on it, and put only /boot with the kernel/initramfs on sata

once linux is loaded, it can deal with whatever is in the PCIe slots

that’s what my testing dualcore g5 does, and it works fine

2 Likes

meanwhile, in Void news:

  • qt5-webkit now has working javascript on 32-bit ppc (as well as ppc64le, which always worked), though not on ppc64 (would need more debugging and changes)
  • webkit2gtk now has working javascript on all ppc systems (LE, BE, 32-bit, 64-bit)
  • i’m not gonna bother with fixing qt5-webkit further as it’s obsolete and has tons of vulnerabilities (it’s based on an ancient version of webkit with no sandboxing and so on); instead i’m gonna wait for the upcoming version which finally rebases on latest webkit upstream which besides other things changed the JS bytecode format, which enables 64-bit BE to work without any more patching (32-bit BE still needs patching, but it’s small) - even on 32-bit systems, your best bet right now is using a gtkwebkit based browser like midori or epiphany as gtkwebkit is actually secure and sandboxed
  • all of this means, modern web browsers on 32-bit, except firefox which I managed to coerce into building (crosscompiled from a ppc64le host, native build crashes the rust compiler) but it crashes on start
  • i contributed better AltiVec/VSX detection bits into Mesa (which do not involve SIGILL handling like before, instead it uses the ELF auxiliary vector) which means it’s now possible to sanely debug 3D programs in gdb without the detection getting in the way; I backported the patch into Void
  • got the packages tested on wii u last week and it works
  • wayland is also confirmed working now, on all variants (weston at least)
  • scroll wheel in qt5 programs on big endian systems is now fixed
  • other assorted fixes



also

on a side note @ mesa and 3D on G5:

nouveau sure is broken, even on an ancient potato like geforce 6600

llvmpipe is only part broken when trying to render games (distant geometry does not show, and the gun is red for whatever reason) - funnily it’s faster than the actual gpu on anything that’s not an empty map with no geometry

the softpipe renderer is… accurate, but slow as heck

it produces about 5 seconds per frame rather than 5 frames per second like llvmpipe

guess radeon is still the best bet for G5 if one can get it to work

6 Likes

New live images (20190901): https://void-ppc.octaforge.org/live/20190901/

Changes:

  • Graphical ISOs are now shipped for all 6 ppc* flavors, the same ones as official Void for x86 (Xfce, MATE, Cinnamon, LXDE, LXQt, Enlightenment, in addition to the basic text ISO). If you use one of those, a graphical desktop will automatically boot.
  • For G5s (as well as the infamous Windtunnel G4 Dual “Mirrored Drive Doors”), the initramfs now by default includes a hook that will automatically load the necessary thermal/fan control kernel modules, so you’ll only go deaf for a brief period of time between GRUB and when the initramfs loads, instead of for the whole duration of using the live image. :stuck_out_tongue:
  • installer now offers an option to wipe the partitioning info from the target drive first before executing pmac-fdisk on it on Macs. This is to deal with the issue that pmac-fdisk does not properly wipe that upon partition table reinitialization, which confuses the system and makes it present you with the old partitions even after a new partition table has been created.
  • kernel 5.2.11 by default.
6 Likes

Wow awesome! Well I’ll def be fiddling with this very very soon. Reset myvone G5, try to see if my PowerBook will dualboot. Neat.

@THEkitchenSINK looks like everything we need now lol.