Re: [Qemu-devel] [PATCH 11/12] kvm: x86: Pass KVMState to kvm_arch_get_supported_cpuid

Eduardo Habkost
2011-06-09T18:08:40Z

On Thu, Jun 09, 2011 at 07:41:03PM +0200, Jan Kiszka wrote:
<snip>
> > I'm wondering if it wouldn't be simpler to keep the existing interface
> > but just initialize CPUState->kvm_state earlier (today it is initialized
> > only on kvm_init_vcpu(), although the kvm_state global is initialized
> > much earlier).
>
> If there was more need for a slit up, I would agree. But I do not see it.

I guess it won't hurt to make the functions require only what they
really need.

> >
> > Even with this new KVMState-based interface, code that needs to use
> > these functions before kvm_init_vcpu() (e.g.
> > check_features_against_host()) will have to use the 'kvm_state' global
> > (and I would like to avoid that).
>
> That is a different topic that needs to be resolved for other use cases
> as well (e.g. for kvm devices). In many cases you should be able to find
> a way to pass kvm_state from functions that already holds a reference.
> Is that not true for your use case?

My use case is cpu_x86_register()/check_features_against_host(), that
hold only a CPUState reference, and I wouldn't like to add a new
reference to the kvm_state global variable there.

--
Eduardo