[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Call for GSoC & Outreachy 2018 mentors & project ideas
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] Call for GSoC & Outreachy 2018 mentors & project ideas |
Date: |
Tue, 27 Feb 2018 20:54:11 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
On 02/14/2018 04:00 PM, Alistair Francis wrote:
> On Mon, Jan 15, 2018 at 4:59 AM, Stefan Hajnoczi <address@hidden> wrote:
>> On Thu, Jan 11, 2018 at 03:25:56PM -0800, Alistair Francis wrote:
>>> On Wed, Jan 10, 2018 at 4:52 AM, Stefan Hajnoczi <address@hidden> wrote:
>>>> On Tue, Jan 9, 2018 at 9:45 PM, Alistair Francis <address@hidden> wrote:
>>>>> Can anyone who has done this before chime in.
>>>>>
>>>>> What do you think about getting someone to cleanup and improve the GDB
>>>>> support in QEMU? Would that be the right difficulty of task for a GSoC
>>>>> project?
>>>>
>>>> There is not enough information to give feedback on whether this
>>>> project idea is suitable. What are the specific tasks you'd like the
>>>> student to work on?
>>>>
>>>> In general, I'm sure there are well-defined 12-week project ideas
>>>> around the GDB stub. New features are easy to propose and are usually
>>>> well-defined (e.g. implement these commands that are documented in the
>>>> GDB protocol documentation). Cleaning up code is less clear and it
>>>> would depend on exactly what needs to be done. Interns will not have
>>>> a background in the QEMU codebase and may not be able to make
>>>> judgements about how to structure things, so I would be more careful
>>>> about refactoring/cleanup projects.
>>>>
>>>> Please see my talk about QEMU GSoC for guidelines on project ideas:
>>>> https://www.youtube.com/watch?v=xNVCX7YMUL8&t=19m11s
>>>> http://vmsplice.net/~stefan/stefanha-kvm-forum-2016.pdf
>>>
>>> That helps a lot, thanks for that.
>>>
>>> So for a more concrete solution, how would adding support for multi
>>> CPU support to the GDB server sound?
>>>
>>> This would allow GDB debugging for the A53 and the R5 on the Xilinx
>>> ZynqMP for example. This is something we have in the Xilinx tree, but
>>> it is in no state to go upstream and really needs to be re-write to be
>>> upstreamable and more generic.
>>
>> Excellent. Then they'll already have an idea of "how" it can be
>> achieved but have the freedom to write code that is most suitable for
>> upstream. That is a good starting point for a project.
>>
>> Here is the project idea template:
>>
>> === TITLE ===
>>
>> '''Summary:''' Short description of the project
>>
>> Detailed description of the project.
>>
>> '''Links:'''
>> * Wiki links to relevant material
>> * External links to mailing lists or web sites
>>
>> '''Details:'''
>> * Skill level: beginner or intermediate or advanced
>> * Language: C
>> * Mentor: Email address and IRC nick
>> * Suggested by: Person who suggested the idea
>>
>> Once you have written down the project idea, please post it under
>> Internships/ProjectIdeas/MultiCPUGDBStub and then add it to the
>> Google_Summer_of_Code_2018 wiki page using the
>> "{{:Internships/ProjectIdeas/MultiCPUGDBStub}}" inlining syntax.
>>
>> Or if you prefer, just reply with the project idea to this email and
>> I'll post it on the wiki for you.
>>
>> Can you think of a co-mentor who would be willing to participate? It
>> makes internships easier when there are multiple mentors - less stress
>> for mentors, faster communication for students.
>
> Yep, here is my proposal. I don't have wiki access, so I can't add it myself.
>
> I think Philippe would be a good co-mentor, if he is happy to. I am
> also welcome to mentor other ideas, it doesn't have to be this one.
I'm very happy to co-mentor with Alistair, I can manage at least 2h/w on it.
>
> === Multi-CPU cluster support for GDB server in QEMU ===
>
> There are many examples in modern computing where multiple CPU
> clusters are grouped together in a single SoC. This is common in the
> ARM world especially. There are numerous examples such as ARM's
> big.LITTLE implementations and Xilinx's 4xA53s and 2xR5s on the ZynqMP
> SoC. The goal of this task is to add support to the GDB server to
> allow users to debug across these clusters.
>
> This is another step towards single binary QEMU as well.
>
> Detailed description of the project.
>
> Xilinx has an out of tree implementation that can be used as a
> starting point. Work will need to be done on top of this to prepare it
> for upstream submission and to ensure the implementation is more
> generic.
>
> This will mostly involve extending GDB server to tell GDB about
> different architectures and then allow the user to swap between them.
>
> The Xilinx implementation can be seen here:
> https://github.com/Xilinx/qemu/blob/master/gdbstub.c
> There has been some steps in preparing the work to go upstream, which
> can be seen here:
> https://github.com/Xilinx/qemu/tree/mainline/alistair/gdb
>
> '''Details:'''
> * Skill level: advanced
> * Language: C
> * Mentor: address@hidden, Philippe?
> * Suggested by: Alistair Francis
>
>>
>> Stefan