virtual_instruction_breakpoint x86_monitor_notification
API Reference Manual  /  5 Model-to-Simulator Interfaces  / 

x86_monitor

Description
This interface is meant to be implemented by an uncore device to support implementation of MONITOR/MWAIT instruction pair. A listener (e.g. a cpu) uses this interface to setup monitored write-back memory range. All listeners subscribed to a particular write-back memory range will be notified via x86_monitor_notification_interface when a memory write transaction hits the monitored memory range.

This interface is internal and may change without notice.

The arm method is to subscribe for notifications about writes to a write-back memory range starting from start_address up to start_address + length - 1 , returns true on success. The disarm unsubscribes listener, so the latter won't be notified about writes to a monitored memory range, returns true on success.

SIM_INTERFACE(x86_monitor) {
    bool (*arm)(conf_object_t *obj, conf_object_t *listener,
                physical_address_t start_address, physical_address_t length);
    bool (*disarm)(conf_object_t *obj, conf_object_t *listener);
};

#define X86_MONITOR_INTERFACE "x86_monitor"

Execution Context
Cell Context for all methods.

virtual_instruction_breakpoint x86_monitor_notification