Changeset 20625a5 in rtems for c/src/lib/libbsp/i386


Ignore:
Timestamp:
Oct 12, 2016, 7:47:00 AM (3 years ago)
Author:
Pavel Pisa <pisa@…>
Branches:
master
Children:
dfcec559
Parents:
6b54dcb
git-author:
Pavel Pisa <pisa@…> (10/12/16 07:47:00)
git-committer:
Pavel Pisa <pisa@…> (10/17/16 07:41:58)
Message:

bsps/i386: use Pentimum instructions for pc586 and pc686 builds.

When GCC option -march is not specifies i386-rtems toolchain
defaults to i386 architecture instruction set. It does not
provide atomic instructions which results in really inefficient
atomic_fetch_or even on UP build.

SMP build is broken with i386 set because libatomic and GCC
generate infinite loop for atomic_fetch_add_4 used
in rtems_interrupt_lock_acquire

atomic_fetch_add_4:

push %ebp
mov %esp,%ebp
movl $0x5,0x10(%ebp)
pop %ebp
jmp atomic_fetch_add_4

Location:
c/src/lib/libbsp/i386/pc386/make/custom
Files:
2 edited

Legend:

Unmodified
Added
Removed
Note: See TracChangeset for help on using the changeset viewer.