This interface is internal and may change without notice.
The unplug_core method is to disable an operating core with all threads on it. The replug_core method is to enable a core previously unplugged with all threads on it. The disable_core_ht method is to disable HT in the core (not the package). The enable_core_ht method is to enable HT in the core (not the package). The core_is_plugged method returns true if core is plugged. The core_ht_is_enabled method returns true if HT is enabled in the core (not the package). The set_alive_logical_processors method updates number of alive processors reported through CPUID. The get_alive_logical_processors method returns number of alive processors reported through CPUID.
Values returned from enable and disable methods indicate success (1) or failure (0).
SIM_INTERFACE(x86_unplug_v2) { int (*unplug_core)(conf_object_t *obj); int (*replug_core)(conf_object_t *obj); int (*disable_core_ht)(conf_object_t *obj); int (*enable_core_ht)(conf_object_t *obj); bool (*core_is_plugged)(conf_object_t *obj); bool (*core_ht_is_enabled)(conf_object_t *obj); void (*set_alive_logical_processors)(conf_object_t *obj, int count); int (*get_alive_logical_processors)(conf_object_t *obj); }; #define X86_UNPLUG_V2_INTERFACE "x86_unplug_v2"