Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 May 2006 23:59:20 -0700
From:      Peter Grehan <grehan@freebsd.org>
To:        Craig St Jean <valiantsoul@earthlink.net>
Cc:        freebsd-ppc@freebsd.org
Subject:   Re: I may be able to help with getting it on a G5
Message-ID:  <44716148.6060801@freebsd.org>
In-Reply-To: <B9B1DC30-FB6F-4573-9933-0B43296B7EC9@earthlink.net>
References:  <B9B1DC30-FB6F-4573-9933-0B43296B7EC9@earthlink.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Craig,

>     Not sure if anyone has tried working on getting FreeBSD on a G5 
> machine, but I have some free time and would be happy to help test. I 
> have a quad 2.5GHz G5 PowerMac with plenty of memory and hard drive space.

  Great ! I'm still struggling to resurrect my PPC dev machines and 
environment, but when I do I'd like to get G5 support going. I'll take 
any and all offers of help :)

> If someone gives me some direction on what may need to be 
> done, I would be happy to try to help make FreeBSD run on a G5 system - 

  It's going to be tough. My plan is to get it running in 32-bit mode, 
since full 64-bit support requires a massive amount of work, essentially 
a new port.

  What's there:

    - the loader

  What's not there:

    - pmap support. The G5 uses 64-bit addresses in it's PTE format, so 
it's just different enough than the G3/G4 to be annoying. The code is 
already there to abstract out the differences, but a lot of 
implementation work has to be done.

    - the low-level assembler trap code needs to switch back to 32-bits. 
This isn't too difficult, and the plan was to conditionally compile the 
.S files similar to how ELF 32- and 64-bit support is done.

    - no BAT registers, so the kernel needs to have virtual mappings 
created for it. This complicates pmap startup, and various other parts 
of the the machine-dependent code that assumes a 1:1 static mapping for 
all memory (e.g. UMA_MD_SMALL_ALLOC, the syscons frame-buffer code, page 
zeroing)

    - cachelines are 128 bytes on the G5 as opposed to 32 bits on G3/G4. 
This is almost abstracted out but some extra work is required.

    - probably a bunch of other things I've forgotten.

>     Unless everyone feels its not worth the time...

  Definitely worth the time.

later,

Peter.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44716148.6060801>