Re: POWER9 hardware donation

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Re: POWER9 hardware donation

Peter J. Philipp-3
On Tue, Jul 24, 2018 at 09:21:09PM +0200, Peter J. Philipp wrote:

> Hi,
> I'm working on a powerpc64 port, I've been at it 2 weeks non-stop.?? I don't
> know if I'll finish.?? But I gotta say hey! this is a generous offer.
> Since I'm focusing on the big endian machine byte order and on PowerPC 970's
> it would need to be ported again to little endian afaik.?? If it's possible
> to run on a Power9 in big endian mode this would be cool.
> I believe I am not worthy of such a machine and only worthy if I port
> OpenBSD to my PowerPC 970FX cpu.?? Let's take our time and wait to see if I
> or anyone else moves in a positive direction in this area.
> BTW I've been working on a cross-compiler to powerpc64 today.?? I used
> kevlo's riscv cross compiler port and modified it. Unfortunately I started
> before sunrise and it's sunset now and i haven't managed to get cross-gcc
> working.?? I may succeed tomorrow.
> Regards,
> -peter
> On 07/24/18 20:27, Pascal de Kloe wrote:
> > I'm offering my brand new IBM 9006-22P with two 16-core 2.9GHZ CPUs to
> > the OpenBSD project for free. Who can make the hardware port happen?
> > Serious attempts only.


I'm CC'ing [hidden email] because that's where I started the 64-bit PowerPC
thread.  I want to say that I succeeded building a cross-compiler for 64 bit
PowerPC.  I haven't tested its functionality yet but the packaging/port is
complete.  If you want to help, download this tarball, extract to
/usr/ports/devel/ examine it, and install on your system.  Look for
breakages.  I'll get into some detail later.

This will build binutils and gcc in /usr/local and
/usr/local/powerpc64-unknown-openbsd/*.  Since I based this off kevlo@openbsd's
riscv port there was a conflict for .la files that installed into
/usr/local/lib ... I had to really damage the's of gcc's libcc1
in order for it not to install those .la files.  But it caught some other
libcc1 relevant files too, so I don't know if the cross compiler even works.

Here is some eye candy for the packages that I have installed on my xeon
system to show there is no conflict I'm including riscv port:

beta$ pkg_info | grep -e powerpc64 -e riscv
powerpc64-elf-binutils-2.30 binutils for powerpc64-elf cross-development
powerpc64-elf-gcc-8.1.0 gcc for powerpc64-elf cross-development
riscv-elf-binutils-2.30 binutils for riscv-elf cross-development
riscv-elf-gcc-8.1.0 gcc for riscv-elf cross-development
riscv-elf-newlib-3.0.0 newlib for riscv-elf cross-development

One thing to know about this powerpc64 compiler is it cannot build userland
OpenBSD (not even init) but with a kernel it should be OK.  This is because
I did not include the includes (haven't built those fully yet).  When the time
comes when my tree is complete I'll try to revisit this and remove the:

patch-libgcc_enable_mprotect:+#if 0
patch-gcc_tsystem_h:+#define inhibit_libc       1

This patch does not look for include files such as sys/mman.h which are a
dependency for the gcc 8.1.0 rs6000 machine target.

This was a painful week because it was really hot in Germany where I develop,
and building this cross-compiler was frustrating too.  I once asked on IRC
for people to help me, but I did only get moral support.

Thank you to kevlo@openbsd for providing something to work with...
(I'm thankful it was in the ports tree).

I'm looking for people to come forward and help me.  It is lonely doing this
alone.  First state that you want to help, look on [hidden email] archives
on what I've done (64-bit PowerPC thread) and look where you can help.  If
you have a G5 macppc machine this would help as I'm basing it off that.
I need someone to look into making a 64 bit ofwboot available, as I need to
boot a first OpenBSD/aim64 kernel some day with a 64 bit loader.  (This week
was a setback, I didn't think this cross compiler would rob so much time).
I may have 4-8 more weeks in august and september to work on this.