Commit Graph

28267 Commits

Author SHA1 Message Date
Daniel Cederman
2d7aad73ea sparc: Fix context switch on SMP
We must not load registers (e.g. PSR) from the heir context area before
the heir stopped execution.

With this patch the write to PSR is divided into two steps. We first update
the current window pointer and then we restore the status registers and
enable traps. This allows us to move the first write to PSR to be before
the write to WIM, as there is now no risk that we get an interrupt where
the CWP and WIM would be inconsistent. We only need to make sure that we
do not use any of the non-global registers or instructions that affects
CWP for three instructions after the write.

In the earlier code the non-global %o1 register was used right after the
write to PSR, which required the use of three nop:s.

Close #2472.
2015-11-17 08:59:23 +01:00
Sebastian Huber
72857659c1 score: Fix race condition on SMP
We must ensure that the Thread_Control::Wait information update is
visible to the target thread before we update its wait flags, otherwise
we may return out of date events or a wrong status.

Close #2471.
2015-11-17 07:47:48 +01:00
Sebastian Huber
0c9bf40b89 Fix interrupt epilogue for ARMv7-AR and PowerPC
Close #2470.
2015-11-17 07:47:31 +01:00
Sebastian Huber
12b5264318 libblock: Avoid NULL pointer access 2015-11-02 08:23:17 +01:00
Jan Sommer
b2d788b3f2 ada: Add missing include
Include stackimpl.h otherwise PTHREAD_MINIMUM_STACK_SIZE cannot be
evaluated.
2015-10-30 07:45:51 +01:00
Joel Sherrill
cb9bb9d13f CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK was undocumented and not error checked
closes #2431.
2015-10-27 07:32:41 -05:00
Sebastian Huber
ad659ff8f3 RFS: Fix resource leak
Update #2433.
2015-10-26 07:29:11 +01:00
Ben Gras
bad82027eb Fail gracefully if pax is not found
The $(PAX) variable is used unconditionally so it shouldn't be
left empty if not found at configure time. Fixes #2437.
2015-10-23 00:08:53 +02:00
Joel Sherrill
ec6f20fc80 moxiesim/configure.ac: Fix typo 2015-10-20 18:08:48 -05:00
Joel Sherrill
13e705cfcb h8sim-testsuite.tcfg: Add fsdosfsname01
closes #2432.
2015-10-20 16:49:51 -05:00
Sebastian Huber
9c96ea780f bsp/leon3: Fix Termios context usage
Only the context of the console device was used and this is wrong in
case more than one APBUART device is available.
2015-10-20 11:31:02 +02:00
Sebastian Huber
edf77328c1 rbheap: Fix rtems_rbheap_free()
Remove unused descriptor of merged free chunks from the free chain and
add them to the spare descriptors.

Update #2417.
2015-09-11 11:31:27 +02:00
Sebastian Huber
deb3f298d1 libtests/rbheap01: Simplify
Update #2417.
2015-09-11 11:29:06 +02:00
Marcos Diaz
44eb9893b5 Beaglebone: fix missing clobber in inline assembly.
flush_data_cache uses R0 directly but doesn't list it as a clobbered
register. Compiling with -O3 made this code break, since the function
that calls flush_data_cache already uses r0.

closes #2416.
2015-09-10 13:30:43 -05:00
Martin Galvan
ccebc571d4 cpukit/libmisc/dumpbuf/dumpbuf.c: Fix compilation warnings
Compiling dumpbuf.c causes the following warning to be issued:

warning: pointer targets in passing argument 1 of 'snprintf' differ in signedness [-Wpointer-sign]

This happens because line_buffer is declared as unsigned.

Closes #2411.
2015-09-03 16:09:22 -05:00
Martin Galvan
efb798e16e cpukit/libnetworking/rtems/rtems_dhcp.c: Fix compilation error
Apparently 'free' is defined as a macro which takes two arguments and calls
rtems_bsdnet_free. When fixing #2405 I added a missing 'free' but didn't notice
it was non-standard.

Closes #2410.
2015-09-03 15:43:03 -05:00
Martin Galvan
9e2197d5d7 cpukit/libmisc/dumpbuf/dumpbuf.c: Fix undefined behavior for sprintf()
I also used the 'n' versions of the string functions, #define'd magic numbers
and added a few comments.

Updates #2405.
2015-09-03 12:34:06 -05:00
Martin Galvan
631d2548fa tools/cpu/nios2/ptf.c: Fix leak of memory pointed to by new_prefix
Updates #2405.
2015-09-03 12:34:01 -05:00
Martin Galvan
c62129c5bc cpukit/libnetworking/rtems/rtems_dhcp.c: Fix leak on realloc failure for dhcp_hostname.
Closes #2405.
2015-09-03 11:27:48 -05:00
Martin Galvan
1491f6948e tools/cpu/nios2/memory.c: Fix uninitialized use of variable memory
Updates #2405.
2015-09-03 11:27:45 -05:00
Martin Galvan
d781ad5086 various .h files: Add missing C++ extern wrappers
Updates #2405.
2015-09-03 11:27:42 -05:00
Sebastian Huber
6d734bae46 arm: Replace __sync_synchronize() implementation 2015-09-01 10:00:14 +02:00
Sebastian Huber
35e0394165 arm: Use compiler memory barrier by default 2015-09-01 10:00:13 +02:00
Sebastian Huber
9ccdb1dfde rbtree: Delete rtems_rbtree_find_control()
This function is hard to support in alternative implementations.  It has
no internal use case.
2015-09-01 09:06:18 +02:00
Nick Withers
7a0df6b947 Respect 2^32 - 1 B NFSv2 maximum file size
closes #2384
2015-08-06 10:49:30 -04:00
Joel Sherrill
c9318aa8d1 user/c_user.texi: Correct info index entry
closes #2380.
2015-08-03 09:35:47 -07:00
Joel Sherrill
652888c22d ada-tests/support/init.c: Fix compile errors and warnings
closes #2379.
2015-08-02 08:32:45 -07:00
Jan Sommer
1cf91e0b0a Add __synch_synchronize function for arm
Fixes link failure when linking Ada programs on the raspberry pi
2015-08-01 10:20:18 -07:00
Nick Withers
dc475657bf ampolish3: Use env to find perl more reliably
Fixes breakage on at least FreeBSD.

closes #2379.
2015-08-01 10:08:55 -07:00
Michael Davidsaver
8da63adc4b tftpDriver: close() false error
closes #2376.
2015-07-29 11:00:29 -05:00
Sebastian Huber
3984a0e171 m68k: Include proper header file 2015-07-24 10:48:28 +02:00
Sebastian Huber
2f43241a2a arm: Include proper header file 2015-07-23 20:35:16 +02:00
Sebastian Huber
0ad8a33650 i2c: Fix return status of i2c dev read/write 2015-07-23 09:12:42 +02:00
Sebastian Huber
f9a597950b doc: Add SMP section to CPU Arch Supplement 2015-07-23 09:12:35 +02:00
Sebastian Huber
8b14cbd996 bsps/arm: Update due to API changes 2015-07-21 10:01:34 +02:00
Premysl Houdek
49c1d25dc2 bsp/tms570 Use bitfields instead of hard-coded values
Signed-off-by: Premysl Houdek <kom541000@gmail.com>
2015-07-20 21:06:55 +10:00
Premysl Houdek
9a84f98372 bsp/tms570: skipped 32bit field definitions and corrected single bit fields
there is no need to define access macros for field covering
whole registers. In addition, BSP_FLD32 does not work right
for field 32bit length.

Signed-off-by: Premysl Houdek <kom541000@gmail.com>
2015-07-20 21:06:42 +10:00
Joel Sherrill
3f923fd22e Update date 2015-07-17 09:42:35 -05:00
Sebastian Huber
9154c3f99a doc: Add thread dispatch details for SMP 2015-07-17 11:57:38 +02:00
Sebastian Huber
3bb342ca92 doc: Clarify interrupts disable problems on SMP 2015-07-17 11:57:08 +02:00
Sebastian Huber
b56ddbbd84 doc: Fix SMP task variables section 2015-07-17 09:21:46 +02:00
Sebastian Huber
e5a79e54d9 bsp/mpc83xx: Update due to header guard change
Close #2373.
2015-07-17 07:59:35 +02:00
Joel Sherrill
db01d0cc61 sparc64/rtems/score/cpu.h: Delete dead declaration 2015-07-16 11:15:53 -07:00
Joel Sherrill
7e14385b46 sh/shared/startup/bspstart.c: Add include of percpu.h 2015-07-16 11:15:52 -07:00
Premysl Houdek
069560a5f9 bsp/tms570: source changes reflecting new headers.
Signed-off-by: Premysl Houdek <kom541000@gmail.com>
2015-07-16 11:15:52 -07:00
Pavel Pisa
602e395b4d bsp/tms570: fix get time resolution after infrastructure change to timecounter.
The update fixes breakage of TMS570 support after Alexander Krutwig
switch of RTEMS time read to timecounter mechanism

bsps: Convert clock drivers to use a timecounter

Mechanism to specify odd (non 1 Mhz) time base update frequencies
implemented after objections of  Martin Galvan.

Code is adjusted to convert RTEMS configuration parameter
microseconds_per_tick to such odd base if
TMS570_PREFERRED_TC_FREQUENCY is specified appropriately.

Signed-off-by: Premysl Houdek <kom541000@gmail.com>
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
2015-07-16 09:31:09 -07:00
Premysl Houdek
bea49c9477 bsp/tms570: New/generated header files for TMS570 SoC peripherals registers.
The header files are generated by script make_header.py.
Current script's version can be found at:

https://github.com/AoLaD/rtems-tms570-utils/tree/headers/headers/python

Registers offsets and fields have been extracted from reference manual.

Signed-off-by: Premysl Houdek <kom541000@gmail.com>
2015-07-16 09:31:09 -07:00
Joel Sherrill
4784214a6a remaining bsp.h: Fix by hand to LIBBSP_@CPU@_@BSP_FAMILY@_BSP_H
These files were left after running the script in the previous patch.
2015-07-16 08:43:51 -07:00
Joel Sherrill
9cff822a26 Most bsp.h: Switch to LIBBSP_@CPU@_@BSP_FAMILY@_H for guard
This was done by the following script run from libbsp:

find * -name bsp.h | xargs -e grep -l "#ifndef.*_BSP_H" | while read b
do
  echo $b
  cpu=`echo $b | cut -d'/' -f1 | tr '[:lower:]' '[:upper:]' `
  bsp=`echo $b | cut -d'/' -f2 | tr '[:lower:]' '[:upper:]' `
  g="LIBBSP_${cpu}_${bsp}_BSP_H"
  # echo $g
  sed -e "s/ifndef _BSP_H/ifndef ${g}/" \
      -e "s/define _BSP_H/define ${g}/" \
  -i $b

done
2015-07-16 08:40:05 -07:00
Sebastian Huber
93f5adb644 powerpc: Do not use the ATB for e500 multilib
The e500v1 has no support for the ATB.

Update #2369.
2015-07-15 10:52:40 +02:00