में डेटा एक्सेस पर जेनरेटिंग फ़ंक्शन कॉल मैं वर्तमान में Simics module (अध्याय 6 देखें) को निर्देश प्राप्त करने और डेटा एक्सेस सुनने के लिए उपयोग कर रहा हूं, और उन सभी घटनाओं पर कॉलबैक चलाता हूं ताकि एक कर्नेल जो चल रहा है सिमिक्स x86। उदाहरण के लिए, मैं एक Simics मॉड्यूल इस प्रकार बना सकते हैं:वीएमवेयर ESXi
/* Initialize our Simics module. */
void init_local(void)
{
const class_data_t funcs = {
.new_instance = ls_new_instance,
.class_desc = "desc",
.description = "A simics module."
};
/* Register the empty device class. */
conf_class_t *conf_class = SIM_register_class(SIM_MODULE_NAME, &funcs);
/* Register our class class as a trace consumer. */
static const trace_consume_interface_t trace_int = {
.consume = (void (*)(conf_object_t *, trace_entry_t *))my_tool_entrypoint
};
SIM_register_interface(conf_class, TRACE_CONSUME_INTERFACE, &trace_int);
}
ऐसा करने से, Simics my_tool_entrypoint
हर अनुदेश और हर डेटा का उपयोग पर फोन करेगा; मैं कर्नेल को उपकरण देने की इजाजत देता हूं क्योंकि मैं फिट बैठता हूं। कहने की जरूरत नहीं है यह एक बहुत ही शांत और बहुत शक्तिशाली विशेषता है।
मेरे प्रश्न हैं:
- एक ऐसी विशेषता एक VMware ESXi (या VMware कार्य केंद्र) सूत्र पर चल रहे कार्यक्रमों के लिए उपलब्ध है? यदि हां, तो उस सुविधा के लिए प्रलेखन कहां है?
- यदि यह ESXi पर उपलब्ध नहीं है, तो यह ज़ेन जैसे किसी भी अन्य हाइपरवाइजर पर उपलब्ध है?
ध्यान दें कि मैं कर रहा हूँ नहीं VMware, एक्सईएन, Bochs, आदि मैं अगर यह संभव है पूछ रहा हूँ से अधिक/कैसे एक कॉलबैक चलाने के लिए/अनुदेश को हासिल करेगा और स्मृति तक पहुँचता है पर के तहत Simics को चलाने के लिए कैसे (के रूप में पूछ रहा मैंने सिमिक्स के साथ संभव था) वीएमवेयर, ज़ेन, बोच, क्यूमु, आदि जैसे किसी अन्य प्लेटफ़ॉर्म पर