AMD64GSoC
Port DragonFly to the AMD64 architecture
A Google Summer of Code project.
Student: Jordan Gordeev
Mentor: Matthew Dillon
What's this all about?
This project is about mixing DragonFly/i386 code and FreeBSD/amd64 code with human intelligence in order to produce DragonFly/amd64.
What I promised to deliver
Functioning 64-bit kernel (Linux emulation and NDIS wrapper support not included) - available by midterm
Working non-threaded 64-bit userland. - available by midterm
64-bit SMP.
Working threaded 64-bit programs.
64-bit vkernels.
32-bit apps working on 64-bit kernels. - optional, if nothing goes wrong
Where's the code?
The code is in a Subversion repository available at svn://sometimes.studgrad.net/amd64.
What's the current status?
The kernel crashes in the boot sequence soon after leavecrit.
The serial console works.
ddb supposedly works.
Current hot areas: pmap & vm code.
Various questions with answers
Q: How do I build a 64-bit kernel for testing?
A: Execute the following steps:
cd /usr/src
make TARGET_ARCH=amd64 TARGET_PLATFORM=pc64 buildworld
make TARGET_ARCH=amd64 TARGET_PLATFORM=pc64 KERNCONF=JG64 buildkernel
Your kernel is now in /usr/obj/usr/src/sys/AMD64_GENERIC/kernel.debug
.
Q: How do I boot the 64-bit kernel?
A: Copy the 64-bit kernel to a convenient location, e.g. '/kernel64'. Reboot your 64-bit system and at the loader menu choose option 6 (escape to prompt). Enter the following commands:
unload
unset acpi_load
load /kernel64
boot
Q: 'I get an error when trying to boot the 64-bit kernel: "can't load file '/kernel64': input/output error". What's wrong?'
A: Your boot loader isn't prepared to load a 64-bit kernel. You need to recompile and reinstall your boot loader.
If you've got other questions, add them here or e-mail me at jgordeev@dir.bg.