BTW I'm actively looking for PowerPC64 literature. I don't mean the
.pdf's provided by IBM but a real book. If you know of any send me the
ISBN, sometimes these books hide under names that aren't really leading
toward "powerpc".
I have in the last 2 weeks bought one book off Amazon. It's 32-bit
PowerPC specific called "Newnes PowerPC Programming Pocket Book" by
Steve Heath. Great pocket book! I love that he has 2 pages in the
appendix covering 64 Bit PowerPC! What's astonishing is that he covers
the basics of 64 bit powerpc and the book is from 1995! I don't mind
buying this because I'm taking the 32 bit powerpc arch and pretty well
hacking on it to make it 64-bit. I don't know if my approach is
orthodox, but when I saw FreeBSD's code it dawned on me I could do this.
Another book I have is Computer Organization and Design Risc-V edition
by Hennessy and Patterson. In the index in the back of the book they
describe that PowerPC is covered in Appendix D section which this book
is missing (doh!). Well I can't always get lucky *grin*.
Regards,
-peter
On 07/27/18 10:44, Peter J. Philipp wrote:
On Fri, Jul 27, 2018 at 10:12:30AM +0200, Matthias Freitag wrote:
nice, i have two spare G5 Powermacs at home that i will test this on!
awesome! While building the cross-compiler this week I realised I really
need to get the cross-includes complete meaning I have to get aim64 arch
completed. I think powerpc64 is completely in place. This will possibly
go into next week (when I hope it's cooler).
The idea is sorta like macppc on powerpc where the hierarchy is:
Architecture Hierarchies in OpenBSD
socppc macppc I want it to be: aim64 power
\ / \ /
\ / \ /
\ / \ /
powerpc powerpc64
aim64 will solely be G5 Macs (PowerPC 970 based), power would be IBM Power.
AIM stands for Apple, IBM, Motorola which formed the AIM Alliance in the 90's.
I'll put a new snapshot of powerpc64 and aim64 from /usr/src/sys/arch out
soon, then hopefully you'll be able to make a cross-includes (which I tested
last night). One hint to do that is to do it in a vmm on amd64, that way if
you mess up the system by mistyping you don't have to reinstall a possibly
valuable system. A vmm is disposable.
Regards,
-peter
On Fri, 20 Jul 2018 at 16:58, Peter J. Philipp <p...@centroid.eu> wrote:
On Sun, Jul 15, 2018 at 06:02:22PM +0200, Peter J. Philipp wrote:
60% of the work is in pmap.c, 20% of the work in trap.c, and 20%
of the work is elsewhere.
Hi,
I've been working hard at this most of the week and I'm at a point now
where
I'm sick of eyeballing the code and doing theoretical changes. I need a
compiler to do a second look for me. Although this is the core powerpc64
stuff, there is still the macppc stuff to port and I'll call those aim64.
For a snapshot of what I've done:
http://centroid.eu/private/powerpc64.tgz
For the CVS repo:
http://centroid.eu/cgi-bin/cvsweb/powerpc64/
And look for aim64 which will have a path such as:
http://centroid.eu/cgi-bin/cvsweb/aim64/
There is still lots of hurdles but when I finish the aim64 stuff, I'll be
looking for two things.
1) A cross-compiler with powerpc64 support
2) a 64-bit loader (like ofwboot)
If you know an easier way to get a 64 bit loader other than hacking on
ofwboot
let me know. Or if there is no easier way perhaps someone wants to help me
with this? Working on a 64 bit loader would be awesome then I have to do
less
work and we meet in the middle.
I know the code as is won't compile, but I'm willing to give it a pass and
work on fixing the errors that the compiler gives me. Given that, booting
a
first kernel will likely panic() it at boot, if it doesn't panic then I'm
extremely lucky. Or it's gonna be really slow as I screwed up on the
Segment
Lookaside Buffer or TLB cache or something. I'd like to see the day :-).
Now I want to give everyone who worked on this code before me mad props!
The
code was pretty much almost 64 bit ready and I did a bit of cutting out,
and
pulling stuff in from FreeBSD and comparing with the PEM guide from IBM.
Thanks so far! Also thanks for FreeBSD who trailblazed my efforts and
gave me
somethign to work with.
Here is a list of things that I did a visual inspection on and possibly
changes. What's not checked needs immediate attention still.
file first pass (eyes only) second pass
(compiler)
-------------------------------+-----------------------+-----------------------
powerpc64/bus_dma.c X
powerpc64/bus_space.c X
powerpc64/copystr.c X
powerpc64/cpu_subr.c X
powerpc64/fpu.c X
powerpc64/genassym.cf X
powerpc64/in_cksum.c X
powerpc64/intr.c X
powerpc64/lock_machdep.c X
powerpc64/pmap.c X
powerpc64/process_machdep.c X
powerpc64/setjmp.S
powerpc64/softintr.c X
powerpc64/sys_machdep.c X
powerpc64/trap.c
powerpc64/vm_machdep.c
powerpc64/copyinout.c X
powerpc64/slb.c X
ddb/db_disasm.c X
ddb/db_interface.c X
ddb/db_memrw.c X
ddb/db_trace.c X
include/*.h X
Best Regards,
-peter