x86_64 BSP as GSOC2016 project

Saket Sinha saket.sinha89 at gmail.com
Tue Mar 15 20:01:03 UTC 2016


Hi,

On Sun, Mar 13, 2016 at 10:15 PM, Saket Sinha <saket.sinha89 at gmail.com> wrote:
> Hi Joel,
>
>>> >> >
>>> >> > I am interested in working on x86_64 BSP as GSOC2016 project with
>>> >> > RTEMS and with initial guidance from Joel as to how to get started, I
>>> >> > am working on the same.
>>> >>
>>> >
>>> > Great! This is a nice project we need.
>>> >
>>
>> Work on your proposal so we can fine tune the plan.
>>
>
> Please find below my initial proposal for the Project Idea "x86_64 BSP
> for RTEMS" for review so that we can capture all the relevant features
> related to the project in the scope of the program.
>
> Project Abstract -
>
> This project involves the creation of an x86_64 BSP for RTEMS that
> would allow for installing on an OTS PC, x86 dev boards  and emulated
> in popular emulation software.
>
> Project Description -
>
> 1- Add compile and build RTEMS for x86_64 architecture.
>
> Presently it is possible to compile and build RTEMS for x86_64 architecture.
>
> 2- Porting low-level pieces of RTEMS
>
> This includes writing start assembly, device drivers, interrupt
> handlers, context save, etc. The main components in RTEMS which this
> goal have to deal with are:
>
> score/cpu: To define general/common x86_64 architecture's functions.
> libcpu (optional): To contain cache and MMU managers.
> libbsp: BSPs code - The BSP can be shared with the pc386 but we likely
> have to address the dependency on legacy hardware like APIC support
> and
> device probes.
>
> 3- Writing a BSP for a board that x86_64 supports
>
> A simple BSP that can run hello world and ticker would be needed to be
> a front-end interface to x86_64 and RTEMS users. Two BSPs can
> implemented:
>
> qemu-system-x86_64: This BSP should be for simulation and debugging
> purposes only.
> Minnowmax: I have Minnowmax board which can be used during the project
> to be the first x86_64 BSP on RTEMS.
>
> Environment
> Platform: Ubuntu.
> Simulators: qemu.
> Debuggers: gdb connected to qemu. Also I should be debugging at real
> HW (Minnowmax board) by gdb via JTAG channel.
> Hardware: Minnowmax board.
>
> Benefits to RTEMS
> The Board Support Package or BSP provides the glue between RTEMS and a
> specific embedded system board's target hardware such as peripherals
> and memory. Supporting x86-64 BSP will introduce RTEMS to the world of
> Intel & AMD processors.
>
>
> Project Deliverable
>
> April 22 - 23 May (Community Bonding Period) -
> Getting the Environment ready and fill any gaps into RTEMS tools for
> building x86_64.
>
> 23 May - Midtem Evaluation -
> As a starting point, get a stub compiling with no BSP.
> Then get a simple x86_64 BSP to run hello world. For this reuse as
> much code form pc386 BSP as possible.
>
> Midtem Evaluation - August 23 -
>
> 1.Add APIC support
> 2. probe for what's available using ACPI
> a) probe for legacy IDE/ATA when not there hangs
> b) need to probe for legacy COM ports
>
>
> Relevant Background Experience
>
> Where do you go to school? What level are you?
> I am doing Master of Science - M.Sc. - (CS-FOSS) from Anna University,
> Chennai, India.
>
> How did you learn about RTEMS?
> I have used RTEMS in a couple of real-time projects as an end user but
> getting involved in RTEMS development for the first time.
>
> Experience
>
> Free Software Experience/Contributions:
> GITHUB ACCOUNT- https://github.com/disdi/
>
> 1. PROJECT: BOSS-MOOL- A Joint Initiative of DOS Lab IIT Madras and CDAC Chennai
> ROLE: (Developer, community support)
> http://dos.iitm.ac.in/projects/MOOL
> Minimalistic Object Oriented Linux(MOOL) project aims at redesigning
> the existing linux kernel with minimal set of core OO components. MOOL
> provides Object Oriented wrappers for core Linux kernel in C++. These
> wrappers support the development of kernel modules in an OO fashion.
>
> 2. PROJECT: HEPunion filesystem implementation as Linux module
> ROLE: (Developer)
> https://github.com/HeisSpiter/hepunion
> The aim of this project is to adapt and extend union file system as a proper
> Linux module to address the requirements of a a huge computing facility, in
> our case which is LHCb experiment (Large Hadron Collider beauty) at
> CERN.
>
> 3.Project : U-boot, Buildroot & Android support for Intel Baytrail Processor
> ROLE: (Developer)
> Building up a custom board specific Linux & Android distribution for the
> MinnowMax Board(Intel Atom Processor) including setting up U-boot
> support, kernel
> image and cross compiler from scratch. Design and implementation of a
> generic PCI
> Express-based framework, BAR-addressed registers & DMA based Operation. Added
> Advanced Configuration and Power Interface support for Minnowmax & QEMU in
> U-boot mainline. Added custom board specific config to support Android Lollipop.
>
> Language Skill Set
> Being proficient in C programming and being familiar with bash script
> programming and perl, python programming
> Being familiar with Linux, AIX, FreeBSD OS and RTEMS embedded operation system
> Being familiar with the x86, ARM, and MIPS architecture.
> Being familiar with version control system --- git.
>

Please find my proposal at the below link and provide your feedbacks
for the same-

https://docs.google.com/document/d/1Qtw_a7PahgosdePpfiEO4xpLxQxFNZlA13n4hQRIuu8/edit?usp=sharing


Regards,
Saket Sinha



More information about the devel mailing list