Commit Graph

10631 Commits

Author SHA1 Message Date
Joel Sherrill
c77cd426f8 Drop executable permissions on .[ch] files 2018-04-30 17:18:49 -05:00
Sebastian Huber
6ac6a5c866 jffs2: Do not use command line defines
Update #3375.
2018-04-30 08:07:54 +02:00
Sebastian Huber
3ef7e7440b config: Fix -Wint-in-bool-context warnings 2018-04-30 07:48:53 +02:00
Sebastian Huber
f4794b60f6 drvmgr: Really fix API mutex usage 2018-04-24 15:40:07 +02:00
Sebastian Huber
905d7fa3a2 drvmgr: Use API mutex usage
The driver manager lock may be used before the executing thread is
initialized.
2018-04-24 15:23:39 +02:00
Sebastian Huber
c49896f1c0 sparc: Move irq_asm.S
This file is BSP-independent.

This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-20 13:52:20 +02:00
Sebastian Huber
28b4c7acc4 sparc: Move _CPU_Trap_slot_template
The definition of _CPU_Trap_slot_template is BSP-independent.  A
potential para-virtualization support may use <rtems/score/paravirt.h>.

This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-20 13:52:19 +02:00
Sebastian Huber
6d21a3f230 drvmgr: Remove bsp_driver_level_hook()
Use RTEMS_SYSINIT_ITEM() instead.

Update #2408.
2018-04-20 09:49:35 +02:00
Sebastian Huber
f35c3be9f8 Remove register keyword from public header files
The following code

  void f(void)
  {
    register int i;
  }

gives a warning with GCC and -std=c++17

  test.cc: In function ‘void f()’:
  test.cc:3:15: warning: ISO C++1z does not allow ‘register’ storage class
  specifier [-Wregister]
    register int i;
		       ^

and clang with -std=c++14

  test.cc:3:3: warning: 'register' storage class specifier is deprecated
  and incompatible with C++1z [-Wdeprecated-register]
    register int i;
    ^~~~~~~~~
  1 warning generated.

Remove the use of the register keyword at least in the public header
files for C++ compatibility.

Close #3397.
2018-04-16 07:37:06 +02:00
Chris Johns
f59d435d16 libdl: Remove _t from all structures as this is reserved for the standards 2018-04-12 17:57:40 +10:00
Chris Johns
2a61542f44 libdl: RAP format fixes.
- Do not error if a RAP section is not found.

- Free a symbol table via the RTL allocator interface.

- Add the symbols to the global symbol table.

Update #2769
2018-04-12 17:54:59 +10:00
Sebastian Huber
9e3691096e NFS: Remove support for cexp
Avoid use of RTEMS_RELLDFLAGS.

Close #3390.
2018-04-12 07:08:53 +02:00
Chris Johns
af6168c6ef build: Add support for automake's silent build support. 2018-04-12 07:26:10 +10:00
Chris Johns
b8c5935355 build: Fix make clean.
Update #3254.
2018-04-11 13:26:58 +10:00
Chris Johns
d13a62409e cpukit/mttpd: Add a callback to generate a per file HTTP etag
Close #3323.
2018-04-11 12:47:01 +10:00
Fan Deng
d869c1824a Fill in the correct d_off in rtems_rfs_dir_read.
rtems_rfs_dir_read searches the directory inode's entries list starting
at the specified offset until an empty entry (last entry) is encountered. It
fills in a struct dirent with the name of the entry, length of the name, ino of
the entry, and the absolute offset of the entry in the parent directory's
entries
list.

Unfortunately, the stock implementation of rtems_rfs_dir_read returns a
somewhat arbitrary offset (as dirent::d_off), while
rtems_rfs_dir_lookup_ino always returns the correct offset.

This change fixes that logic so the returned offset is accurate.

Tested by comparing the offset returned in dirent with the result of
rtems_rfs_dir_lookup_ino.
2018-04-11 11:51:57 +10:00
Fan Deng
64908df116 Fixes bitmap allocation accounting logic in rtems-rfs-bitmaps.c
The bitmap allocation accounting logic in rtems-rfs-bitmaps.c is flawed
around control->free. Specifically:

In rtems_rfs_bitmap_map_set():
control->free is only decremented when its corresponding search bit is
toggled. This is wrong and will miss on average 31/32 set updates.

In rtems_rfs_bitmap_map_clear():
control->free is incremented unconditionally.

The correct behavior is:
When updating the map, check if the bit is already set/clear. Only update
control->free when the bit is toggled.

This change enforced the correct behavior.

Tested by inspecting the internal data structure.
2018-04-11 11:51:57 +10:00
Fan Deng
095a807bc3 Reset free count properly in rtems_rfs_bitmap_map_clear_all().
In rtems_rfs_bitmap_map_clear_all(), control->free is set to 'elements',
which is the number of elements in the bitmap. This is incorrect, as
control->free should contain the number of free bits, not elements.

This change fixes the logic and resets control->free to a correct value.
2018-04-11 11:51:57 +10:00
Fan Deng
0c2241c0a9 Make bit addressing consistent in rtems_rfs_group.c
This change fixes https://devel.rtems.org/ticket/3089.

Briefly, rtems_rfs_group.c contains conflicting conversions between
block numbers and group number and bit offset pairs. This caused the
actual bit stored on the bitmask to be one bit displaced from its
intended location.

For more details, please see the associated ticket.

Tested by inspecting the written bitmasks with and without this change.
2018-04-11 11:51:57 +10:00
Sebastian Huber
9edb72e4be build: Remove DISTCLEANFILES
A "make distclean" is not supported. So, it makes no sense to have pure
"make distclean" related stuff in the Makefile.am.
2018-04-09 07:09:47 +02:00
Sebastian Huber
2d0bc839ed build: Remove EXTRA_DIST
A "make dist" is not supported. So, it makes no sense to have pure "make
dist" related stuff in the Makefile.am.
2018-04-04 10:09:04 +02:00
Sebastian Huber
549b1d6bbe Remove unused POSIX_NOT_IMPLEMENTED() declaration 2018-03-27 08:33:06 +02:00
Sebastian Huber
7353422fc3 mpci: Fix _MPCI_Enqueue_callout()
Update #3117.
Update #3182.
2018-03-22 09:05:26 +01:00
Sebastian Huber
2c65588862 config: Fix re-definition warning 2018-03-22 08:39:07 +01:00
Sebastian Huber
3da2f4711d mpci: Update due to thread queue API changes
Update #3117.
Update #3182.
2018-03-22 08:39:07 +01:00
Amaan Cheval
efa0039ee9 i386/smp: Export _CPU_SMP_Prepare_start_multitasking as a function
When it's a macro, a function declaration causes a compiler error due to the
macro being expanded.

Partial log showing error:
https://gist.github.com/AmaanC/ab3521141479aa6f61ea25f5d74ebb4d

Closes #3331
2018-03-16 11:01:55 -05:00
Amaan Cheval
e9fb313376 i386/smp: Define CPU_Interrupt_frame as non-void struct
This change, excluding the #error directive, lets us make progress towards
compiling i386 targets with --enable-smp.

The #error directive needs to be there since the CPU_Interrupt_frame is used by
the SMP context switching code, and this placeholder struct, if used, would only
lead to more subtle bugs and errors. With the directive, the SMP context
switching code can be improved separately.

Updates #3331
2018-03-16 11:01:55 -05:00
Joel Sherrill
74fe9ceda5 rtems/bfin/bf533.h: Eliminate redefinition warning and add sanity check
Closes #3346.
2018-03-16 08:38:20 -05:00
Sebastian Huber
478dc8968f imfs: Use most efficient way to get the time
As a side-effect, this fixes some warnings.

Close #3350.
2018-03-16 07:52:45 +01:00
Joel Sherrill
0a7a30d19d Add PowerPC paravirtualization support
Cannot read or write MSR when executing in user mode. This
is used when RTEMS_PARAVIRT is defined.

Provide alternate methods to disable/enable interrupts

Closes #3306.
2018-03-13 09:55:23 -05:00
Joel Sherrill
c0443b4ce9 Add ARM Paravirtualization support
Closes #3305.
2018-03-13 09:55:23 -05:00
Joel Sherrill
7c39cab92a Rework i386 Paravirtualization to have paravirt.h 2018-03-13 09:49:21 -05:00
Sebastian Huber
7633f5b394 sparc64: Move libcpu content to cpukit
This patch is a part of the BSP source reorganization.

Update #3285.
2018-03-13 08:05:40 +01:00
Sebastian Huber
8b5778e69e sparc: Move libcpu content to cpukit
This patch is a part of the BSP source reorganization.

Update #3285.
2018-03-13 08:05:39 +01:00
Joel Sherrill
c2282d6dca sparc/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:41 -05:00
Joel Sherrill
55e76c270f sparc64/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:41 -05:00
Joel Sherrill
d978d1b473 powerpc/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:40 -05:00
Joel Sherrill
8d96b46fa1 m68k/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:40 -05:00
Joel Sherrill
5b88ec5b68 riscv/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:40 -05:00
Joel Sherrill
eb142feec4 arm/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:40 -05:00
Joel Sherrill
43bd6b15e8 v850/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:40 -05:00
Joel Sherrill
e88abc0a1e no_cpu/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:39 -05:00
Joel Sherrill
7dde32f04e or1k/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:39 -05:00
Joel Sherrill
924cecd9fa m32c/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:39 -05:00
Joel Sherrill
a518ff4ba9 moxie/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:39 -05:00
Joel Sherrill
fce900b543 sh/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:38 -05:00
Joel Sherrill
00acca28d6 nios2/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:38 -05:00
Joel Sherrill
c83d16943c epiphany/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:38 -05:00
Joel Sherrill
c98d4748b7 lm32/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:38 -05:00
Joel Sherrill
a1df2fdcc8 i386/include/rtems/score/types.h: Eliminate this file
Updates #3327.
2018-03-12 14:29:37 -05:00