[GSoC] the AMD64 port
Matthew Dillon
dillon at apollo.backplane.com
Tue Mar 18 14:45:30 PDT 2008
I'll add my response to Simon's, we basically say the same thing :-)
:I'm a student interested in doing the AMD64 port as a Google Summer of
:Code project.
:I would like to have some questions answered, in order to be able to
:make an informed decision.
: 1. Does porting require messing with the source code of gcc/binutils/gdb?
This might need a little work. 64 bit world builds will generate
a 64 bit cross compiler which the 64 bit kernel build should use (when
building on a 32 bit platform), but currently our libraries in /usr/lib
use a single path for 32 or 64 bit libs so we can't build a compiler that
supports both.
This means you should be able to work on a 64 bit kernel without messing
with the compiler sources, though we might need to do a few small
cleanups.
I think it would be beneficial for our 2.0 release to actually go through
the pain of moving our 32 bit libraries into a i386 or amd64 subdirectory,
with the original directory turned into a softlink, or something like
that so we would be able to have both targets on the same architecture.
That's probably a mini-project in of itself.
: 2. Do I need to have an AMD64 machine with more than 4 GB RAM to be
:able to fully test my work?
No, any 64 bit capable machine will do.
: 3. Would I be required to get 32-bit binaries working on 64-bit
:kernels or would being able to run 64-bit binaries suffice?
No, 64 bit binaries will suffice. 32 bit support is desired, it makes
things easier, but not required.
: 4. Is SMP part of the equation?
Yes, but UP could be done first. SMP mechanics for 64 bit platforms
are virtually identical as those for 32 bit platforms.
: 5. In general, is there a fixed list of things that should be done, or
:am I free to choose based on my interests/abilitity?
You are definitely free to choose. Really, just getting past basic
booting would be major milestone!
-Matt
Matthew Dillon
<dillon at backplane.com>
More information about the Users
mailing list