On 20/05/15 18:30, Sotiris Salloumis wrote:
One quick question if I want to port the bare metal on a newer hardware
i.e. amd64 which is my laptop from i386 for testing.
Do I need to change something more besides the /platform/baremetal/Makefile
gcc parameters?
Currently things should just work on an amd64 system (my laptop is
amd64), although of course only in 32bit mode. The thing that you will
mostly likely run into is that your hardware will have different I/O
drivers from mine. While it's more or less just matter of compiling the
right driver components, it currently requires writing some trivial'ish
makefiles (see src-netbsd/sys/rump/dev/lib). I'm planning to make it
even more trivial, but I've been planning it for 4+ years now ...
Just changing gcc parameters is not enough to support amd64, since you
need to write assembly to switch the CPU to 64bit mode and deal with
some of the lowlevel differences between 32- and 64bit x86. If you or
someone else wants to write the probably rather small amount of
bootstrap/locore code to get amd64 running, I am very happy to accept
patches. I keep meaning to do it myself, but somehow it never ends up
as the most urgent thing to get done.