|
From: | Alexander Graf |
Subject: | Re: [Qemu-devel] [PATCH 2/8] s390: autodetect map private |
Date: | Wed, 13 Jun 2012 12:54:14 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:10.0.3) Gecko/20120306 Thunderbird/10.0.3 |
On 06/13/2012 12:30 PM, Jan Kiszka wrote:
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)
Thinking about this a bit more, how about } else if (!kvm_arch_vmalloc(size, &new_block->host)) { <normal code> }Then the arch specific code could do the check and the implementation of vmalloc, but only has to return -1 if we don't need it and things still fall back to the generic code.
Alex
[Prev in Thread] | Current Thread | [Next in Thread] |