x86 c++ exception handling

Joel Sherrill joel at rtems.org
Fri Sep 11 13:13:52 UTC 2020

On Fri, Sep 11, 2020 at 5:12 AM Sebastian Huber <
sebastian.huber at embedded-brains.de> wrote:

> On 11/09/2020 12:08, Karel Gardas wrote:
> > On 9/11/20 11:40 AM, Sebastian Huber wrote:
> >
> >>> If I'm not mistaken, then this is simply fixed by using other BSP's
> >>> variant? Like pc486/pc586/pc686 ... Those optimize for different CPUs
> >>> and gcc's lib provides necessary synchronization functions then...
> >> The question is if there are RTEMS users in this universe which have x64
> >> hardware in use which understands only the pc486/pc586/pc686 instruction
> >> sets. This is stuff from the 1990s.
> > OK! So first uarch from 2000s is NetBurts and later core. Would you like
> > to stop on that? Honestly I'm a bit confused since if you are talking
> > about obsoleting '90s then we're in amd64 territory and then the
> > question is if to keep 32bit BSP or go straight to 64bit. Unfortunately
> > amd64 BSP provides just clock and console IIRC and and in comparison
> > with that pc386 supports a lot more features (VESA fb, libbsd)...
> >
> > Or do you propose to just add more BSP variants to pc386 to support
> > optimization/isns generation for more modern CPUs and deprecate older
> > variants?
> I don't know. I think we should somehow figure out which x86 hardware is
> in use by RTEMS users.

Agreed. But  I don't see removing the 32-bit port/BSP.

it is simple to remove the lower end configurations and
ensure the lowest one includes the appropriate instructions.
The cleanup side-effects I see so far are:

+ remove GCC multilibs < certain level
+ Clean up i386.h in port for removed variants which will at least
   result in removal of port code for bit scan on i386 (i486 had
   an efficient instruction)
+ remove BSP code for CPUs < 586 w/o TBR.
+ documenting the rationale clearly in the Users Guide

Removing the BSP config variants below a certain level is trivial
in code but like deleting sis likely will result in questions and fixing
odd documentation references for a while.

FWIW i386 is an 80s CPU introduced in 1985. i486 was introduced
in 1989. The Pentium was 1993. Remember It's All About the Pentium!
Pentium II was 1997 and first with SMP but maybe not setting the baseline
we want.


> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200911/0769fe20/attachment.html>

More information about the devel mailing list