x86_64 port and BSP (GSoC 2018)

Gedare Bloom gedare at rtems.org
Sat Mar 17 13:16:13 UTC 2018

On Sat, Mar 17, 2018 at 2:24 AM, Amaan Cheval <amaan.cheval at gmail.com> wrote:
> Hey everyone!
> Here's a link to a draft of my proposal (also shared through the GSoC
> website, and linked to on the wiki):
> https://docs.google.com/document/d/1X79Yj0DNqvaDFqpJMUX4gF3WC550GDvVDS5QufvAnFE/edit?usp=sharing
> I'd appreciate all comments - even if you're just skimming, let me know if
> you have something to say!
> I have a few questions too, which I'd appreciate help with:
> Regarding the proposal:
> - Does it seem like I'm committing too little / too much?

I don't think you have work planned in a good way. The scope of the
second half is light, while the first half may be heavy. It is OK to
have schedule slip, but it is better if you can try to balance the
work over the phases. Also, note that GSoC is now a three-thirds
instead of two-halves timeline.

> - Are there any issues I've completely overlooked? Something I've
> oversimplified / that I may not realize the scope / difficulty of?

Getting boot to work properly may be harder than you anticipate. Doing
the ISR right means implementing the APIC support in a proper way. I
think it will be a good idea for you to address SMP issues together
with the UP implementation.

> - It seems like Chris (cc'd) owns the x86_64 ticket - would Chris be a
> potential mentor, or is ticket ownership not indicative of who the mentor
> might be?

Yes, Chris or Joel are likely mentors, unless another interested party pops up.

> Misc:
> - I noticed that this project has been proposed in the past, at least
> twice. Is there any constructive criticism from the proposals back then
> that I could learn from?

Not really. The previous proposals were weak, and this project was not
a high priority back then.

> - In the proposals, I've left some tasks about the x86_64 rtems-tools
> highlighted in red because I'm hoping to test the tools before the proposal
> deadline to have a clearer idea for the timeline. The ticket[1] lists some
> tasks regarding the tools, but I'm not sure what the status of them is yet,
> or how to carry the tasks out quite yet. I aim to tackle this as soon as
> possible, but if you can provide any guidance, I'd appreciate that.

The x86_64 tools have a recipe in RSB, you can give it a try. The
tasks identified there are in two categories:
1. GCC multilib support for FPU -- You should ask Joel to look into
this for you. :)
2. Newlib support for setjmp/longjmp, and anything else that should be
in the libc. You should do this. Join newlib mailing list, check out
the source, and find the current i386 and x86_64 implementations.
(Hint: newlib.git/newlib/libc/machine/[i386 x86_64]).
3. TLS. There are multiple ways to implement it. I don't know what is
preferred for this. See https://www.akkadia.org/drepper/tls.pdf for a
thorough background.

> Thanks!
> [1] https://devel.rtems.org/ticket/2898#Tools
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel

More information about the devel mailing list