Commit Graph

10137 Commits

Author SHA1 Message Date
Sebastian Huber
1301468b5a bsps: Fix baud settings
Update #2897.
2017-04-03 14:07:58 +02:00
Sebastian Huber
36f0ac20b6 configure: Remove defunct configure stuff 2017-04-03 08:57:14 +02:00
Chris Johns
bba48d90bc libdl: Support link ordered loading of ELF sections.
The ARM C++ exception ABI uses an address ordered index table to
locate the correct frame data and this requires the EXIDX sections are
loaded in the order the order the matching text is loaded.

The EXIDX sections set the SHF_LINK_ORDER flag and link field. This patch
adds support to load those flagged sections in the linked-to section
order.

Updates #2955.
Closes #2959
2017-03-31 09:00:14 +11:00
Sebastian Huber
cd3d74793a arm: Optimize context switch
Set CPU_ENABLE_ROBUST_THREAD_DISPATCH to TRUE.  In this case the
interrupts are always enabled during a context switch even after
interrupt processing (see #2751).  Remove the CPSR from the context
control since it contains only volatile bits.

Close #2954.
2017-03-28 10:32:37 +02:00
Sebastian Huber
82c0836f20 posix: Fix pthread_detach() internal lock acquire 2017-03-28 10:32:37 +02:00
Sebastian Huber
70ddaa0e79 rtems: Fix error return path 2017-03-28 10:32:36 +02:00
Sebastian Huber
5f38271390 cpukit: Fix Makefile.am and update preinstall.am
Update #2897.
2017-03-27 15:38:25 +02:00
Sebastian Huber
94a4865c0c termios: Avoid invalid memory access
Update #2897.
2017-03-27 10:31:04 +02:00
Kevin Kirspel
1c6926c11f termios: Synchronize with latest FreeBSD headers
Adding modified FreeBSD headers to synchronize RTEMS termios with
FreeBSD.  Modify termios to support dedicated input and output baud for
termios structure.  Updated BSPs to use dedicated input and output baud
in termios structure.  Updated tools to use dedicated input and output
baud in termios structure.  Updated termios testsuites to use dedicated
input and output baud in termios structure.

Close #2897.
2017-03-22 11:55:04 +01:00
Sebastian Huber
d50ab07938 dosfs: Fix file name search
Do not use our long file name entry count to optimize the file name
search. The Unicode comparison must be taken into account.

Update #2939.
2017-03-16 15:33:59 +01:00
Sebastian Huber
dfd879fa42 dosfs: Fix race condition msdos_dir_read()
Obtain file system instance lock before member access.

Update #2937.
2017-03-16 15:33:58 +01:00
Sebastian Huber
6c988987f6 dosfs: Rename fat_entries to lfn_entries
The name "fat_entries" for long file name directory entries is quite
misleading.
2017-03-16 15:33:58 +01:00
Sebastian Huber
5f8ed0d8da dosfs: Fix long file name padding
Update #2934.
2017-03-16 15:33:58 +01:00
Sebastian Huber
e625a57ff8 dosfs: msdos_filename_utf8_to_short_name_for_save
Simplify.
2017-03-16 15:33:58 +01:00
Sebastian Huber
b1daf0f095 dosfs: Fix msdos_add_file()
Make sure that long file names work accross cluster boundaries.

Update #2929.
2017-03-16 15:33:58 +01:00
Sebastian Huber
1a9483e2db dosfs: Simplify msdos_add_file()
Update #2929.
2017-03-16 15:33:57 +01:00
Sebastian Huber
3efe74953f dosfs: Add and use msdos_lfn_checksum()
Update #2929.
2017-03-16 15:33:57 +01:00
Sebastian Huber
063eb574b9 dosfs: Simplify fat_file_open()
Update #2929.
2017-03-16 15:33:57 +01:00
Sebastian Huber
ccd4a7f397 dosfs: Simplify msdos_creat_node()
Update #2929.
2017-03-16 15:33:57 +01:00
Sebastian Huber
e69ee3629d dosfs: Fix fat_file_write()
Remove forced overwrite which leads to file data corruption.  The logic
to determine a forced overwrite was fundamentally broken.  For simplity,
disable this feature.

Update #2622.
2017-03-16 15:33:57 +01:00
Sebastian Huber
1becaa953e dosfs: Fix msdos_utf8_normalize_and_fold()
It is all right in case the result uses the full destination buffer.
Without this fix the handling of a maximum 8.3 short file name is
broken.

Update #2928.
2017-03-16 15:33:57 +01:00
Sebastian Huber
66fac03fae libio: Fix deadlock in location management
Perform a context-dependent deferred location release to avoid a
deadlock on the file system instance locks, for example during a
chdir().

Update #2936.
2017-03-16 15:33:56 +01:00
Sebastian Huber
b437a36064 arm: Fix CPU context validation for Cortex-R4
Do not touch the FPSCR[QC] bit since this is DNM/RAZ on Cortex-R4.
2017-03-09 14:32:04 +01:00
Sebastian Huber
2433a8ab1c arm: Remove legacy execption support 2017-03-08 15:36:54 +01:00
Sebastian Huber
36338fb312 monitor: Do not zero sema id and name 2017-03-07 13:42:21 +01:00
Sebastian Huber
088acbb01f score: Fix scheduler yield in SMP configurations
Check that no ask help request is registered during unblock and yield
scheduler operations.  There is no need to ask for help if a scheduled
thread yields, since this is already covered by the pre-emption
detection.

Update #2556.
2017-03-07 13:21:00 +01:00
Sebastian Huber
f61195b2f9 powerpc: Fix PPC_CONTEXT_VOLATILE_SIZE 2017-03-06 11:16:40 +01:00
Daniel Cederman
84557ef62c libdrvmgr: remove braces 2017-03-06 07:54:55 +01:00
Daniel Hellstrom
418149c80b libdrvmgr: added default BSP init level hook 2017-03-06 07:54:55 +01:00
Daniel Hellstrom
91df5a6995 libpci: code cleanup 2017-03-06 07:54:55 +01:00
Sebastian Huber
1f618ab00f posix_devctl: Fix for pre C99
Use __restrict just like in <devctl.h> to avoid compiler errors with
older GCC, e.g. 4.8 or 4.9.
2017-03-02 07:54:52 +01:00
Sebastian Huber
a60db6958f dosfs: Fix FAT32 formatter
The second FAT entry contains a bit to indicate if the FAT32 filesystem
is not dirty and a bit to indicate if there was no IO error.  Set both
bits for a fresh filesystem.  This prevents a warning if mounted on
Windows.

Close #2913.
2017-02-28 09:31:04 +01:00
Sebastian Huber
267de79ad2 dosfs: Directories should have a file size of 0
Close #2755.
2017-02-28 09:31:04 +01:00
Sebastian Huber
f71ccc345e termios: Simplify some calculations
Use the modular arithmetic addition rule.
2017-02-28 09:31:04 +01:00
Sebastian Huber
3663543392 termios: Implement non-blocking write 2017-02-28 09:09:23 +01:00
Sebastian Huber
a165a9607a termios: Make write POSIX compatible
Currently only blocking read/write operations are implemented.  A
blocking write must transfer at least one character.  It should not wait
for the device for the second character and so on.

Close #2917.
2017-02-28 09:09:19 +01:00
Sebastian Huber
c41b47e3e4 termios: Introduce doTransmit() 2017-02-28 09:05:47 +01:00
Sebastian Huber
5244d31ef7 termios: Simplify oproc()
Call rtems_termios_puts() only once.  Adjust column in one place.
2017-02-28 09:05:47 +01:00
Sebastian Huber
c80f6aa916 termios: Fix infinite loop in receive path
In canonical mode, the raw input buffer or the canonical buffer may
overflow without an end of line.  Avoid an infinite loop in this case.

Close #2915.
2017-02-28 09:05:47 +01:00
Sebastian Huber
9fa0f543ec termios: Change receive callback invocation
Call the receive callback in case a read will succeed without to block.
This enables the use of the receive callback for a poll() and select()
support.  Increase raw input buffer size to allow buffering of one line.

Close #2916.
2017-02-28 09:05:42 +01:00
Sebastian Huber
49d8f653fb termios: Change tty_rcvwakeup to bool
Optimize callout invocation check.
2017-02-28 08:51:31 +01:00
Sebastian Huber
9f69ac2a9d termios: Ignore carriage return early if desired
In case carriage return characters should be ignored in the input
(IGNCR), then drop them early before they reach the raw input buffer.
This makes it easier to calculate the content size of the raw input
buffer.
2017-02-28 08:51:31 +01:00
Sebastian Huber
bb087cb0f9 termios: Protect raw input buffer with device lock
Use the device lock to protect the raw input buffer management, e.g.
tail, head and buffer content updates.

Close #2914.
2017-02-28 08:51:27 +01:00
Sebastian Huber
d60c2d7943 termios: Simplify rtems_termios_read_tty()
Remove dead code.

Update #2914.
2017-02-28 08:51:15 +01:00
Sebastian Huber
5bfeddc0c2 termios: Add kqueue() and poll() support
Real implementation is provided by libbsd.
2017-02-23 07:27:43 +01:00
Sebastian Huber
c8339709e0 score: Add RTEMS_WEAK_ALIAS() 2017-02-23 07:27:43 +01:00
Sebastian Huber
33986022af Add rtems_interrupt_server_request_submit()
This function may be used to do a two-step interrupt processing.  The
first step is done in interrupt context which calls this function.  The
second step is then done in the context of the interrupt server.
2017-02-23 07:27:39 +01:00
Nick Withers
df184ebea1 Remove old CVS keywords
Update #2388.
2017-02-15 14:52:15 +01:00
Sebastian Huber
c847451b56 sapi: Fix warnings 2017-02-15 13:22:56 +01:00
Sebastian Huber
661be20777 shell: Fix warnings 2017-02-15 13:05:27 +01:00