#
60edf683 |
|
18-Sep-2018 |
George Kulakowski <kulakowski@google.com> |
[bti] Use the common SoloDispatcher lock Test: CQ; clang locking analysis Change-Id: Ia5949904e1d328fc87c3a1539d21f02851c82c4e
|
#
36320886 |
|
19-Jul-2018 |
Corey Tabaka <eieio@google.com> |
[kernel] Dispatchers and most kernel objects lockdep instrumented. - Convert SoloDispatcher to a CRTP template type similar to PeerDispatcher. This makes the lock classes for different solo dispatchers distinct. - Instrument the locks for all dispatchers. - Instrument the locks for all kernel objects except those that lock the thread_lock. Bug: ZX-23 Test: k ut all and system/test/* pass + manual stress testing. Change-Id: I8106c04911e47ea15ccce8e7abd5fbd62adfa6fe
|
#
66c48779 |
|
04-Apr-2018 |
Todd Eisenberger <teisenbe@google.com> |
[syscalls][bti] Introduce zx_bti_release_quarantine This allows BTI holders to release quarantined PMTs. This will generally be done by a driver after the device is initialized and its DMA systems quiesced. ZX-1936 #comment Introduce quarantine syscall Change-Id: Ic6bf132381f994607d02d987e0302f3c9cf3265b
|
#
a3688d5b |
|
27-Mar-2018 |
Todd Eisenberger <teisenbe@google.com> |
[kernel][bti] Implement quarantine semantics If a PMT is closed without pmt_unpin being called on it, the memory will be moved to a quarantine list in the BTI. If the last handle to the BTI is closed, the contents of the quarantine will be leaked rather than released, to prevent stray DMA. Change-Id: Ic60623fd818e60c8b0679b07f1d36cf03874bb36
|
#
ea17ab2e |
|
27-Mar-2018 |
Todd Eisenberger <teisenbe@google.com> |
[syscalls][bti] Remove deprecated syscalls This removes zx_bti_unpin and the old form of zx_bti_pin. zx_bti_pin_new is now aliased to zx_bti_pin, with plans to remove the zx_bti_pin_new name. ZX-1936 #comment Remove old syscalls Change-Id: I1913eba02db4d0dae4eef45d987050069b2e867a
|
#
286261a3 |
|
14-Mar-2018 |
Todd Eisenberger <teisenbe@google.com> |
[syscalls][bti] Introduce Pinned Memory Tokens This introduces two system calls: 1) zx_bti_pin_new: This will replace zx_bti_pin (and be renamed to zx_bti_pin). It is identical to zx_bti_pin, except it additionally returns a handle to a new type of object, a Pinned Memory Token. When this object is destroyed using zx_pmt_unpin(), the memory pinned by zx_bti_pin_new() is unpinned. 2) zx_pmt_unpin: This will replace zx_bti_unpin. In the current implementation, it is no different than zx_handle_close. However, in a subsequent diff it will be used to create a quarantine for DMA targets in the event of driver process crash. ZX-1936 #comment Introduce the new syscalls Change-Id: I39d9bd8ce3582cd54b323246df286bba03a54a1c
|
#
f08644e3 |
|
14-Mar-2018 |
Todd Eisenberger <teisenbe@google.com> |
[object][bti] Fix error code for mismatched buffer size Was ZX_ERR_BUFFER_TOO_SMALL in one case and ZX_ERR_INVALID_ARGS in another, but the error is returned for too small and too large, so converge on ZX_ERR_INVALID_ARGS. Change-Id: Ic0684ab6884950433d3ba72807ae646bbb9a4506
|
#
b15ac85e |
|
27-Feb-2018 |
Todd Eisenberger <teisenbe@google.com> |
[syscalls][bti] Tweak the bti_pin interface - Change the |perms| field of bti_pin to |options|, to keep arg count down - Reorder args to match the more common ordering for options fields. - Remove the internal logic for special-casing contiguous buffers. - Remove the |actual_addrs_len| argument, and require exact length matches. - Provide separate definitions for the options, rather than reusing the VMAR flags - Introduce a COMPRESS option, which allows opting-in to smaller address lists. Change-Id: I8f561b11ef2844b10662802835f3e8616ae13f96
|
#
5f45d5a3 |
|
12-Sep-2017 |
Todd Eisenberger <teisenbe@google.com> |
[object][bti] Implement the BusTransactionInitiatorDispatcher ZX-693 Change-Id: I4b2cecde4bb689c8a68a9f0eb80a5fd23dd917e9
|