Am 24.11.2010 12:00, Alexander Graf wrote:
>>>> According to to the Intel IA-32 Software Developers Manual Vol 3 page
>>>> 290, the version should be 0x14 Pentium 4/Xeon CPUs anyway.
>>>>
>>>> Signed-off-by: Andrew de Quincey <a...@lidskialf.net>
>>>>
>>>> diff --git a/hw/apic.c b/hw/apic.c
>>>> index 5f4a87c..20304e0 100644
>>>> --- a/hw/apic.c
>>>> +++ b/hw/apic.c
>>>> @@ -704,7 +704,7 @@ static uint32_t apic_mem_readl(void *opaque,
>>>> target_phys_addr_t addr)
>>>>         val = s->id << 24;
>>>>         break;
>>>>     case 0x03: /* version */
>>>> -        val = 0x11 | ((APIC_LVT_NB - 1) << 16); /* version 0x11 */
>>>> +        val = 0x14 | ((APIC_LVT_NB - 1) << 16); /* version 0x14 */
>>>
>>> What exactly changed between the versions? Did new registers get introduced 
>>> or subtle behavior change? Is there some proper documentation on the 
>>> changed between the apic versions?
>>
>> I've been trying to find out; I'm still searching intel's docs to find
>> an 0x11 version to compare with :(
> 
> Please try very hard. I haven't found anything myself either yet, but without 
> a spec it's hard to justify these changes upstream :(.
> 
>> The failure mode is that mac os X SL whines about the APIC being an
>> unexpected version (0x11) and it wants 0x14 as a minimum.
> 
> Yup, I remember that issue. To really make this all useful, we also need to 
> change the numbers in KVM though.

Also, the version has to be set depending on the emulated CPU (even more
when there will be emulation differences).

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

Reply via email to