Hi!

Thank you for your answer.
Let me start by saying that this project is just for my own amusement.

Well, what I'm trying to do is to use openfirmware as firmware for qemu-system-ppc(64).

The far-far end of this project is trying to get AIX to boot somehow ...
(Really doubt it myself, but anyway ...)


After doing extreme amounts of violence on wrapper.c,
(there is some sort of mixup with AIX - macros)
i got forth to compile cleanly on AIX 32-bits.

Unfortunately, now the build process bails out with:

./build basefw.dic
--- Rebuilding kernel.dic
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../kernel.bth
${BP}/forth/kernel/meta1.fth:62: tag-file ?
${BP}/forth/kernel/meta1.fth:62: tag-file ?
${BP}/forth/kernel/meta1.fth:64: tag-file ?
${BP}/cpu/ppc/metainit.fth:27: Undefined word encountered 
make: *** [basefw.dic] Error 1

HOSTDIR is ~/openfirmware/cpu/ppc/AIX, which contains the forth-binary.

Any ideas what can cause this?

//Br





//Br

2009/11/16 Mitch Bradley <wmb@laptop.org>
The last time I got anywhere near a 64-bit PPC machine was something like 13 years ago, so I'm afraid I know almost nothing at all about how things work on powerpc64-*-linux.

You might try gdb to see where it's dying.

I'm not surprised that it doesn't work.  I'm not sure the OFW build system for PPC has ever been adapted to 64-bit Linux.  When FirmWorks was last working with 64 bit PPC machines, the customer was using AIX.  PPC Linux only came out towards the end of that project, and probably didn't run on 64-bit systems, as few were available then.

If I recall correctly, on 64-bit systems like the 620 processor, we ran OFW with 32-bit stacks, with the ability to access data in the 64-bit address space.  If powerpc64-suse-linux is a full 64-bit execution environment, that's probably not going to play well with a 32-bit Forth kernel.  The ppc kernel code appears to be parameterized so it could be extended to 64-bit stacks with some effort (as was the SPARC kernel), but I don't see any evidence in my archived source trees that a 64-bit PPC Forth kernel was ever built.

Apple and IBM made it pretty difficult for FirmWorks to make any money in the PowerPC market, by either giving away or bundle-licensing their own internally-developed OFW implementations.  As a result, FirmWorks had to abandon the PPC market and focus on other processors.  FirmWorks' core OFW implementation on PowerPC had reached a high level of stability by that point, but since then there has been very little further development, especially in the area of support for more current build environments.  We did port the builder to mklinux, for use in an embedded project that targeted MPC823, but development sort of stalled after that.

What is your intended application?  If this is a project with commercial implications, I am available for consulting help.  If it's just for curiosity, I can perhaps give you some pointers, but can't spend a lot of time on it.

Mitch Bradley


Christian Johansson wrote:
Hi!
I'm trying to compile of, rev. 1484 on Linux-ppc64, but after 'forth' has been built,
it segfaults when running "./build basefw.dic"

First try, i got:

Can't find environment variable HOSTDIR in ${HOSTDIR}/../build/builder.dic
forth: Can't open dictionary file ${HOSTDIR}/../build/builder.dic
make: *** [basefw.dic] Error 1

So I'd set HOSTDIR=$HOME/of2/openfirmware/cpu/ppc/Linux

After this, I'm just getting:
./build basefw.dic
forth: Segmentation fault
make: *** [basefw.dic] Quit

When running make in $HOME/of2/openfirmware/cpu/ppc/build

I'm using:
 chjo@op5p1:~/of/of2/openfirmware/cpu/ppc/build> gcc --v
Using built-in specs.
Target: powerpc64-suse-linux
Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.2.1 --enable-ssp --disable-libssp --disable-libgcj --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --program-suffix=-4.2 --enable-version-specific-runtime-libs --without-system-libunwind --with-cpu=default32 --enable-secureplt --with-long-double-128 --host=powerpc64-suse-linux
Thread model: posix
gcc version 4.2.1 (SUSE Linux)

Any advice how to proceed?

//Br
------------------------------------------------------------------------


_______________________________________________
openfirmware mailing list
openfirmware@openfirmware.info
https://openfirmware.info/mailman/listinfo/openfirmware