Commit Graph

10127 Commits

Author SHA1 Message Date
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
Sebastian Huber
f5cf2fe293 libdl: Fix warning 2017-02-15 11:19:50 +01:00
Sebastian Huber
7a462cc60d score: Fix warning 2017-02-15 11:09:32 +01:00
Sebastian Huber
468e9a4d99 monitor: Print short and long task names
Print wait object identifier only if it exists.

Update #2858.
2017-02-14 11:12:00 +01:00
Sebastian Huber
54835ae9b3 Rename CONFIGURE_SMP_MAXIMUM_PROCESSORS
Rename CONFIGURE_SMP_MAXIMUM_PROCESSORS to CONFIGURE_MAXIMUM_PROCESSORS
since the SMP part is superfluous.

Update #2894.
2017-02-14 09:52:05 +01:00
Sebastian Huber
5eee7184ad shell: Fix warnings 2017-02-14 08:46:22 +01:00
Sebastian Huber
6dbbafc6b0 score: Fix warning in _Thread_Set_name() 2017-02-14 08:42:48 +01:00
Sebastian Huber
d9c6542970 dosfs: Fix msdos_find_file_in_directory()
For a filename match the entry must match without anything remaining.

Close #2908.
2017-02-14 08:07:22 +01:00
Sebastian Huber
07d71279b4 Prefix confdefs.h internal def with an underscore
Close #2895.
2017-02-03 11:14:58 +01:00
Sebastian Huber
85ed95ec48 termios: Fix static device initalization
This enables early printk() support.

Update #2838.
2017-02-03 10:49:13 +01:00
Sebastian Huber
bbfbfc847e score: Move _Thread_Scheduler_ask_for_help()
Move _Thread_Scheduler_ask_for_help(), rename it to
_Thread_Ask_for_help() and make it static.
2017-02-03 10:17:39 +01:00