wiki:Developer/Projects/Open/ImprovePC386

Improve PC386 BSP

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.

Last modified on Feb 11, 2016 at 6:00:52 PM Last modified on Feb 11, 2016, 6:00:52 PM