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

Reply via email to