diff mbox

[2/4] mips_malta: Change default KVM cpu to 24Kc (no FP)

Message ID 1403775865-25219-3-git-send-email-james.hogan@imgtec.com (mailing list archive)
State New, archived
Headers show

Commit Message

James Hogan June 26, 2014, 9:44 a.m. UTC
Change the default Malta CPU model for when KVM is enabled to 24Kc which
doesn't have floating point support compared to the 24Kf.

The resulting incorrect Config CP0 register value doesn't get passed to
KVM yet as KVM doesn't expose it, however we should ensure it is set
correctly now to reduce the risk of breaking migration/loadvm to a
future version of QEMU/Linux that does support them.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Aurelien Jarno <aurelien@aurel32.net>
Cc: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/mips/mips_malta.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Aurelien Jarno June 27, 2014, 8:43 a.m. UTC | #1
On Thu, Jun 26, 2014 at 10:44:23AM +0100, James Hogan wrote:
> Change the default Malta CPU model for when KVM is enabled to 24Kc which
> doesn't have floating point support compared to the 24Kf.
> 
> The resulting incorrect Config CP0 register value doesn't get passed to
> KVM yet as KVM doesn't expose it, however we should ensure it is set
> correctly now to reduce the risk of breaking migration/loadvm to a
> future version of QEMU/Linux that does support them.
> 
> Signed-off-by: James Hogan <james.hogan@imgtec.com>
> Cc: Aurelien Jarno <aurelien@aurel32.net>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  hw/mips/mips_malta.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
> index 2868ee5b0307..c0841991f4e9 100644
> --- a/hw/mips/mips_malta.c
> +++ b/hw/mips/mips_malta.c
> @@ -949,7 +949,12 @@ void mips_malta_init(MachineState *machine)
>  #ifdef TARGET_MIPS64
>          cpu_model = "20Kc";
>  #else
> -        cpu_model = "24Kf";
> +        if (kvm_enabled()) {
> +            /* Don't enable FPU on KVM yet */
> +            cpu_model = "24Kc";
> +        } else {
> +            cpu_model = "24Kf";
> +        }
>  #endif
>      }

Given the explanations in the other mails, that looks fine to me, that
said I think we should at least warn the user that we are disabling some
features, instead of doing it silently. This is what is done for example
on x86 when a CPU feature is not available.
Paolo Bonzini June 27, 2014, 11:33 a.m. UTC | #2
Il 27/06/2014 10:43, Aurelien Jarno ha scritto:
> On Thu, Jun 26, 2014 at 10:44:23AM +0100, James Hogan wrote:
>> Change the default Malta CPU model for when KVM is enabled to 24Kc which
>> doesn't have floating point support compared to the 24Kf.
>>
>> The resulting incorrect Config CP0 register value doesn't get passed to
>> KVM yet as KVM doesn't expose it, however we should ensure it is set
>> correctly now to reduce the risk of breaking migration/loadvm to a
>> future version of QEMU/Linux that does support them.
>>
>> Signed-off-by: James Hogan <james.hogan@imgtec.com>
>> Cc: Aurelien Jarno <aurelien@aurel32.net>
>> Cc: Paolo Bonzini <pbonzini@redhat.com>
>> ---
>>  hw/mips/mips_malta.c | 7 ++++++-
>>  1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
>> index 2868ee5b0307..c0841991f4e9 100644
>> --- a/hw/mips/mips_malta.c
>> +++ b/hw/mips/mips_malta.c
>> @@ -949,7 +949,12 @@ void mips_malta_init(MachineState *machine)
>>  #ifdef TARGET_MIPS64
>>          cpu_model = "20Kc";
>>  #else
>> -        cpu_model = "24Kf";
>> +        if (kvm_enabled()) {
>> +            /* Don't enable FPU on KVM yet */
>> +            cpu_model = "24Kc";
>> +        } else {
>> +            cpu_model = "24Kf";
>> +        }
>>  #endif
>>      }
>
> Given the explanations in the other mails, that looks fine to me, that
> said I think we should at least warn the user that we are disabling some
> features, instead of doing it silently. This is what is done for example
> on x86 when a CPU feature is not available.

I agree.  James, can you send v2 of this patch only?

Paolo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
index 2868ee5b0307..c0841991f4e9 100644
--- a/hw/mips/mips_malta.c
+++ b/hw/mips/mips_malta.c
@@ -949,7 +949,12 @@  void mips_malta_init(MachineState *machine)
 #ifdef TARGET_MIPS64
         cpu_model = "20Kc";
 #else
-        cpu_model = "24Kf";
+        if (kvm_enabled()) {
+            /* Don't enable FPU on KVM yet */
+            cpu_model = "24Kc";
+        } else {
+            cpu_model = "24Kf";
+        }
 #endif
     }