Version 2 (modified by Joel Sherrill, on 02/11/16 at 18:00:52) (diff) |
---|
Improve PC386 BSP
Table of Contents
Mentors: TBD.
Students: TBD.
Status:
Uninitiated.
Introduction:
This project involves addressing a few deficiencies in the existing pc386 BSP as well as improving it so it supports non-legacy hardware configurations.
Goal:
To have a functioning pc386 BSP that can operate on PCs without legacy BIOS or peripherals. It needs to support all features of RTEMS including SMP and Thread Local Storage.
Requirements:
- Knowledge of x86 ASM, C Programming language.
- Run on non-legacy hardware configurations.
- Share code as possible with new x86_64 BSP (when exists).
- Add Thread Local Storage support to x86 (#2468)
- Thread migration is broken on SMP on x86 (#2183)
There are at least the following tasks identified related to support of non-legacy PC configurations. A non-legacy PC appears to be one in which at least EFI is used instead of BIOS.
- Support video on non-legacy systems. Probe for video is known to fail on non-legacy systems.
- Support PCI on non-legacy systems. Probe for PCI BIOS is known to fail on non-legacy systems. It is expected that PCI bus access routines will need to be provided for non-legacy configurations.
- Support for APIC rather than legacy PIC.
It is a requirement for code to be shared with x86_64 when that is supported. It is also a requirement for the pc386 BSP to support both legacy and non-legacy and decide what to do at run-time.
Resources:
- Current RTEMS developers.
- Do not reinvent the wheel and use existing code instead, e.g. from FreeBSD.
Acknowledgements
- TBD
Miscellaneous Sections
As the project progresses, you will need to add build instructions, etc and this page will evolve from a project description into a HOWTO.
References
- TBD
Other sections: If you have more to say about the project that doesn't fit in the proposed sections of this template, feel free to add other sections at will.