On 14/06/2017 13:18, Thomas Huth wrote: > On 08.06.2017 16:18, Thomas Huth wrote: >> There does not seem to be any target specific code in these files, so >> we can put them into "common-obj" instead of "obj" to compile them only >> once for all targets. > > Self-NACK: balloon.c uses kvm_enabled() which in turn depends on > CONFIG_KVM ... and that flag is target-specific, so balloon.o can not be > moved to common-obj right now. > > We should poison CONFIG_KVM for common code ... I'll have a look into > that...
No, your patch is okay. #if defined CONFIG_KVM || !defined NEED_CPU_H #define kvm_enabled() (kvm_allowed) ... #else #define kvm_enabled() (0) In other words, kvm_enabled() forces itself to be 0 only in per-target files. This is done mostly to limit the number of required stubs: target-independent APIs can be called from compile-once files and must be stubbed; target-specific APIs can only be called from per-target files, and their calls are culled by the compiler if !CONFIG_KVM. Paolo