#1141: Support for x86-64 architecture ---------------------------+------------------------------------------------ Reporter: ekdahl | Owner: bonefish Type: enhancement | Status: assigned Priority: normal | Milestone: Unscheduled Component: System/Kernel | Version: Keywords: | Blockedby: Platform: x86-64 | Blocking: ---------------------------+------------------------------------------------ Comment(by bonefish): Replying to [comment:10 nmentley]: > Sorry about the delay on working on this, I've been finish up finals and moving off campus. No worries. > Also, I'm not exactly sure where I should be asking development questions like this... so if this is the wrong spot let me know and I'll try to avoid making this mistake again. The ticket is OK, if it is about the attached patch[es] -- though it gets unhandy when the number of comment grows. The best place for discussion is one of the mailing lists. Being a GSoC project the haiku-gsoc list is fine, or generally haiku-development if you prefer that one. It's also fine to send the patches there, though it doesn't harm to attach them to a ticket as well. > The comments were extremely helpful, but I do have a question or two. I'm curious what the most effective way would be to test the toolchain. I suppose the best way is to compile (parts of) Haiku. It doesn't necessarily have to be perfect before you continue, anyway. If you discover problems later you can just go back an fix them. > I also happen to be a bit lost on the (arch)/signal.h header. I've been looking at the i386 signal.h as an example, but I am a bit confused. > In vregs the ebx register isn't even referenced and I'm not exactly sure what purpose _reserved_1 and _reserved_3 serve. The structure looks the same in BeOS. Supposedly those fields where once used and are not needed anymore or just reserved space for future extensions (changing structure size would result in binary compatibility issues). For the purpose of vregs have a look at the documentation in headers/posix/signal.h. Why one would want to have the feature only for those registers, I don't know. Haiku uses the reserved fields to also store the other general registers (ebx, esi, edi), BTW. > looking at the arm port vregs just lists the general purpose registers... so that's what I currently have for x86_64, but I feel like I should have a better understanding of the i386 file to list the sse and the mmx registers. You don't need to focus on that yet. My remark was more of a general nature (mainly because your patch doesn't suggest that the file still needs work). The signal stuff can be revised when the kernel gets to the points where the initial shell is started. A TODO will do just fine for the time being. I would recommend to rework the patch considering my earlier comments and then set out to get the boot loader (haiku_loader) and the kernel building. The next step could be to build an image containing these two and start working on getting the boot loader to actually load and start the kernel. -- Ticket URL: <http://dev.haiku-os.org/ticket/1141#comment:11> Haiku <http://dev.haiku-os.org> Haiku - the operating system.