On 12/9/23 16:07, Paolo Bonzini wrote:
> On 9/11/23 23:13, Philippe Mathieu-Daudé wrote:
>> Too many system-specific code (and in particular KVM related)
>> is pulled in user-only build. This led to adding unjustified
>> stubs as kludge to unagressive linker non-optimizations.
>>
>> This series restrict x86 system-specific features to sysemu,
>> so we don't require any stub, and remove all x86 KVM declarations
>> from user emulation code (to trigger compile failure instead of
>> link one).
>>
>> Philippe Mathieu-Daudé (3):
>> target/i386: Check kvm_hyperv_expand_features() return value
>> RFC target/i386: Restrict system-specific features from user emulation
>> target/i386: Prohibit target specific KVM prototypes on user emulation
>
> At least, patch 2 should be changed so that the #ifdef'ery is done at a
> higher level.
I can try to improve it with your comments, but I have no idea of
x86 CPU features.
> However, the dependency of user-mode emulation on KVM is really an
> implementation detail of QEMU. It's very much baked into linux-user and
> hard to remove, but I'm not sure it's a good idea to add more #ifdef
> CONFIG_USER_ONLY around KVM code.
Do you rather v3 then?
https://lore.kernel.org/qemu-devel/20230911142729.25548-1-philmd@linaro.org/