|
dxd - dynax driver framework 3.0.0d222
cross platform open source driver development framework
|
the ring one stream streams through, sized by the opening client More...
#include <dxd_stream_device.h>
Public Member Functions | |
| return_t | each (exec_t exec) |
| void | free () |
| void | free () |
| kernel map free | |
| os_result | initialize (::IOMemoryDescriptor *iokit_memory_descriptor) |
| IOKit memory initializer. | |
| os_result | initialize (::IOMemoryDescriptor *iokit_memory_descriptor, size_t offset, size_t size) |
| IOKit memory initializer. | |
| os_result | initialize (const void *data, size_t size) |
| IOKit memory initializer from kernel virtual addresses. | |
| os_result | initialize (const void *data, size_t size) |
| IOKit memory initializer. | |
| os_result | initialize (const::MDL *mdl) |
| os_result | initialize (const::MDL *mdl, size_t offset, size_t size) |
| os_result | initialize (size_t size, unsigned int limit=64, unsigned int alignment=0, bool contigous=false) |
| IOKit buffer initializer. | |
| os_result | initialize (void *data, size_t size) |
| IOKit memory initializer from kernel virtual addresses. | |
| os_result | initialize (void *data, size_t size) |
| IOKit memory initializer. | |
| os_result | initialize (::IOMemoryDescriptor *iokit_memory_descriptor, size_t offset=0) |
| IOKit kernel map initializer. | |
| operator const dx::circular * () const | |
| operator const::IOMemoryDescriptor * () const | |
| IOKit IOMemoryDescriptor* implicit cast. | |
| operator const::IOMemoryDescriptor * () const | |
| IOKit IOMemoryDescriptor* implicit cast. | |
| operator const::IOMemoryMap * () const | |
| operator dx::circular * () const | |
| operator uint64_t () const | |
| IOKit physical address (only relevant for contigous memory). | |
| operator uint64_t () const | |
| IOKit physical address (only relevant for contigous memory). | |
| const dx::circular * | operator-> () const |
| operator to use mapping like pointer | |
| operator::IOMemoryDescriptor * () | |
| operator::IOMemoryDescriptor * () | |
| operator::IOMemoryMap * () | |
| operator::MDL * () const | |
| operator::MDL * () const | |
| doubly::linked::abstract::event * | pop (doubly::linked::abstract::event *item) |
| remove participating event, acquirable up to DISPATCH_LEVEL | |
| doubly::linked::abstract::event * | pop () |
| pop item from head | |
| list & | print () |
| doubly::linked::abstract::event * | push (doubly::linked::abstract::event *item) |
| push participating event, acquirable up to DISPATCH_LEVEL | |
| item_t * | push (item_t *item) |
| push item to head | |
| template<typename reference_t> | |
| int | release (reference_t &reference) |
| void | retain () |
| ring (class device &device, unsigned int idx, size_t size) | |
| os_result | signal () |
| size_t | size () const |
| IOKit memory size. | |
| size_t | size () const |
| IOKit memory size. | |
| size_t | size () const |
| kernel mapping size | |
Public Attributes | |
| promoted< dx::stream::format, server > | format |
| atomic< int > | references {} |
| os_result | status |
| IOKit memory status. | |
| os_result | status |
| IOKit memory status. | |
| os_result | status |
| status of mapping object | |
| os_result | status =not_initialized |
Protected Member Functions | |
| void | __lock () |
| void | __lock () |
| bool | __trylock () |
| void | __unlock () |
| void | __unlock () |
| operator const::KSPIN_LOCK & () const | |
| operator const::KSPIN_LOCK * () const | |
| operator::KSPIN_LOCK & () | |
| operator::KSPIN_LOCK * () | |
Protected Attributes | |
| dx::circular * | _vm |
| kernel virtual address mapping | |
| ::IOMemoryMap * | iokit_memory_map |
the ring one stream streams through, sized by the opening client
Every pin of that stream is an endpoint on this one ring: two of them make the loopback the interconnection device is. Its start/stop are the ring's own: the clock domain is counted by started, which every participant - WaveRT stream or control client - raises itself. It carries the format its participants agreed on: hardware dictates where it exists, a streaming participant keeps what runs so nobody drops out, and once the domain stopped the wider container wins.
|
inline |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
kernel map free
Checks if kernel mapping already exists and
does not call unmap(): IOMemoryMap instances will unmap themselves upon free, ie. when the last client with a reference calls release. unmap() forces the IOMemoryMap to destroy the mapping it represents, regardless of the number of clients. releases the map object.
|
inlineinherited |
IOKit memory initializer.
|
inlineinherited |
IOKit memory initializer.
|
inherited |
IOKit memory initializer from kernel virtual addresses.
Allows re-initialization.
Creates OS memory descriptor from kernel space data,size and
wires it down and synchronizes it.
| data | virtual read only kernel base address of range to create memory descriptor from |
| size | size of range to create memory descriptor from |
|
inherited |
IOKit memory initializer.
| data | virtual base address of range to create memory descriptor from |
| size | size of range to create memory descriptor from |
|
inlineinherited |
in contrast to an IOKit MemoryDescriptor MDLs do not support reference counting. take care when creating a dxd::memory from a dxd::buffer: although the dxd::memory holds an MDL to the buffer the buffer itself is not retained after the dxd::buffer is released!
|
inlineinherited |
|
inlineinherited |
IOKit buffer initializer.
Allows re-initialization.
Creates a buffer and associated memory descriptor.
Wires down the backing store memory.
| size | size to be alloced by buffer object |
| limit | limit physical memory address space |
| alignment | enforce physical memory alignment |
| contigous | enforce contiguos physical memory |
|
inherited |
IOKit memory initializer from kernel virtual addresses.
Allows re-initialization.
Creates OS memory descriptor from kernel space data,size and
wires it down and synchronizes it.
| data | virtual kernel base address of range to create memory descriptor from |
| size | size of range to create memory descriptor from |
|
inherited |
IOKit memory initializer.
| data | virtual base address of range to create memory descriptor from |
| size | size of range to create memory descriptor from |
|
inlineinherited |
IOKit kernel map initializer.
map<kernel> maps an IOMemoryDescriptor (typically cast of a dxd::memory or buffer class) into the kernel address space.
https://developer.apple.com/library/content/qa/qa1197/_index.html
Allows re-initialization.
Checks buffer object,
maps the buffer into the kernel (will fail if offset is given)
and obtains a kernel virtual address (apply offset here instead).
| iokit_memory_descriptor | IOMemoryDescriptor to be mapped into the kernel address space |
| offset | offset into memory descriptor to create mapping |
|
inlineinherited |
|
inlineinherited |
IOKit IOMemoryDescriptor* implicit cast.
|
inlineinherited |
IOKit IOMemoryDescriptor* implicit cast.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
IOKit physical address (only relevant for contigous memory).
|
inlineinherited |
IOKit physical address (only relevant for contigous memory).
|
inlineinherited |
operator to use mapping like pointer
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
remove participating event, acquirable up to DISPATCH_LEVEL
|
inlineinherited |
pop item from head
|
inlineinherited |
|
inlineinherited |
push participating event, acquirable up to DISPATCH_LEVEL
|
inlineinherited |
push item to head
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
IOKit memory size.
|
inlineinherited |
IOKit memory size.
|
inlineinherited |
kernel mapping size
|
protectedinherited |
kernel virtual address mapping
| promoted<dx::stream::format, server> dxd::streaming::device< base_t, desc_t, clock_server_t >::ring::format |
|
protectedinherited |
|
inherited |
|
inherited |
IOKit memory status.
status of memory object
|
inherited |
IOKit memory status.
status of memory object
|
inherited |
status of mapping object
|
inherited |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |