[haiku-bugs] Re: [Haiku] #1141: Support for x86-64 architecture

  • From: "bonefish" <trac@xxxxxxxxxxxx>
  • Date: Sun, 02 May 2010 10:48:16 -0000

#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.

Other related posts: