ABI revisions
| Revision | Purpose | libevl release |
|---|---|---|
| 45 | - Add EVL_THRIOC_SUSPEND, EVL_THRIOC_RESUME operations. | r59 |
| 44 |
- Add support for CLOCK_MONOTONIC_RAW. - Allow for selecting test clock with 'latmus' driver. - Enable read(2)/write(2) I/O operations for all non-gated event monitors. - Remove ioctl(2) interface from random number generator device. - Refactor ioctl(2) interface to network devices. - Introduce [i]functl system call (POSIX prep). - Introduce support for process-owned element (POSIX prep). - Receive all timespecs by address (POSIX prep). |
r58 |
| 43 |
- Fix handling of file descriptor duplication. - Sanitize behavior of poll element upon closure of monitored file descriptors. - Fix handling of restartable syscalls. |
r56 |
| 42 |
- Recognize `MSG_DONTROUTE` in UDP. - Extend statistics to csum, rx and tx memory shortages |
r54 |
| 41 | Sanitize device activation, provide statistics | r53 |
| 40 | Align all UAPI headers on common naming scheme | r51 |
| 39 | Add setsockopt, getsockopt requests | r51 |
| 38 | Provide neighbour solicitation service | r51 |
| 37 | Allow for eBPF-based filtering on early RX path | r50 |
| 36 | Align on latest/final prctl() syscall form. | r49 |
| 35 | Add proxied polling operation. | r42 |
| 34 | Enable oob I/O interface on event mask. | r42 |
| 33 | Allow in-band threads to use event mask monitors (wait-any, unicast only). | r42 |
| 32 | Extend the ungated event monitor interface (conjunctive/disjunctive wait on event mask, broadcasting). | r42 |
| 31 | Send EVL_HMDIAG_LKDEPEND to the thread which switches in-band while owning mutexes (no more to the waiter(s) sleeping on such mutex(es)). | r41 |
| 30 | Introduce T_WOSO flag for enabling notification on schedule overrun. | r40 |
| 29 | Complete overhaul of the locking model to address basic ABBA issues in the mutex support code. This ABI release is marking a functional upgrade, not an interface change. | r39 |
| 28 | Report differentiated causes for interrupted wait on gated monitors from EVL_MONIOC_WAIT. | r37 |
| 27 | Handle prctl()-based syscall form. This enables Valgrind for EVL applications, while keeping backward compatibility for the legacy call form. | r28 |
| 26 | Add socket interface. | r21 |
| 25 | Add latmus request for measuring in-band response time to synthetic interrupt latency. | r21 |
| 24 | Add proxy read side. | r19 |
| 23 | Add the Observable element, and thread observability. | r17 |
| 22 | Add EVL_THRIOC_UNBLOCK, EVL_THRIOC_DEMOTE and EVL_THRIOC_YIELD, update EVL_THRIOC_*_MODE operations. | r16 |
| 21 | Introduce element visibility attribute | r15 |
| 20 | Add support for compat mode (32-bit exec over 64-bit kernel) | r12 |
| 19 | Make y2038 safe | r11 |
| 18 | Plan for supporting a range of ABI revisions | - |
| 17 | Replace SIGEVL_ACTION_HOME with RETUSER event | - |
| 16 | Add synchronous breakpoint support | - |
| 15 | Notify stax-related oob exclusion via SIGDEBUG_STAGE_LOCKED | - |
| 14 | Add stax test helpers to 'hectic' driver | - |
| 13 | Add stage exclusion lock mechanism | - |
| 12 | Add support for recursive gate monitor lock | - |
| 11 | Read count of timer expiries as a 64bit value | - |
| 10 | Track count of remote thread wakeups | - |
| 9 | Complete information returned by EVL_THRIOC_GET_STATE | - |
| 8 | Add query for CPU state | - |
| 7 | Drop time remainder return from EVL_CLKIOC_SLEEP | - |
| 6 | Enable fixed-size writes to proxy | - |
| 5 | Ensure latmus sends the ultimate bulk of results | - |
| 4 | Split per-thread debug mode flags | - |
| 3 | Add count of referrers to poll object shared state | - |
| 2 | Drop obsolete T_MOVED from thread status bits | - |
| 1 | Add protocol specifier to monitor element | - |
| 0 | Initial revision | - |
