Esempio n. 1
0
static inline int
cpuid(conf_object_t *cpu)
{
    attr_value_t attr;

    attr = SIM_get_attribute(cpu, "cpuid_physical_apic_id");
    return (int)attr.u.integer;
}
Esempio n. 2
0
static inline uint64_t
eip(conf_object_t *cpu)
{
    attr_value_t attr;

    attr = SIM_get_attribute(cpu, "eip");
    return (uint64_t)attr.u.integer;
}
Esempio n. 3
0
conf_object_t *get_symtable()
{
	conf_object_t *cell0_context = SIM_get_object("cell0_context");
	if (cell0_context == NULL) {
		lsprintf(ALWAYS, "WARNING: couldn't get cell0_context\n");
		return NULL;
	}
	attr_value_t table = SIM_get_attribute(cell0_context, "symtable");
	if (!SIM_attr_is_object(table)) {
		SIM_free_attribute(table);
		// ugh, wtf simics
		table = SIM_get_attribute(cell0_context, "symtable");
		if (!SIM_attr_is_object(table)) {
			SIM_free_attribute(table);
			lsprintf(ALWAYS, "WARNING: cell0_context.symtable not an obj\n");
			assert(0);
			return NULL;
		}
	}
	conf_object_t *symtable = SIM_attr_object(table);
	SIM_free_attribute(table);
	return symtable;
}