On 2012-06-12 14:12, Alexander Graf wrote:
> On 06/12/2012 02:02 PM, Christian Borntraeger wrote:
>> On 12/06/12 13:57, Alexander Graf wrote:
>>> Since it lives in an s390 specific branch, the function name should 
>>> probably be called s390 specific. If we ever need another architecture to 
>>> have a kvm specific ram allocator, we can make it generic when that time 
>>> comes. Until then, let's treat s390 as the oddball it is :).
>>>
>>> Apart from that, this approach looks a lot nicer, yes.
>> But then I have to have a *s390* function declared in kvm.h and your other 
>> comment
>> hits me. You got me in a trap here, heh? ;-)
> 
> Ah, I see what you mean. I was thinking of having a 
> target-s390x/kvm_s390x.h or so. Then we could add the function 
> definition there and have everything nicely contained within 
> target-s390x only.
> 
> Jan, which approach would you think is cleaner? Make this a generic 
> kvm_arch callback or introduce a special kvm_s390x.h header which would 
> then have to be explicitly included in exec.c?

Maybe somethings like

#ifdef __s390__
    else if (kvm_enabled())
        new_block->host = kvm_arch_vmalloc(size)
#endif

? But I have no definitive opinion yet. I think that

 - the changes to generic code should make clear that it's an s390+kvm
   specialty
 - actual work should be done in target-s390/kvm.c (e.g. avoid
   legacy_s390_alloc)

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

Reply via email to