[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [GSoC] GSoC Introduction : Fuzzing Xen hypercall interface
Hi Felix, On 24/03/17 08:34, Felix Schmoll wrote: > On another note, would it be possible to apply for a second project > (Adding Floating Point support to Mini-OS) without having to do another > patch? Sure. In case both projects get selected you have to pick one of them. The patch you've sent is fine for both. > I added Juergen Gross in the recipients for this. I'd still be prefer > the fuzzing project in case I can figure out a useful proposal, but the > idea for the floating point project seems much clearer, so I figured to > have something along the following lines as my proposal (I also assumed > that the template you provide > [https://wiki.xen.org/wiki/GSoC_Student_Application_Template > <https://wiki.xen.org/wiki/GSoC_Student_Application_Template>] is still > active): > > > 1) Personal Information > > *1.1) Full Name: Felix Ekkehard Schmoll* > > *1.2) Email: eggi.innovations@xxxxxxxxx <mailto:eggi.innovations@xxxxxxxxx>* > > *1.4) Other applications:* Not currently > > *1.5) Previous experience:* No > > *1.6) Time commitment:* full-time > > *1.7) Other programs:* No > > > 2) Preparation done so far > > *2.1) Hardware*: Yes. > > *2.2) Ability to Build and Test*: Yes. > > *2.4) Other*: Did patches suggested bei Wei Liu to get familiar with the > hypervisor in general > (https://lists.xen.org/archives/html/xen-devel/2017-03/msg01450.html > <https://lists.xen.org/archives/html/xen-devel/2017-03/msg01450.html>) > > > 3) Proposed Project > > *3.1) Project Category for which you are applying* Mini-OS > > *3.2) Title for your proposal* Adding Floating Point Support to Mini-OS > > *3.3) Link to original proposal* > > https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Adding_Floating_Point_support_to_Mini-OS > <https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Adding_Floating_Point_support_to_Mini-OS> > > > 4) Implementation Plan > > *4.1) Detailed Problem Description* (Provide a high-level overview > textual description of the problem): Mini-OS is a small kernel provided > as part of the Xen project that is mainly used for stub domains, > allowing to outsource certain computations from dom0. Currently Mini-OS > however doesn't support the use of floating point registers, meaning > that userspace programs can't do floating-point computations if they are > multi-threaded. This should be fixed. > > *4.2) Implementation Plan* (Provide as much detail and organisation as > you can. Discuss with your mentor. Make sure you build in sufficient > time for learning and getting up to speed. The questions in section 2 > will help you and are very valuable to create a plan): At first I will > implement a test application and read up on the details of floating > point support for x86 and ARM. I will then start with x86, make sure > that the application runs and continue with ARM. Once that works too I > will do some thorough testing. Adding FP-support for ARM isn't required, as Mini-OS isn't functional on ARM yet. :-) > *4.3) Expected Outcomes/Goals:* (List the main outcomes that you will > deliver during the program - this does not have to be perfect. It is > also a good idea to link to a discussion on the relevant public mailing > list here to give us some context. As an aside, it will also help you as > well. Set some minimum outcomes/goals and stretch outcomes/goals - these > are nice to have's. If you have experience with or prefer agile > development methodologies, write down what you would like to achieve in > different scrums. That's perfectly OK: you may want to discuss with your > mentor - he/she can act as product owner or scrum master if you want. Do > agree with him/her upfront.) > > * Userspace-program to test functionality of floating point registers > * Patch that implements functionality of floating point registers for > x86 and ARM > > *4.4) Timeline* (Be specific and as complete as you can. Discuss > feasibility with your mentor. Build in some buffers and set some stretch > goals. This will help you with progress and motivation! ): > > *Bonding Period* > > Follow mailing lists > > Ask clarifying questions > > *Weeks 1-2/ May 30 - June 13* > > Reading into the kernel and how usually floating point operations are > implemented > > Read up on documentation (e.g. Intel Architecture Software Developer's > Manual, Volume 1: Basic Architecture, Chapter 7 on the Floating-Point Unit) > > Build example application based on where critical parts are identified > > *Weeks 3 - 4, June 14 - June 30* > > Implement on x86 > > *Midterm deliverables* > > Test application using floating point registers > > *Weeks 5-6* > > Implement on ARM No. In case you have some spare time there are several areas of optimization you could explore: lazy FP state saving/restoring, support of FXSAVE, XSAVE and XSAVEOPT depending on the processor capabilities, ... > > *Weeks 7-8* > > Buffer time > > *Weeks 9-10* > > Do thorough testing, consider edge cases, do stress testing, commit to > source tree > > *4.5) Maintenance: *I don't expect any maintenance to be required, the > Mini-OS tree seems to be fairly stable. > > > 5) Let us know how much help you need > > *5.1 Describe experience* with Domain Support, Xen Hypervisor, The XAPI > toolstack, Mirage OS, Windows PV Drivers, Embedded & Automotive Drivers > (as appropriate): No previous experience > > *5.2) Other experience:* describe relevant experience that you have (If > possible, describe what uniquely qualifies you for this proposal): Took > 15-410 at CMU, i.e. building a kernel from scratch in six weeks, > involved ASM and obviously large amounts of kernel programming and used > an x86 processor; notably the kernel did also not support floating point > computations; also built a thread-library based on the kernel > > *5.3) Learning and support:* describe the part(s) of the proposed plan > do you expect to be most difficult ( Include the specific types of of > mentor help you think you will need for the part(s): Understanding the > specifics of the processor architectures might require some help, in > case I have troubles with specific parts of the manuals. They're usually > quite detailed though. > > *5.5)* Describe the part(s) of the proposed plan do you expect to be > easiest: > > Building the user space application (user space is generally easier than > kernel and you don't have to get any offsets right or alike) > > Questions: > *What if the CPU doesn't have an FPU? Is that even possible for the > given two architectures? A FPU is always present on the x86 processors Xen is supporting. > Any comments would be appreciated. Thanks for your interest in this project! Juergen _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |