1 /* 2 * Copyright © 2022 Collabora Ltd. 3 * SPDX-License-Identifier: MIT 4 */ 5 #ifndef MME_SIM_H 6 #define MME_SIM_H 7 8 #include "nv_device_info.h" 9 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 14 struct mme_sim_state_ops { 15 uint32_t (*load)(void *handler); 16 uint32_t (*state)(void *handler, uint16_t addr); 17 void (*mthd)(void *handler, uint16_t addr, uint32_t data); 18 void (*barrier)(void *handler); 19 uint32_t *(*map_dram)(void *handler, uint32_t idx); 20 }; 21 22 void mme_sim_core(const struct nv_device_info *devinfo, 23 size_t macro_size, const void *macro, 24 const struct mme_sim_state_ops *state_ops, 25 void *state_handler); 26 27 #ifdef __cplusplus 28 } 29 #endif 30 31 #endif /* MME_SIM_H */ 32