Memory Enumeration¶
API for enumerating memory blocks.
Functions
- 
struct metal_memory *
metal_get_memory_from_address(const uintptr_t address)¶ Get the memory block which services the given address.
Given a physical memory address, get a handle for the memory block to which that address is mapped.
- Return
 The memory block handle, or NULL if the address is not mapped to a memory block
- Parameters
 address: The address to query
- 
__inline__ uintptr_t 
metal_memory_get_base_address(const struct metal_memory *memory)¶ Get the base address for a memory block.
- Return
 The base address of the memory block
- Parameters
 memory: The handle for the memory block
- 
__inline__ size_t 
metal_memory_get_size(const struct metal_memory *memory)¶ Get the size of a memory block.
- Return
 The size of the memory block
- Parameters
 memory: The handle for the memory block
- 
__inline__ int 
metal_memory_supports_atomics(const struct metal_memory *memory)¶ Query if a memory block supports atomic operations.
- Return
 nonzero if the memory block supports atomic operations
- Parameters
 memory: The handle for the memory block
- 
__inline__ int 
metal_memory_is_cachable(const struct metal_memory *memory)¶ Query if a memory block is cacheable.
- Return
 nonzero if the memory block is cachable
- Parameters
 memory: The handle for the memory block
- 
struct 
metal_memory¶ - #include <memory.h>
A handle for a memory block.