bir Simics module (bakınız bölüm 6) veri erişir getirir ve öğretim için dinlemek ve böylece enstrüman olarak çalışan bir çekirdek bu olayların tümü üzerinde geri aramalar çalıştırmak için Simics x86. aşağıdaki gibi Örneğin, ben bir Simics modülü oluşturabilirsiniz:Yaratma işlevi çağırır
/* 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);
}
Bunu yaparak, Simics her öğretim ve her veri erişimi üzerinde my_tool_entrypoint
arayacak; Çekirdeği çalmamı sağladığımda uygun gördüğüm gibi koşuyorum. Söylemeye gerek yok, bu çok güzel ve çok güçlü bir özellik.
Sorularım şunlardır:
- bir VMware ESXi (veya VMware Workstation) Hipervizör üzerinde çalışan programlar için kullanılabilir böyle bir özellik var mı? Eğer öyleyse, bu özellik için dokümantasyon nerede?
- ESXi'de yoksa, Xen gibi başka bir hipervizörde kullanılabilir mi? Ben (yönerge getirir ve bellek erişir üzerine VMware, Xen, Bochs vb Ben eğer mümkünse soruyorum üzerinde/nasıl bir geri arama çalışmasına/altında Simics nasıl çalıştırılacağı soran DEĞİL duyuyorum
Not böyle vb VMware, Xen, Bochs, QEMU,