Re: [Qemu-devel] [PATCH v5 11/17] target-s390x: Add KVM VM attribute interface for S390 CPU models

Christian Borntraeger
2015-04-27T10:52:54Z

Am 27.04.2015 um 11:43 schrieb Michael Mueller:
> On Mon, 27 Apr 2015 10:15:47 +0200
> Christian Borntraeger <borntraeger@de.ibm.com> wrote:
>
>> Am 13.04.2015 um 15:56 schrieb Michael Mueller:
>> [...]
>>> +static int cpu_model_get(KVMState *s, uint64_t attr, uint64_t addr)
>>> +{
>>> + int rc = -ENOSYS;
>>> + struct kvm_device_attr dev_attr = {
>>> + .group = KVM_S390_VM_CPU_MODEL,
>>> + .attr = attr,
>>> + .addr = addr,
>>
>> Would it make sense to do the cast here....
>
> cpu_model_get/set() is used to handle both attributes,
> KVM_S390_VM_CPU_MACHINE and KVM_S390_VM_CPU_PROCESSOR.
> Both require a different type in the signature, (S390ProcessorProps*)
> and (S390MachineProps*). Adding both as parameters seems to be odd
> and would require additionally logic in the function.
> Thus I think doing the cast outside is just the right thing to do.

So what about a void pointer then as parameter?
I prefer a pointer for qemu process memory over uint64_t as part of the
function interface. This makes it somewhat clearer that this is an
address within QEMU. Both ways will certainly work, though.

Conny, I guess you will pick up the patches. Any preference?

Christian