Re: [RFC/PATCH 14/15] guest: detect when running on kvm

Carsten Otte
2008-03-20T17:27:53Z

Randy Dunlap wrote:
>> Index: kvm/arch/s390/kernel/early.c
>> ===================================================================
>> --- kvm.orig/arch/s390/kernel/early.c
>> +++ kvm/arch/s390/kernel/early.c
>> @@ -143,6 +143,10 @@ static noinline __init void detect_machi
>> /* Running on a P/390 ? */
>> if (cpuinfo->cpu_id.machine == 0x7490)
>> machine_flags |= 4;
>> +
>> + /* Running under KVM ? */
>> + if (cpuinfo->cpu_id.version == 0xfe)
>
> Hi,
>
> Where are these magic numbers documented? (0x7490, 0xfe, etc.)
>
>
>> + machine_flags |= 64;
>> }
>>
>> #ifdef CONFIG_64BIT
The cpuid (and most other things about s390 arch) are documented in
the principles of operation:
http://publibz.boulder.ibm.com/epubs/pdf/a2278324.pdf
http://publibz.boulder.ibm.com/epubs/pdf/dz9zs001.pdf

(see chapter "control instructions" - store cpu id)

The 0xfe however is convention, the kvm arch code sets this value
where it implements that instruction. See "privileged instructions" patch.