#2900 assigned project

Improve PC386 BSP

Reported by: Tanu Hari Dixit Owned by: Joel Sherrill
Priority: normal Milestone: Indefinite
Component: bsps Version:
Severity: normal Keywords: SoC, BSP
Cc: Blocked By:

Description (last modified by Gedare Bloom)

Improve PC386 BSP




This project involves addressing a few deficiencies in the existing pc386 BSP as well as improving it so it supports non-legacy hardware configurations.


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.


  • 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.


  • Current RTEMS developers.
  • Do not reinvent the wheel and use existing code instead, e.g. from FreeBSD.

Change History (4)

comment:1 Changed on Feb 6, 2017 at 4:02:32 AM by Chris Johns

Type: enhancementproject

comment:2 Changed on Mar 2, 2017 at 8:21:35 PM by Gedare Bloom

Keywords: BSP added

comment:3 Changed on Aug 14, 2017 at 12:17:26 AM by Chris Johns

Version: 4.11

comment:4 Changed on Jan 14, 2020 at 8:56:57 PM by Gedare Bloom

Description: modified (diff)
Owner: set to Joel Sherrill
Status: newassigned
Note: See TracTickets for help on using tickets.