qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] qemu: x86: report lapic version as 0x14 instead


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH] qemu: x86: report lapic version as 0x14 instead of 0x11
Date: Sun, 2 Mar 2014 18:02:55 +0200

On Sun, Mar 02, 2014 at 04:31:12PM +0200, Michael S. Tsirkin wrote:
> On Sun, Mar 02, 2014 at 09:56:50AM +0100, Paolo Bonzini wrote:
> > Il 02/03/2014 01:17, Gabriel L. Somlo ha scritto:
> > >Although, on KVM, it's simply hardcoded to 0x14 rather than exposing to
> > >the guest whatever the host CPU's apic version happens to be, or
> > >trying to match it to the CPU model:
> > >
> > >
> > >address@hidden kvm]$ grep -i version arch/x86/kvm/lapic.c
> > >...
> > >/* 14 is the version for Xeon and Pentium 8.4.8*/
> > >#define APIC_VERSION                    (0x14UL | ((APIC_LVT_NUM - 1) << 
> > >16))
> > >...
> > >
> > >
> > >I'd honestly prefer to stick to 0x14 (because it's simple :) )
> > 
> > I'd also prefer that, because I like having the same for KVM and
> > TCG, but I'm not sure it'd fly with others. :)
> > 
> > >but if you're sure that's a bad idea, how about the struct x86_def_t
> > >rather than qdev ?
> > >
> > >So far, only OS X seems to even care at all about the version...
> > 
> > Andreas, Michael, what do you think?
> > 
> > Paolo
> 
> I note that OSX is not the only one that cares,
> Linux does this:
> 
> static int modern_apic(void)
> {
>         /* AMD systems use old APIC versions, so check the CPU */
>         if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD &&
>             boot_cpu_data.x86 >= 0xf)
>                 return 1;
>         return lapic_get_version() >= 0x14;
> }
> 
> So I think this commit should include some documentation
> analysing the reasons that this is a safe change.

Also
arch/x86/include/asm/apicdef.h:#define          APIC_XAPIC(x) ((x) >= 0x14)




> In any case, we really should also use old lapic version for
> compat machine types.
> 
> -- 
> MST



reply via email to

[Prev in Thread] Current Thread [Next in Thread]