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.