Am 30.01.2012 03:14, schrieb Anthony Liguori: > On 01/29/2012 07:25 AM, Andreas Färber wrote: >> +static TypeInfo cpu_type_info = { >> + .name = TYPE_CPU, >> + .parent = TYPE_OBJECT, >> + .instance_size = sizeof(CPU), > > > Probably want to do CPUState or something of that nature so that you can > use CPU() as a dynamic_cast macro.
Yeah, I stumbled upon that but didn't need it so far. CPUState is already taken by the old concept. In an earlier version I had used CPUCore (CPU_CORE()) but then I thought that doesn't sound right for HyperThreading (CPU -> cores -> threads). Since QEMU so far uses the term "CPU" for all of those I went with that. Any better suggestions? > BTW, if the class_size == parent.class_size you don't need to define or > specific the class. I'm sorry? You mean we don't need CPUClass yet because it doesn't add anything to ObjectClass yet? I was planning on having a reset function defined there, to be called in place of current aliased cpu_reset(). For that to work I am emptying cpu_arm_reset() step by step (cf. 9/7) until it can defer to: (*CPU_GET_CLASS(ENV_GET_OBJECT(env))->reset)(ENV_GET_OBJECT(env)); I've been thinking along the lines of: if something doesn't change at runtime then it goes into a class. Or did you mean something else? Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg