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. Regards, Saket Sinha _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel