Re: [PATCH v2 08/17] kvm: arm/arm64: Prepare for VM specific stage2 translations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 26/04/18 14:35, Julien Grall wrote:
Hi Suzuki,

On 27/03/18 14:15, Suzuki K Poulose wrote:
Right now the stage2 page table for a VM is hard coded, assuming
an IPA of 40bits. As we are about to add support for per VM IPA,
prepare the stage2 page table helpers to accept the kvm instance
to make the right decision for the VM. No functional changes.


diff --git a/arch/arm/include/asm/kvm_arm.h b/arch/arm/include/asm/kvm_arm.h
index 3ab8b37..c3f1f9b 100644
--- a/arch/arm/include/asm/kvm_arm.h
+++ b/arch/arm/include/asm/kvm_arm.h
@@ -133,8 +133,7 @@
   * space.
   */
  #define KVM_PHYS_SHIFT    (40)
-#define KVM_PHYS_SIZE    (_AC(1, ULL) << KVM_PHYS_SHIFT)
-#define KVM_PHYS_MASK    (KVM_PHYS_SIZE - _AC(1, ULL))

I assume you are moving them to kvm_mmu.h in order to match the arm64 side, right? If so, would not it make sense to make KVM_PHYS_SHIFT with it?

[...]

I am moving all the macros that depend on the "kvm" instance to kvm_mmu.h.
I will see if I can move the KVM_PHYS_SHIFT without much trouble.


diff --git a/arch/arm64/include/asm/kvm_mmu.h b/arch/arm64/include/asm/kvm_mmu.h
index 7faed6e..594c4e6 100644
--- a/arch/arm64/include/asm/kvm_mmu.h
+++ b/arch/arm64/include/asm/kvm_mmu.h
@@ -134,8 +134,11 @@ static inline unsigned long __kern_hyp_va(unsigned long v)
   * We currently only support a 40bit IPA.
   */
  #define KVM_PHYS_SHIFT    (40)
-#define KVM_PHYS_SIZE    (1UL << KVM_PHYS_SHIFT)
-#define KVM_PHYS_MASK    (KVM_PHYS_SIZE - 1UL)
+
+#define kvm_phys_shift(kvm)        KVM_PHYS_SHIFT
+#define kvm_phys_size(kvm)        (_AC(1, ULL) << kvm_phys_shift(kvm))

NIT: is the _AC(...) necessary? It does not look like this function is going to be usable in assembly.

+#define kvm_phys_mask(kvm)        (kvm_phys_size(kvm) - _AC(1, ULL))

Same here.


Ok, will drop them.

Cheers
Suzuki


_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux