Re: [rtems commit] score: More robust linker sets

2016-10-12 Thread Sebastian Huber
On 13/10/16 05:08, Chris Johns wrote: On 12/10/2016 20:13, Sebastian Huber wrote: Module:rtems Branch:master Commit:be573185e6d6ddafdd3612c7c2db04aa0f65a330 Changeset: http://git.rtems.org/rtems/commit/?id=be573185e6d6ddafdd3612c7c2db04aa0f65a330 Author:Sebastian Huber Date:

Re: [rtems commit] score: More robust linker sets

2016-10-12 Thread Chris Johns
On 13/10/2016 14:08, Chris Johns wrote: On 12/10/2016 20:13, Sebastian Huber wrote: Module:rtems Branch:master Commit:be573185e6d6ddafdd3612c7c2db04aa0f65a330 Changeset: http://git.rtems.org/rtems/commit/?id=be573185e6d6ddafdd3612c7c2db04aa0f65a330 Author:Sebastian Huber Dat

Re: [rtems commit] score: More robust linker sets

2016-10-12 Thread Chris Johns
On 12/10/2016 20:13, Sebastian Huber wrote: Module:rtems Branch:master Commit:be573185e6d6ddafdd3612c7c2db04aa0f65a330 Changeset: http://git.rtems.org/rtems/commit/?id=be573185e6d6ddafdd3612c7c2db04aa0f65a330 Author:Sebastian Huber Date: Fri Sep 23 06:45:07 2016 +0200 sco

Re: [PATCH 3/3] libchip/network/if_fxp.c: do not use rtems_interrupt_disable.

2016-10-12 Thread Pavel Pisa
Hello Chris, On Wednesday 12 of October 2016 23:05:30 Chris Johns wrote: > On 13/10/2016 03:22, Pavel Pisa wrote: > > But RTEMS i8269 support has been broken to disable > > vector for level triggered interrupts in generic > > IRQ processing code. > > I am not sure where the blame should be placed.

Re: [PATCH 3/3] libchip/network/if_fxp.c: do not use rtems_interrupt_disable.

2016-10-12 Thread Chris Johns
On 13/10/2016 03:22, Pavel Pisa wrote: But RTEMS i8269 support has been broken to disable vector for level triggered interrupts in generic IRQ processing code. I am not sure where the blame should be placed. We need to disable at the PIC when using libbsd with shared PCI interrupts because an

Re: [PATCH 3/3] libchip/network/if_fxp.c: do not use rtems_interrupt_disable.

2016-10-12 Thread Pavel Pisa
Hello Gedare, On Wednesday 12 of October 2016 18:10:19 Gedare Bloom wrote: > On Wed, Oct 12, 2016 at 4:26 AM, wrote: > > From: Pavel Pisa > > > > The single write to memory or ioport output are mostly > > atomic operations already. The proper memory synchronization barrier > > should be used ar

Re: [PATCH 2/3] bsps/i386: use Pentimum instructions for pc586 and pc686 builds.

2016-10-12 Thread Sebastian Huber
This looks like a compiler or libatomic configuration bug. I currently have no time to investigate this further. On 12/10/16 15:36, Pavel Pisa wrote: Hello Sebastian, On Wednesday 12 of October 2016 10:35:55 Sebastian Huber wrote: On 12/10/16 10:26, p...@cmp.felk.cvut.cz wrote: SMP build is

Re: [PATCH 2/3] bsps/i386: use Pentimum instructions for pc586 and pc686 builds.

2016-10-12 Thread Pavel Pisa
Hello Sebastian, On Wednesday 12 of October 2016 10:35:55 Sebastian Huber wrote: > On 12/10/16 10:26, p...@cmp.felk.cvut.cz wrote: > > 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 > > > > __

Re: [PATCH 1/2] score: Add RTEMS_OBFUSCATE_POINTER()

2016-10-12 Thread Sebastian Huber
On 12/10/16 11:13, Sebastian Huber wrote: Update #2790. --- cpukit/score/include/rtems/score/basedefs.h | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cpukit/score/include/rtems/score/basedefs.h b/cpukit/score/include/rtems/score/basedefs.h index c378635..ea4

[PATCH 1/2] score: Add RTEMS_OBFUSCATE_POINTER()

2016-10-12 Thread Sebastian Huber
Update #2790. --- cpukit/score/include/rtems/score/basedefs.h | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cpukit/score/include/rtems/score/basedefs.h b/cpukit/score/include/rtems/score/basedefs.h index c378635..ea4d831 100644 --- a/cpukit/score/include/rtems/s

[PATCH 2/2] score: More robust linker sets

2016-10-12 Thread Sebastian Huber
Update #2408. Update #2790. --- cpukit/sapi/src/exinit.c | 7 ++- cpukit/score/include/rtems/linkersets.h | 50 +- testsuites/sptests/splinkersets01/init.c | 73 +++- 3 files changed, 80 insertions(+), 50 deletions(-) diff --git a/

Re: [PATCH 2/3] bsps/i386: use Pentimum instructions for pc586 and pc686 builds.

2016-10-12 Thread Sebastian Huber
On 12/10/16 10:26, p...@cmp.felk.cvut.cz wrote: 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%e

[PATCH 3/3] libchip/network/if_fxp.c: do not use rtems_interrupt_disable.

2016-10-12 Thread pisa
From: Pavel Pisa The single write to memory or ioport output are mostly atomic operations already. The proper memory synchronization barrier should be used around them to guarantee ordering (sync or eieio on PowerPC for example) but because I have not found settable portable primitive only compil

[PATCH 1/3] bsps/i386: replace global interrupt disable by SMP build supporting locking.

2016-10-12 Thread pisa
From: Pavel Pisa --- c/src/lib/libbsp/i386/pc386/clock/ckinit.c | 19 ++--- c/src/lib/libbsp/i386/pc386/console/inch.c | 10 +++-- c/src/lib/libbsp/i386/pc386/console/keyboard.c | 55 -- c/src/lib/libbsp/i386/pc386/console/vt.c | 13 +++--- c/src/lib/lib

[PATCH 0/3] bsps/i386: updates to allow SMP build of x86 BSP

2016-10-12 Thread pisa
From: Pavel Pisa The elimination of global interrupt lock is necessity condition but far from being sufficient for RTEMS x86 SMP support. Provided changes allows to build i386 BSP with configure option --enable-smp. The build BSP runs in UP and SMP configurations on QEMU when only one/boot CPU i

[PATCH 2/3] bsps/i386: use Pentimum instructions for pc586 and pc686 builds.

2016-10-12 Thread pisa
From: Pavel Pisa 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 g