diff mbox

[RFC,V4,6/6] target-arm: Implement kvm_arch_reset_vcpu() for KVM ARM64

Message ID 1399280501-25512-1-git-send-email-pranavkumar@linaro.org
State New
Headers show

Commit Message

PranavkumarSawargaonkar May 5, 2014, 9:01 a.m. UTC
To implement kvm_arch_reset_vcpu(), we simply re-init the VCPU
using kvm_arm_vcpu_init() so that all registers of VCPU are set
to their reset values by in-kernel KVM code.

Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
Signed-off-by: Anup Patel <anup.patel@linaro.org>
---
 target-arm/kvm64.c |    4 ++++
 1 file changed, 4 insertions(+)

Comments

Andreas Färber May 5, 2014, 9:57 a.m. UTC | #1
Am 05.05.2014 11:01, schrieb Pranavkumar Sawargaonkar:
> To implement kvm_arch_reset_vcpu(), we simply re-init the VCPU
> using kvm_arm_vcpu_init() so that all registers of VCPU are set
> to their reset values by in-kernel KVM code.
> 
> Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
> Signed-off-by: Anup Patel <anup.patel@linaro.org>
> ---
>  target-arm/kvm64.c |    4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/target-arm/kvm64.c b/target-arm/kvm64.c
> index f7cc3ef..4855b4b 100644
> --- a/target-arm/kvm64.c
> +++ b/target-arm/kvm64.c
> @@ -259,4 +259,8 @@ int kvm_arch_get_registers(CPUState *cs)
>  
>  void kvm_arch_reset_vcpu(CPUState *cs)
>  {
> +    /* Re-init VCPU so that all registers are set to
> +     * their respective reset values.
> +     */
> +    kvm_arm_vcpu_init(cs, 0x0);
>  }
> 

CC'ing Paolo, who was about to drop kvm_arch_reset_vcpu().

Andreas
Paolo Bonzini May 5, 2014, 10:29 a.m. UTC | #2
Il 05/05/2014 11:57, Andreas Färber ha scritto:
> Am 05.05.2014 11:01, schrieb Pranavkumar Sawargaonkar:
>> To implement kvm_arch_reset_vcpu(), we simply re-init the VCPU
>> using kvm_arm_vcpu_init() so that all registers of VCPU are set
>> to their reset values by in-kernel KVM code.
>>
>> Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
>> Signed-off-by: Anup Patel <anup.patel@linaro.org>
>> ---
>>  target-arm/kvm64.c |    4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/target-arm/kvm64.c b/target-arm/kvm64.c
>> index f7cc3ef..4855b4b 100644
>> --- a/target-arm/kvm64.c
>> +++ b/target-arm/kvm64.c
>> @@ -259,4 +259,8 @@ int kvm_arch_get_registers(CPUState *cs)
>>
>>  void kvm_arch_reset_vcpu(CPUState *cs)
>>  {
>> +    /* Re-init VCPU so that all registers are set to
>> +     * their respective reset values.
>> +     */
>> +    kvm_arm_vcpu_init(cs, 0x0);
>>  }
>>
>
> CC'ing Paolo, who was about to drop kvm_arch_reset_vcpu().

No big deal, it will have a small conflict but the functionality will 
remain in ARM (just renamed to kvm_arm_reset_vcpu and taking an ARMCPU*).

Thanks for the heads up.

Paolo
diff mbox

Patch

diff --git a/target-arm/kvm64.c b/target-arm/kvm64.c
index f7cc3ef..4855b4b 100644
--- a/target-arm/kvm64.c
+++ b/target-arm/kvm64.c
@@ -259,4 +259,8 @@  int kvm_arch_get_registers(CPUState *cs)
 
 void kvm_arch_reset_vcpu(CPUState *cs)
 {
+    /* Re-init VCPU so that all registers are set to
+     * their respective reset values.
+     */
+    kvm_arm_vcpu_init(cs, 0x0);
 }