| Commit message (Collapse) | Author | Files | Lines |
|
Directly use "static inline" which is available in C99 and later. This brings
the RTEMS implementation closer to standard C.
Close #3935.
|
|
Updates #3053.
|
|
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.
|
|
|
|
Move the safety check performed by
_CORE_mutex_Check_dispatch_for_seize() out of the performance critical
path and generalize it. Blocking on a thread queue with an unexpected
thread dispatch disabled level is illegal in all system states.
Add the expected thread dispatch disable level (which may be 1 or 2
depending on the operation) to Thread_queue_Context and use it in
_Thread_queue_Enqueue_critical().
|
|
|
|
Apparently killinfo() is not defined by POSIX, glibc or FreeBSD. Rename
killinfo() to _POSIX_signals_Send() to cleary mark it as an internal
function.
|
|
|
|
Remove the Thread_queue_Queue::operations field to reduce the size of
this structure. Add a thread queue operations parameter to the
_Thread_queue_First(), _Thread_queue_First_locked(),
_Thread_queue_Enqueue(), _Thread_queue_Dequeue() and
_Thread_queue_Flush() functions. This is a preparation patch to reduce
the size of several synchronization objects.
|
|
|
|
Update #2408.
|
|
Avoid Thread_Control typedef in <rtems/score/percpu.h>. This helps to
get rid of the <rtems/score/percpu.h> include in <rtems/score/thread.h>
which exposes a lot of implementation details.
|
|
Move the complete thread queue enqueue procedure into
_Thread_queue_Enqueue_critical(). It is possible to use the thread
queue lock to protect state of the object embedding the thread queue.
This enables per object fine grained locking in the future.
Delete _Thread_queue_Enter_critical_section().
Update #2273.
|
|
|
|
|
|
Add a local context structure to the SMP lock API for acquire and
release pairs. This context can be used to store the ISR level and
profiling information. It may be later used to enable more
sophisticated lock algorithms, e.g. MCS locks.
There is only one lock that cannot be used with a local context. This
is the per-CPU lock since here we would have to transfer the local
context through a context switch which is very complicated.
|
|
|
|
Add and use _POSIX_signals_Release(). The post-switch handler is not
protected by disabled thread dispatching. Use proper SMP lock for
signal management.
|
|
Move implementation specific parts of tqdata.h, threadq.h and
threadq.inl into new header file threadqimpl.h. The threadq.h contains
now only the application visible API.
Delete tqdata.h.
|
|
|
|
|
|
This is the result of a sed script which converts all uses
of @{ into a consistent form.
|
|
The output of the modules.html is much improved. Most
filesystem and POSIX API related groups are properly nested.
Some formatting issues were addressed as were multiple
inconsistencies.
|
|
|
|
http://www.google-melange.com/gci/task/view/google/gci2012/7958218
|
|
http://www.google-melange.com/gci/task/view/google/gci2012/7988213
|
|
http://www.google-melange.com/gci/task/view/google/gci2012/7959229
|
|
http://www.google-melange.com/gci/task/view/google/gci2012/7987220
|
|
|
|
This file contains the parts of <rtems/posix/psignal.h> that are only
necessary for the POSIX API implementation.
|
|
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
* include/rtems/bspIo.h, include/rtems/concat.h,
include/rtems/endian.h, include/rtems/fs.h, include/rtems/irq.h,
include/rtems/pci.h, include/rtems/userenv.h,
libblock/include/rtems/flashdisk.h,
libblock/include/rtems/nvdisk-sram.h,
libblock/include/rtems/nvdisk.h, libcsupport/include/clockdrv.h,
libcsupport/include/console.h, libcsupport/include/iosupp.h,
libcsupport/include/spurious.h,
libcsupport/include/motorola/mc68230.h,
libcsupport/include/rtems/assoc.h, libcsupport/include/rtems/error.h,
libcsupport/include/rtems/framebuffer.h,
libcsupport/include/rtems/gxx_wrappers.h,
libcsupport/include/rtems/libcsupport.h,
libcsupport/include/rtems/libio_.h,
libcsupport/include/rtems/malloc.h,
libcsupport/include/rtems/termiostypes.h,
libcsupport/include/sys/statvfs.h, libcsupport/include/sys/termios.h,
libcsupport/include/sys/utsname.h, libcsupport/include/zilog/z8036.h,
libcsupport/include/zilog/z8530.h, libcsupport/include/zilog/z8536.h,
libfs/src/imfs/imfs.h, libfs/src/pipe/pipe.h,
libmisc/capture/capture-cli.h, libmisc/capture/capture.h,
libmisc/cpuuse/cpuuse.h, libmisc/devnull/devnull.h,
libmisc/devnull/devzero.h, libmisc/dumpbuf/dumpbuf.h,
libmisc/fb/fb.h, libmisc/fb/mw_uid.h, libmisc/mouse/mouse_parser.h,
libmisc/shell/shellconfig.h, libmisc/stringto/stringto.h,
libmisc/untar/untar.h, libnetworking/memory.h, posix/include/aio.h,
posix/include/mqueue.h, posix/include/semaphore.h,
posix/include/rtems/posix/aio_misc.h,
posix/include/rtems/posix/barrier.h,
posix/include/rtems/posix/cond.h, posix/include/rtems/posix/config.h,
posix/include/rtems/posix/key.h, posix/include/rtems/posix/mqueue.h,
posix/include/rtems/posix/mutex.h,
posix/include/rtems/posix/posixapi.h,
posix/include/rtems/posix/priority.h,
posix/include/rtems/posix/psignal.h,
posix/include/rtems/posix/pthread.h,
posix/include/rtems/posix/ptimer.h,
posix/include/rtems/posix/rwlock.h,
posix/include/rtems/posix/semaphore.h,
posix/include/rtems/posix/sigset.h,
posix/include/rtems/posix/spinlock.h,
posix/include/rtems/posix/threadsup.h,
posix/include/rtems/posix/time.h, posix/include/rtems/posix/timer.h,
posix/inline/rtems/posix/barrier.inl,
posix/inline/rtems/posix/cond.inl,
posix/inline/rtems/posix/mqueue.inl,
posix/inline/rtems/posix/mutex.inl,
posix/inline/rtems/posix/priority.inl,
posix/inline/rtems/posix/pthread.inl,
posix/inline/rtems/posix/rwlock.inl,
posix/inline/rtems/posix/semaphore.inl,
posix/inline/rtems/posix/spinlock.inl,
posix/inline/rtems/posix/timer.inl, rtems/mainpage.h,
rtems/include/rtems/rtems/barrier.h,
rtems/include/rtems/rtems/object.h,
rtems/include/rtems/rtems/timer.h,
rtems/inline/rtems/rtems/barrier.inl,
rtems/inline/rtems/rtems/timer.inl,
rtems/src/semtranslatereturncode.c, sapi/include/rtems/config.h,
sapi/include/rtems/fatal.h, sapi/include/rtems/mptables.h,
score/include/rtems/score/object.h,
score/include/rtems/score/priority.h,
score/inline/rtems/score/object.inl,
score/inline/rtems/score/priority.inl: Add @file Doxygen directives
and descriptions to files which originated with RTEMS. This improves
the file list page generated by Doxygen.
|
|
|
|
* posix/include/rtems/posix/psignal.h: Add extern for ualarm timer.
* posix/src/alarm.c, posix/src/ualarm.c: Change from switch to if since
many enumerated values have no action.
* posix/src/psignal.c: Initialize ualarm and alarm timers.
|
|
* posix/include/rtems/posix/psignal.h, posix/src/mqueuecreatesupp.c,
posix/src/psignalclearprocesssignals.c,
posix/src/psignalclearsignals.c: Minor rework to ease coverage
analysis.
|
|
* posix/include/rtems/posix/psignal.h,
rtems/inline/rtems/rtems/support.inl: Remove warnings.
|
|
* posix/include/rtems/posix/barrier.h,
posix/include/rtems/posix/cond.h, posix/include/rtems/posix/key.h,
posix/include/rtems/posix/mqueue.h,
posix/include/rtems/posix/mutex.h,
posix/include/rtems/posix/psignal.h,
posix/include/rtems/posix/pthread.h,
posix/include/rtems/posix/ptimer.h,
posix/include/rtems/posix/rwlock.h,
posix/include/rtems/posix/semaphore.h,
posix/include/rtems/posix/spinlock.h,
posix/include/rtems/posix/timer.h, posix/src/cond.c, posix/src/key.c,
posix/src/mqueue.c, posix/src/mutex.c, posix/src/pbarrier.c,
posix/src/prwlock.c, posix/src/psignal.c, posix/src/pspin.c,
posix/src/pthread.c, posix/src/pthreadinitthreads.c,
posix/src/ptimer.c, posix/src/semaphore.c, sapi/src/posixapi.c:
Convert POSIX manager initialization routines to directly pull
parameters from configuration table.
|
|
* posix/include/rtems/posix/psignal.h: Fix typo in converting method
from macro to static inline.
|
|
* posix/Makefile.am, posix/include/rtems/posix/psignal.h: Add stubs for
gettimer() and setitimer().
* posix/src/getitimer.c, posix/src/setitimer.c: New files.
|
|
|
|
reduce size of data area.
IMFS: Fixed creation of symbolic links to avoid a compiler warning.
DOSFS: Use LibBlock instead of read() to read the boot record.
|
|
* posix/preinstall.am, posix/include/aio.h, posix/include/devctl.h,
posix/include/mqueue.h, posix/include/sched.h,
posix/include/semaphore.h, posix/include/rtems/posix/cancel.h,
posix/include/rtems/posix/priority.h,
posix/include/rtems/posix/psignal.h,
posix/include/rtems/posix/threadsup.h,
posix/include/rtems/posix/timer.h,
posix/inline/rtems/posix/priority.inl,
posix/src/barrierattrdestroy.c, posix/src/barrierattrgetpshared.c,
posix/src/barrierattrinit.c, posix/src/barrierattrsetpshared.c,
posix/src/cancel.c, posix/src/cancelrun.c, posix/src/cleanuppop.c,
posix/src/cleanuppush.c, posix/src/cond.c,
posix/src/condattrdestroy.c, posix/src/condattrgetpshared.c,
posix/src/condattrinit.c, posix/src/condattrsetpshared.c,
posix/src/condbroadcast.c, posix/src/conddefaultattributes.c,
posix/src/conddestroy.c, posix/src/condinit.c,
posix/src/condsignal.c, posix/src/condsignalsupp.c,
posix/src/condwait.c, posix/src/condwaitsupp.c, posix/src/key.c,
posix/src/keycreate.c, posix/src/keydelete.c,
posix/src/keygetspecific.c, posix/src/keyrundestructors.c,
posix/src/keysetspecific.c, posix/src/mqueue.c,
posix/src/mqueueclose.c, posix/src/mqueuecreatesupp.c,
posix/src/mqueuedeletesupp.c, posix/src/mqueuegetattr.c,
posix/src/mqueuenametoid.c, posix/src/mqueuenotify.c,
posix/src/mqueueopen.c, posix/src/mqueuereceive.c,
posix/src/mqueuerecvsupp.c, posix/src/mqueuesend.c,
posix/src/mqueuesendsupp.c, posix/src/mqueuesetattr.c,
posix/src/mqueueunlink.c, posix/src/mutex.c,
posix/src/mutexattrdestroy.c, posix/src/mutexattrgetprioceiling.c,
posix/src/mutexattrgetprotocol.c, posix/src/mutexattrgetpshared.c,
posix/src/mutexattrinit.c, posix/src/mutexattrsetprioceiling.c,
posix/src/mutexattrsetprotocol.c, posix/src/mutexattrsetpshared.c,
posix/src/mutexdefaultattributes.c, posix/src/mutexdestroy.c,
posix/src/mutexgetprioceiling.c, posix/src/mutexlock.c,
posix/src/mutexlocksupp.c, posix/src/mutexsetprioceiling.c,
posix/src/mutextrylock.c, posix/src/mutexunlock.c,
posix/src/psignal.c, posix/src/psignalchecksignal.c,
posix/src/psignalclearprocesssignals.c,
posix/src/psignalclearsignals.c,
posix/src/psignalsetprocesssignals.c,
posix/src/psignalunblockthread.c, posix/src/ptimer.c,
posix/src/rwlockattrdestroy.c, posix/src/rwlockattrgetpshared.c,
posix/src/rwlockattrinit.c, posix/src/rwlockattrsetpshared.c,
posix/src/semaphore.c, posix/src/semaphoredeletesupp.c,
posix/src/semaphorenametoid.c, posix/src/semaphorewaitsupp.c,
posix/src/semclose.c, posix/src/semdestroy.c,
posix/src/semgetvalue.c, posix/src/seminit.c, posix/src/semopen.c,
posix/src/sempost.c, posix/src/semtrywait.c, posix/src/semunlink.c,
posix/src/semwait.c, posix/src/setcancelstate.c,
posix/src/setcanceltype.c, posix/src/sysconf.c,
posix/src/testcancel.c: Add missing copyright statements.
|
|
|
|
|
|
|
|
|
|
and _POSIX_signals_Set_process_signals was done twice.
|
|
> 5) rtems-rc-19990202-1.diff/reorg-install.sh
>
> reorg-install.sh fixes a Makefile variable name clash of RTEMS
> configuration files and automake/autoconf standards.
> Until now, RTEMS used $(INSTALL) for install-if-change. Automake and
> autoconf use $(INSTALL) for a bsd-compatible install. As
> install-if-change and bsd-install are not compatible, I renamed all
> references to install-if-changed to $(INSTALL_CHANGED) and used
> $(INSTALL) for bsd-install (==automake/autoconf standard). When
> automake will be introduced install-if-change will probably be replaced
> by $(INSTALL) and therefore will slowly vanish. For the moment, this
> patch fixes a very nasty problem which prevents adding any automake file
> until now (There are still more).
|
|
object code that has to be loaded just for initializing the signal
manager.
|
|
the system signals.h file.
Moved POSIX_signals_Siginfo_node type definition to this file to allow
confdefs.h to know the size per queued signal.
|