Review Board 2.0.15


arm, kvm: enable running 32-bit Guest under ARM KVM64

Review Request #3817 - Created Feb. 21, 2017 and updated

Information
Rahul Thakur
gem5
default
Reviewers
Default
Changeset 11874:85949465c50b
---------------------------
arm, kvm: enable running 32-bit Guest under ARM KVM64

1) Pass KVM_ARM_VCPU_EL1_32BIT to kvmArmVCpuInit
   when running 32-bit OS

2) Correctly map 64-bit registers to banked 32-bit ones

Change-Id: I20d138276f6cc5aff7a855988c2e30dccef5affc

   
Review request changed
Updated (Feb. 24, 2017, 5:24 p.m.)

Summary:

-commit 2873a1ea3720e638ba1bb4f7c69b43b98bc4d72a
+arm, kvm: enable running 32-bit Guest under ARM KVM64

Description:

~  

Changeset 11874:ceed3b2698f6

  ~

Changeset 11874:85949465c50b

   
~  

commit 2873a1ea3720e638ba1bb4f7c69b43b98bc4d72a

  ~

arm, kvm: enable running 32-bit Guest under ARM KVM64

-   Author: Slava Malyugin slavamn@google.com
-   Date: Wed Dec 2 19:41:24 2015 -0800

   
~  
arm, kvm: enable running 32-bit Guest under ARM KVM64
~  
~  
1) Pass KVM_ARM_VCPU_EL1_32BIT to kvmArmVCpuInit
~  
   when running 32-bit OS
~  
~  
2) Correctly map 64-bit registers to banked 32-bit ones
  ~

1) Pass KVM_ARM_VCPU_EL1_32BIT to kvmArmVCpuInit

  ~ when running 32-bit OS

  ~
  ~

2) Correctly map 64-bit registers to banked 32-bit ones

  ~
  ~

Change-Id: I20d138276f6cc5aff7a855988c2e30dccef5affc

-  
-  
3) Set R15 when PC is changed
-  
-  
4) Map MISCREG_SPSR_EL1 to MISCREG_SPSR_SVC in 32-bit mode.
-  
-  
TEST: built build/ARM/gem5.opt on ARM and x86
-  
      tested with KVM64 on Cortex-A57, restored KVM checkpoint in atomic mode
-  
BUG: none
-  
-  
Change-Id: I20d138276f6cc5aff7a855988c2e30dccef5affc
-  

Diff:

Revision 2 (+10 -1)

Show changes

Posted (Feb. 25, 2017, 1:46 a.m.)

Thanks for the updated version. I just spotted something I should've spotted in the previous version. Don't you need to do the same transformation for integer registers in updateKvmState as you do in updateThreadContext?