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