예제 #1
0
파일: uart-sampler.c 프로젝트: uart/sampler
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;
}
예제 #2
0
파일: uart-sampler.c 프로젝트: uart/sampler
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;
}
예제 #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;
}