vmp interface is used to control enabling of VMP and VMP
features from a user perspective. Models should use
x86_vmp_control for potential blocking of VMP.
This is an internal interface between VMP and the Simics Base package, and it may change at any time without notice.
SIM_INTERFACE(vmp) {
bool (*class_has_support)(conf_object_t *obj);
bool (*host_support)(conf_object_t *obj);
bool (*compatible_config)(conf_object_t *obj);
bool (*enable)(conf_object_t *obj);
void (*disable)(conf_object_t *obj);
bool (*enabled)(conf_object_t *obj);
void (*set_threshold)(conf_object_t *obj, int threshold);
bool (*get_feature)(conf_object_t *obj, vmp_feature_t feature);
bool (*set_feature)(conf_object_t *obj, vmp_feature_t feature, bool val);
uint64 (*get_info)(conf_object_t *obj, vmp_info_t info);
};
#define VMP_INTERFACE "vmp"