WDK memory mapping.
More...
#include <dxd_memory.h>
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
singleton dxd::map< scope_t, vm_t >
WDK memory mapping.
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
IOKit default mapping constructor.
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
dxd::map< scope_t, vm_t >::map |
( |
::IOMemoryDescriptor * |
iokit_memory_descriptor, |
|
|
size_t |
offset = 0 |
|
) |
| |
|
inline |
IOKit mapping constructor.
- Parameters
-
iokit_memory_descriptor | IOMemoryDescriptor to be mapped into the kernel address space |
offset | offset into memory descriptor to create mapping |
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
void dxd::map< scope_t, vm_t >::free |
( |
| ) |
|
|
inline |
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.
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
os_result dxd::map< scope_t, vm_t >::initialize |
( |
::IOMemoryDescriptor * |
iokit_memory_descriptor, |
|
|
size_t |
offset = 0 |
|
) |
| |
|
inline |
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).
- Parameters
-
iokit_memory_descriptor | IOMemoryDescriptor to be mapped into the kernel address space |
offset | offset into memory descriptor to create mapping |
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
dxd::map< scope_t, vm_t >::operator const ::IOMemoryMap * |
( |
| ) |
const |
|
inline |
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
dxd::map< scope_t, vm_t >::operator const vm_t * |
( |
| ) |
const |
|
inline |
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
dxd::map< scope_t, vm_t >::operator vm_t * |
( |
| ) |
const |
|
inline |
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
const vm_t* dxd::map< scope_t, vm_t >::operator-> |
( |
| ) |
const |
|
inline |
operator to use mapping like pointer
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
vm_t* dxd::map< scope_t, vm_t >::operator-> |
( |
| ) |
|
|
inline |
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
dxd::map< scope_t, vm_t >::operator::IOMemoryMap * |
( |
| ) |
|
|
inline |
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
size_t dxd::map< scope_t, vm_t >::size |
( |
| ) |
const |
|
inline |
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
vm_t* dxd::map< scope_t, vm_t >::_vm =nullptr |
|
protected |
kernel virtual address mapping
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
::IOMemoryMap* dxd::map< scope_t, vm_t >::iokit_memory_map =nullptr |
|
protected |
template<dx::scope scope_t = dx::kernel, typename vm_t = unsigned int>
The documentation for this singleton was generated from the following file: