jhb 57c03363c8 Decode kevent structures logged via ktrace(2) in kdump.
- Add a new KTR_STRUCT_ARRAY ktrace record type which dumps an array of
  structures.

  The structure name in the record payload is preceded by a size_t
  containing the size of the individual structures.  Use this to
  replace the previous code that dumped the kevent arrays dumped for
  kevent().  kdump is now able to decode the kevent structures rather
  than dumping their contents via a hexdump.

  One change from before is that the 'changes' and 'events' arrays are
  not marked with separate 'read' and 'write' annotations in kdump
  output.  Instead, the first array is the 'changes' array, and the
  second array (only present if kevent doesn't fail with an error) is
  the 'events' array.  For kevent(), empty arrays are denoted by an
  entry with an array containing zero entries rather than no record.

- Move kevent decoding tables from truss to libsysdecode.

  This adds three new functions to decode members of struct kevent:
  sysdecode_kevent_filter, sysdecode_kevent_flags, and
  sysdecode_kevent_fflags.

  kdump uses these helper functions to pretty-print kevent fields.

- Move structure definitions for freebsd11 and freebsd32 kevent
  structures to <sys/event.h> so that they can be shared with userland.
  The 32-bit structures are only exposed if _WANT_KEVENT32 is defined.
  The freebsd11 structures are only exposed if _WANT_FREEBSD11_KEVENT is
  defined.  The 32-bit freebsd11 structure requires both.

- Decode freebsd11 kevent structures in truss for the compat11.kevent()
  system call.

- Log 32-bit kevent structures via ktrace for 32-bit compat kevent()
  system calls.

- While here, constify the 'void *data' argument to ktrstruct().

Reviewed by:	kib (earlier version)
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D12470
2018-08-08 08:15:17 +02:00
2018-06-28 15:02:12 +02:00
2018-01-25 08:45:26 +01:00
2018-08-03 14:14:19 +02:00
2013-05-27 14:47:20 +02:00
2018-07-06 10:06:02 +02:00
2013-06-18 13:38:31 +02:00
2012-10-09 19:26:51 +02:00
2013-09-19 13:16:06 +02:00
2013-05-27 14:47:20 +02:00
2013-05-27 14:47:20 +02:00
2018-04-11 11:49:03 +10:00
2018-05-14 15:22:52 -05:00

Real-Time Executive for Multiprocessing Systems (RTEMS)
-------------------------------------------------------

RTEMS, Real-Time Executive for Multiprocessor Systems, is a real-time executive
(kernel) which provides a high performance environment for embedded
applications with the following features:

 - standards based user interfaces
 - multitasking capabilities
 - homogeneous and heterogeneous multiprocessor systems
 - event-driven, priority-based, preemptive scheduling
 - optional rate monotonic scheduling
 - intertask communication and synchronization
 - priority inheritance
 - responsive interrupt management
 - dynamic memory allocation
 - high level of user configurability
 - open source with a friendly user license

Project git repositories are located at https://git.rtems.org/

 RTEMS Kernel: https  : https://git.rtems.org/rtems/
 RTEMS Source Builder : https://git.rtems.org/rtems-source-builder/
 RTEMS Tools          : https://git.rtems.org/rtems-tools/
 RTEMS Documentation  : https://git.rtems.org/rtems-docs/
 RTEMS FreeBSD        : https://git.rtems.org/rtems-libbsd/

Online documentation is available at https://docs.rtems.org/

 RTEMS User Manual : https://docs.rtems.org/branches/master/user/index.html
 RTEMS RSB Manual  : https://docs.rtems.org/branches/master/rsb/index.html
 RTEMS Classic API : https://docs.rtems.org/branches/master/c-user/index.html
 RTEMS POSIX API   : https://docs.rtems.org/branches/master/posix-users/index.html

RTEMS Doxygen for CPUKit : https://docs.rtems.org/doxygen/branches/master/

RTEMS POSIX 1003.1 Compliance Guide :
 https://docs.rtems.org/branches/master/posix-compliance/index.html

 - Details the standards base functionality and profiles RTEMS supportsXo

RTEMS Developers Wiki : http://devel.rtems.org

 - Bug reporting, community knowledge and tutorials.

RTEMS Mailing Lists : https://lists.rtems.org/mailman/listinfo

 - The RTEMS Project maintains mailing lists which are used for most
   discussions:

   * For general-purpose questions related to using RTEMS, use the rtems-users
     ml: https://lists.rtems.org/mailman/listinfo/users

   * For questions and discussion related to development of RTEMS, use the
     rtems-devel ml: https://lists.rtems.org/mailman/listinfo/devel

The version number for this software is indicated in the VERSION file.
Description
RTEMS is a ​real-time executive in use by embedded systems applications around the world and beyond
Readme 126 MiB
Languages
C 93.9%
Assembly 3.4%
Ada 1.4%
Python 0.3%
HTML 0.3%
Other 0.4%