direct_memory_flush
interface is implemented by objects
that model memory, such as RAM and ROM objects, and is used for flushing
granted rights and for managing access rights.
The revoke method revokes granted access, permissions and inhibit rights from memory-user regions intersecting [base, base + size).
The set_access_bits method grants access rights access for the region [base, base + size) to the memory user requester. If requester is NULL, then access rights are granted to all memory users. If the set succeeds, true is returned, otherwise false.
SIM_INTERFACE(direct_memory_flush) { void (*revoke)(conf_object_t *NOTNULL obj, uint64 base, uint64 size, access_t access, access_t perm, access_t inhibit); bool (*set_access_bits)(conf_object_t *NOTNULL obj, conf_object_t *requester, uint64 base, uint64 size, access_t access); }; #define DIRECT_MEMORY_FLUSH_INTERFACE "direct_memory_flush"