Commit Graph

10692 Commits

Author SHA1 Message Date
Sebastian Huber
16fc3f9a54 network: Use self-contained recursive mutex
Update #2843.
2018-02-02 15:01:22 +01:00
Sebastian Huber
36304f3d7a spi: Use self-contained mutex
Update #2843.
2018-02-02 15:01:21 +01:00
Sebastian Huber
dc158ad4ec i2c: Use self-contained mutex
Update #2843.
2018-02-02 15:01:21 +01:00
Sebastian Huber
2c12262f9a termios: Use self-contained objects
Update #2840.
2018-02-02 15:01:21 +01:00
Sebastian Huber
8d7f36807c libblock: Use self-contained mutex and cond var
Update #2843.
2018-02-02 15:01:21 +01:00
Sebastian Huber
1b2da177ef libblock: Use self-contained mutex for disk lock
Update #2843.
2018-02-02 15:01:21 +01:00
Sebastian Huber
f14a04c6ef Add RTEMS thread API
Update #2843.
2018-02-02 15:01:20 +01:00
Sebastian Huber
8fa4549eb2 posix: Use one second based CLOCK_MONOTONIC
This simplifies the CLOCK_MONOTONIC based time services.  It is
potentially important for libbsd.

Close #3265.
2018-02-02 15:01:20 +01:00
Sebastian Huber
9480815a22 score: Introduce new monotonic clock
Rename PER_CPU_WATCHDOG_MONOTONIC to PER_CPU_WATCHDOG_TICKS.  Add new
PER_CPU_WATCHDOG_MONOTONIC which is based on the system uptime (measured
by timecounter).

Close #3264.
2018-02-02 15:01:20 +01:00
Sebastian Huber
3a4e044e64 score: Rename _Watchdog_Realtime_from_*()
Rename _Watchdog_Realtime_from_*() to _Watchdog_Ticks_from_*().

Update #3264.
2018-02-02 15:01:20 +01:00
Sebastian Huber
89c0313938 score: Optimize watchdog tickle
Avoid unnecessary lock acquire/release operations.  Get realtime via
timecounter only if necessary.

Update #3264.
2018-02-02 15:01:20 +01:00
Sebastian Huber
1e483a62ea test: Add rtems_test_busy_cpu_usage() 2018-02-02 07:48:49 +01:00
Chris Johns
05015dc188 Xilinx AXI I2C driver IP race condition causes clock glitch.
Setting the PIRQ to 0 before reading the data produces a short clock pulse.
Moving the write to after reading the data fixes the issue.

Close #3173
2018-02-01 14:59:55 +11:00
Sebastian Huber
1c64c68896 epiphany: Workaround until next Newlib snapshot
At least with Binutils 2.30 and GCC 7.3 we need symbol definitions
without the leading underscore.

Fixed in Newlib 1658a57715de93d50983f34e75216101eb373993.
2018-01-31 11:17:22 +01:00
Sebastian Huber
9819425fee epiphany: Fixes for GCC 7.3
GCC 7.3 defines __USER_LABEL_PREFIX__ to nothing.
2018-01-31 08:03:30 +01:00
Sebastian Huber
bc96f3b4b8 ada: Introduce RTEMS.Size type
Some time ago the Classic API object size related parameters were
changed to use size_t.  Reflect this in the Ada bindings.

Update #3082.
2018-01-29 06:58:28 +01:00
Sebastian Huber
d8de6b9dbe ada: Fix RTEMS.Time_t
Update #3111.
2018-01-29 06:58:27 +01:00
Chris Johns
2afb22b7e1 Remove make preinstall
A speciality of the RTEMS build system was the make preinstall step.  It
copied header files from arbitrary locations into the build tree.  The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

* The make preinstall step itself needs time and disk space.

* Errors in header files show up in the build tree copy.  This makes it
  hard for editors to open the right file to fix the error.

* There is no clear relationship between source and build tree header
  files.  This makes an audit of the build process difficult.

* The visibility of all header files in the build tree makes it
  difficult to enforce API barriers.  For example it is discouraged to
  use BSP-specifics in the cpukit.

* An introduction of a new build system is difficult.

* Include paths specified by the -B option are system headers.  This
  may suppress warnings.

* The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step.   All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc.  Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

* cpukit/include

* cpukit/score/cpu/@RTEMS_CPU@/include

* cpukit/libnetworking

The new BSP include directories are:

* bsps/include

* bsps/@RTEMS_CPU@/include

* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed.  The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.
2018-01-25 08:45:26 +01:00
Sebastian Huber
6bb9b3df7b rfs: Fix format warning
Update #3082.
2018-01-23 08:00:26 +01:00
Sebastian Huber
5fb838d181 rfs: Fix for 64-bit targets
The RTEMS_BLKIO_SETBLKSIZE IO control expects an uint32_t parameter and
not a size_t which is 64-bits on 64-bit targets.

Update #3082.
2018-01-22 15:24:13 +01:00
Sebastian Huber
fc438dae30 monitor: Fix thread priority values 2018-01-22 07:21:20 +01:00
Sebastian Huber
5ce2dfaf4e powerpc: Add FSL_EIS_EPR
Update #3085.
2018-01-22 07:21:19 +01:00
Sebastian Huber
168277e759 tests: Change TEST BUILD to use define names 2018-01-22 07:08:57 +01:00
Sebastian Huber
a5b4db4bc2 rtems: Fix rtems_task_mode()
A rtems_configuration_is_smp_enabled() inside a !defined( RTEMS_SMP)
block makes no sense.

Remove !defined( RTEMS_SMP ) conditions.

Test tm04 works now again.

Update #3000.
2018-01-19 07:45:21 +01:00
Joel Sherrill
f387e8f40b testsupport/testbeginend.c: Fix redefined warning 2018-01-16 13:47:53 -06:00
Chris Johns
2a21c80299 Include rtems/bspIo.h for printk.
Closes @3267.
2018-01-04 11:54:35 +01:00
Sebastian Huber
4e100058cc sparc: Remove <bsp.h> from PCI shell command
Update #3254.
Update #3260.
2018-01-02 15:47:00 +01:00
Sebastian Huber
569fd5097c sparc: Remove BSP specifics from <pci/irq.h>
Update #3254.
Update #3260.
Update #3269.
2018-01-02 14:49:56 +01:00
Sebastian Huber
3b392b6113 sparc: Remove BSP specifics from <pci/access.h>
Update #3254.
Update #3260.
2018-01-02 14:49:56 +01:00
Sebastian Huber
7190005abb sparc: Move <libcpu/byteorder.h>
Update #3254.
Update #3260.
2018-01-02 14:49:56 +01:00
Sebastian Huber
e1563f377d posix: Remove unused global variable
Update #2702.
Update #2555.
2017-12-15 07:23:10 +01:00
Sebastian Huber
12641f7b13 epiphany: Remove superfluous includes
Update #3254.
2017-12-14 08:13:13 +01:00
Sebastian Huber
7e82962c0b untar: Constify 2017-12-14 07:01:12 +01:00
Sebastian Huber
d19e7aab4b zlib: Fix build
Update #3254.
2017-12-13 09:32:11 +01:00
Sebastian Huber
241fc046a7 zlib: Do not generate zconf.h
Update #3254.
2017-12-13 09:25:55 +01:00
Sebastian Huber
94e04b533d telnetd: Include <rtems/passwd.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:28 +01:00
Sebastian Huber
5346fa875c pppd: Include <rtems/rtems*.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:28 +01:00
Sebastian Huber
9589755f77 mghttpd: Include <mghttpd/mongoose.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:28 +01:00
Sebastian Huber
edfdc42a89 uuid: Include <uuid/uuid.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:27 +01:00
Sebastian Huber
f666fc5928 utf8proc: Include <utf8proc/utf8proc.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:27 +01:00
Sebastian Huber
a162672611 redirector: Include <rtems/stdio-redirect.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:27 +01:00
Sebastian Huber
4a23aa4528 shell: Include <rtems/shell.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:27 +01:00
Sebastian Huber
47f236c67a monitor: Include <rtems/monitor.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:27 +01:00
Sebastian Huber
249730ded2 capture: Include <rtems/captureimpl.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:26 +01:00
Sebastian Huber
295ca7ded0 RFS: Include <rtems/rtems-rfs-shell.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:26 +01:00
Sebastian Huber
990adc5438 libdl: Include <rtems/rtl/rtl-*.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:26 +01:00
Sebastian Huber
7d9455edfe pipe: Include <rtems/pipe.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:26 +01:00
Sebastian Huber
7683da88e4 dosfs: Include <rtems/dosfs.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:26 +01:00
Sebastian Huber
51a30a4b73 ftpd: Include <rtems/ftpd.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:25 +01:00
Sebastian Huber
339069fc81 devfs: Include <rtems/devfs.h>
Prepare for header file move to common include directory.

Update #3254.
2017-12-13 09:04:25 +01:00