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