I just want to say that I personally am very much for his project idea. Even if it isn't something that can't make it in R1, having x86_64 support is something that I think is necessary for Haiku's long-term development in order for it to be a "modern" OS. After all, essentially all x86 cpus being built today by both AMD and Intel have 64-bit extentions, and even Microsoft has a consumer x86_64 operating system. On Apr 7, 2010 12:51 PM, "Nathan Mentley" <nathanmentley@xxxxxxxxx> wrote: Hey, I haven't applied to the google summer of code before and I was hoping to get some feed back on my application. Is this the kind of application that open source groups like haiku are looking for? What should I leave in... what should I include? I feel like I should post a list of references. Is that not typical for a GSoC application? Anyway, Here's the application I have for the x86_64 port. Name: Nathan Mentley Email: nathanmentley@xxxxxxxxx trac username: nmentley Education: I won't be enrolled in classes during the summer. Employment: If I'm accepted to the GSoC I won't be looking for additional employment. Conflicts: The only conflict during the summer would be a Benefit Concert that a few friends of mine and I are setting up to raise money for UNICEF. It's a one day event. It's taking place on July 23rd. I'll probably be busy on the days leading up to the event, but I don't see this as a major conflict that will prevent me from completing my project. Time Commitment: I'm planning on spending at least 40 hours a week on my project. Internet Connection: For the first part of my summer I'll be staying at a location with satellite high speed Internet and the second part I'll be staying at a house with high speed cable Internet. Previous Years: I haven't applied or been accepted for a previous GSoC. Bio: I'm a second year computer science student at Eastern Michigan University. I have pretty much from scratch developed a simple real mode x86 operating system that has support for mounting multiple fat file-systems and it has a simple multitasking round robin system. I completed this task in a few months solely on my free time while having a part time job and being a full time student. This project has lead me to become extremely interested in operating system, specifically, kernel development. I have completed academic projects in Java, C++, C, and x86 ASM and I have been working on personal projects in PHP, Java, C, and C++. I'm planning on releasing a CMS\Blogging system I made in PHP under a CreativeCommons license in the next few weeks. I was a BeOS R5 user many years ago and I'm extremely interested in recreating BeOS and I'm hoping Haiku OS will someday become a usable multimedia operating system like BeOS was. Project Title: Haiku OS x86_64 port Goals: Goals to complete during the GSoC 1. Modify the current x86 bootloader to add ELF64 support 2. add the ability to start a x86-64 kernel by initiating the system in to long mode. 3. I'm also planning on having the kernel itself to the x86_64 platform. Goals to complete after the GSoC. 1. Port kernel modules 2. Port the userland libraries Project Description: I'm planning on implementation the beginnings of the x86_64 port of Haiku during the GSoC. I'll accomplish this task by initially working on the haiku bootloader first. My current plan is to initialize the system into long mode when the current bootloader initializes the system into the 32bit protected mode. Which I believe is located in the first stage of the bootloader. I'm also planning on modifying the ELF32 loader code to support ELF64 binaries. I'm not worried about this process because the ELF format is extremely well documented and if I've skimmed through the code correctly it is located in the c code in the second stage of the bootloader. I'm hoping to have the bootloader loading a simple hello world style 64bit kernel early on in the project. After I complete the bootloader part of the project I'm planning on working on porting the Kernel. I'm pretty sure this is where the majority of the work in this project will be. Most of the high language code shouldn't need to be edited too much. I'm pretty sure I'll have to do major editing on the elf.cpp part of the kernel and I'll probably have to add the needed x86_64 code in the kernel/arch/x86_64 folder. I'm hoping that I'll be able to use the code in the kernel/arch/x86 folder as a base for the work. I'm aware there will be more work than just modifying those files, but I'm pretty positive that's where the majority of the work will be. If I do happen to finish all this before the end of the summer I'll start working on porting over modules and userland libraries, but at this time I haven't spent too much time looking at that code. Project interest: As I said before I've developed a simple x86 operating system from scratch. I've been extremely interested in low level programming for some time. I think the interest comes from realizing how little each cpu cycle actually does and yet kernels and the additional libraries are able to set up so much that makes making a GUI for a simple application insanely easy. In addition to my interest in kernel development I also was a BeOS R5 user for many years. I've been following the Haiku Project ever since it was called OpenBeOS and I'm extremely eager to help recreate a more modern version of R5. That's why I'm interested in working on a 64bit version of Haiku. I feel that eventually by the time Haiku becomes usable for more than just developers we'll need a 64bit complaint version to really take full advantage of most of the user base's systems. I feel like I'm one of the best choices for this project because of my experience with low level software development. I've worked on x86 asm in bootloaders and I've developed a x86 kernel from scratch. I feel like these are required skills to complete this project. Thanks for any advice, Nathan Mentley