x86_unplug 6 Simulator API
API Reference Manual  /  5 Model-to-Simulator Interfaces  / 

x86_unplug_v2

Description
The methods of the interface are intended to be used by a platform to unplug (and optionally re-plug) CPU cores/threads, effectively hiding them from the #RESET/INIT signals.

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"

Execution Context
Cell Context for all methods.

x86_unplug 6 Simulator API