Re: [PATCH 1/4] stubs for xsavec support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2015-02-09 14:17, Paolo Bonzini wrote:
> 
> 
> On 06/02/2015 20:40, Jan Kiszka wrote:
>> On 2015-02-02 10:05, Paolo Bonzini wrote:
>>>
>>>
>>> On 02/02/2015 08:04, Jan Kiszka wrote:
>>>>>> +#if X86_FEATURE_XSAVEOPT < 10 * 32
>>>>>> +#undef X86_FEATURE_XSAVEOPT
>>>>>> +#endif
>>>>>> +#define X86_FEATURE_XSAVEOPT	(10*32+0) /* XSAVEOPT instruction */
>>>> This causes redefinition warnings if the condition is not met. Was the
>>>> plan to put the define before the #endif?
>>>
>>> The plan was to match the kernel's definition, which however has a space:
>>>
>>> #define X86_FEATURE_XSAVEOPT	(10*32+ 0)
>>>
>>> But putting the define before the #endif also works.
>>
>> Finally got my buildbot working again: There are some open issues, maybe
>> you can have a look at http://buildbot.kiszka.org/kvm-kmod/waterfall,
>> next branch. At least the 3.17 thing requires fixing but may require
>> more than a #define.
> 
> Why is APICv crippled in kvm-kmod even for newer kernels?

No idea. Maybe the patcher runs amok? I didn't look into details yet.

> 
> If all that's needed is "make it compile with 3.9 and earlier",
> you can do something like this:
> 
> diff --git a/sync b/sync
> index 3086b70..36bed39 100755
> --- a/sync
> +++ b/sync
> @@ -341,13 +341,18 @@ def hack_content(fname, data):
>          if line == '\tif (!cpu_has_vmx_apicv())':
>              w('#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)')
>              w(line)
> +            w('#else')
> +            w('if (1)')
>              line = '#endif'
>          if line == '#if IS_ENABLED(CONFIG_KVM)':
>              line = '#if 1'
> -        if line == '\t\tapic->send_IPI_mask(get_cpu_mask(vcpu->cpu),':
> -            line = '\t\t;'
> -        if line == '\t\t\t\tPOSTED_INTR_VECTOR);':
> -            line = ''
> +        if match(r'^\t+apic->send_IPI_mask\(get_cpu_mask\(vcpu->cpu\),$'):
> +            w('#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)')
> +	    w('\t\t;')
> +	    w('#else')
> +        if match(r'^\t+POSTED_INTR_VECTOR\);$'):
> +            w(line)
> +            line = '#endif'
>          if line == '\tif (!static_cpu_has_bug(X86_BUG_AMD_TLB_MMATCH))':
>              w('#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)')
>              w(line)

Tested already? If so, please provide it as patch. If not: I can run it
later through buildbot here.

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux