All of lore.kernel.org
 help / color / mirror / Atom feed
From: Quentin Perret <qperret@google.com>
To: Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>, Marc Zyngier <maz@kernel.org>,
	James Morse <james.morse@arm.com>,
	Julien Thierry <julien.thierry.kdev@gmail.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Rob Herring <robh+dt@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>
Cc: devicetree@vger.kernel.org, android-kvm@google.com,
	linux-kernel@vger.kernel.org, kernel-team@android.com,
	kvmarm@lists.cs.columbia.edu,
	linux-arm-kernel@lists.infradead.org,
	Fuad Tabba <tabba@google.com>,
	Mark Rutland <mark.rutland@arm.com>,
	David Brazdil <dbrazdil@google.com>
Subject: [RFC PATCH v2 20/26] KVM: arm64: Set host stage 2 using kvm_nvhe_init_params
Date: Fri,  8 Jan 2021 12:15:18 +0000	[thread overview]
Message-ID: <20210108121524.656872-21-qperret@google.com> (raw)
In-Reply-To: <20210108121524.656872-1-qperret@google.com>

Move the registers relevant to host stage 2 enablement to
kvm_nvhe_init_params to prepare the ground for enabling it in later
patches.

Signed-off-by: Quentin Perret <qperret@google.com>
---
 arch/arm64/include/asm/kvm_asm.h   | 3 +++
 arch/arm64/kernel/asm-offsets.c    | 3 +++
 arch/arm64/kvm/arm.c               | 5 +++++
 arch/arm64/kvm/hyp/nvhe/hyp-init.S | 9 +++++++++
 arch/arm64/kvm/hyp/nvhe/switch.c   | 5 +----
 5 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/include/asm/kvm_asm.h b/arch/arm64/include/asm/kvm_asm.h
index 4fc27ac08836..5354b05eb9e2 100644
--- a/arch/arm64/include/asm/kvm_asm.h
+++ b/arch/arm64/include/asm/kvm_asm.h
@@ -158,6 +158,9 @@ struct kvm_nvhe_init_params {
 	unsigned long tpidr_el2;
 	unsigned long stack_hyp_va;
 	phys_addr_t pgd_pa;
+	unsigned long hcr_el2;
+	unsigned long vttbr;
+	unsigned long vtcr;
 };
 
 /* Translate a kernel address @ptr into its equivalent linear mapping */
diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c
index 5e82488f1b82..9cf7736e31db 100644
--- a/arch/arm64/kernel/asm-offsets.c
+++ b/arch/arm64/kernel/asm-offsets.c
@@ -114,6 +114,9 @@ int main(void)
   DEFINE(NVHE_INIT_TPIDR_EL2,	offsetof(struct kvm_nvhe_init_params, tpidr_el2));
   DEFINE(NVHE_INIT_STACK_HYP_VA,	offsetof(struct kvm_nvhe_init_params, stack_hyp_va));
   DEFINE(NVHE_INIT_PGD_PA,	offsetof(struct kvm_nvhe_init_params, pgd_pa));
+  DEFINE(NVHE_INIT_HCR_EL2,	offsetof(struct kvm_nvhe_init_params, hcr_el2));
+  DEFINE(NVHE_INIT_VTTBR,	offsetof(struct kvm_nvhe_init_params, vttbr));
+  DEFINE(NVHE_INIT_VTCR,	offsetof(struct kvm_nvhe_init_params, vtcr));
 #endif
 #ifdef CONFIG_CPU_PM
   DEFINE(CPU_CTX_SP,		offsetof(struct cpu_suspend_ctx, sp));
diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c
index e524682c2ccf..00cee4489cd7 100644
--- a/arch/arm64/kvm/arm.c
+++ b/arch/arm64/kvm/arm.c
@@ -1413,6 +1413,11 @@ static void cpu_prepare_hyp_mode(int cpu)
 
 	params->stack_hyp_va = kern_hyp_va(per_cpu(kvm_arm_hyp_stack_page, cpu) + PAGE_SIZE);
 	params->pgd_pa = kvm_mmu_get_httbr();
+	if (is_protected_kvm_enabled())
+		params->hcr_el2 = HCR_HOST_NVHE_PROTECTED_FLAGS;
+	else
+		params->hcr_el2 = HCR_HOST_NVHE_FLAGS;
+	params->vttbr = params->vtcr = 0;
 
 	/*
 	 * Flush the init params from the data cache because the struct will
diff --git a/arch/arm64/kvm/hyp/nvhe/hyp-init.S b/arch/arm64/kvm/hyp/nvhe/hyp-init.S
index ad943966c39f..b1341bb4b453 100644
--- a/arch/arm64/kvm/hyp/nvhe/hyp-init.S
+++ b/arch/arm64/kvm/hyp/nvhe/hyp-init.S
@@ -102,6 +102,15 @@ alternative_else_nop_endif
 	ldr	x1, [x0, #NVHE_INIT_MAIR_EL2]
 	msr	mair_el2, x1
 
+	ldr	x1, [x0, #NVHE_INIT_HCR_EL2]
+	msr	hcr_el2, x1
+
+	ldr	x1, [x0, #NVHE_INIT_VTTBR]
+	msr	vttbr_el2, x1
+
+	ldr	x1, [x0, #NVHE_INIT_VTCR]
+	msr	vtcr_el2, x1
+
 	ldr	x1, [x0, #NVHE_INIT_PGD_PA]
 	phys_to_ttbr x2, x1
 alternative_if ARM64_HAS_CNP
diff --git a/arch/arm64/kvm/hyp/nvhe/switch.c b/arch/arm64/kvm/hyp/nvhe/switch.c
index f3d0e9eca56c..979a76cdf9fb 100644
--- a/arch/arm64/kvm/hyp/nvhe/switch.c
+++ b/arch/arm64/kvm/hyp/nvhe/switch.c
@@ -97,10 +97,7 @@ static void __deactivate_traps(struct kvm_vcpu *vcpu)
 	mdcr_el2 |= MDCR_EL2_E2PB_MASK << MDCR_EL2_E2PB_SHIFT;
 
 	write_sysreg(mdcr_el2, mdcr_el2);
-	if (is_protected_kvm_enabled())
-		write_sysreg(HCR_HOST_NVHE_PROTECTED_FLAGS, hcr_el2);
-	else
-		write_sysreg(HCR_HOST_NVHE_FLAGS, hcr_el2);
+	write_sysreg(this_cpu_ptr(&kvm_init_params)->hcr_el2, hcr_el2);
 	write_sysreg(CPTR_EL2_DEFAULT, cptr_el2);
 	write_sysreg(__kvm_hyp_host_vector, vbar_el2);
 }
-- 
2.30.0.284.gd98b1dd5eaa7-goog


WARNING: multiple messages have this Message-ID (diff)
From: Quentin Perret <qperret@google.com>
To: Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,  Marc Zyngier <maz@kernel.org>,
	James Morse <james.morse@arm.com>,
	 Julien Thierry <julien.thierry.kdev@gmail.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	 Rob Herring <robh+dt@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>
Cc: devicetree@vger.kernel.org, android-kvm@google.com,
	linux-kernel@vger.kernel.org, Fuad Tabba <tabba@google.com>,
	kernel-team@android.com, kvmarm@lists.cs.columbia.edu,
	linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v2 20/26] KVM: arm64: Set host stage 2 using kvm_nvhe_init_params
Date: Fri,  8 Jan 2021 12:15:18 +0000	[thread overview]
Message-ID: <20210108121524.656872-21-qperret@google.com> (raw)
In-Reply-To: <20210108121524.656872-1-qperret@google.com>

Move the registers relevant to host stage 2 enablement to
kvm_nvhe_init_params to prepare the ground for enabling it in later
patches.

Signed-off-by: Quentin Perret <qperret@google.com>
---
 arch/arm64/include/asm/kvm_asm.h   | 3 +++
 arch/arm64/kernel/asm-offsets.c    | 3 +++
 arch/arm64/kvm/arm.c               | 5 +++++
 arch/arm64/kvm/hyp/nvhe/hyp-init.S | 9 +++++++++
 arch/arm64/kvm/hyp/nvhe/switch.c   | 5 +----
 5 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/include/asm/kvm_asm.h b/arch/arm64/include/asm/kvm_asm.h
index 4fc27ac08836..5354b05eb9e2 100644
--- a/arch/arm64/include/asm/kvm_asm.h
+++ b/arch/arm64/include/asm/kvm_asm.h
@@ -158,6 +158,9 @@ struct kvm_nvhe_init_params {
 	unsigned long tpidr_el2;
 	unsigned long stack_hyp_va;
 	phys_addr_t pgd_pa;
+	unsigned long hcr_el2;
+	unsigned long vttbr;
+	unsigned long vtcr;
 };
 
 /* Translate a kernel address @ptr into its equivalent linear mapping */
diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c
index 5e82488f1b82..9cf7736e31db 100644
--- a/arch/arm64/kernel/asm-offsets.c
+++ b/arch/arm64/kernel/asm-offsets.c
@@ -114,6 +114,9 @@ int main(void)
   DEFINE(NVHE_INIT_TPIDR_EL2,	offsetof(struct kvm_nvhe_init_params, tpidr_el2));
   DEFINE(NVHE_INIT_STACK_HYP_VA,	offsetof(struct kvm_nvhe_init_params, stack_hyp_va));
   DEFINE(NVHE_INIT_PGD_PA,	offsetof(struct kvm_nvhe_init_params, pgd_pa));
+  DEFINE(NVHE_INIT_HCR_EL2,	offsetof(struct kvm_nvhe_init_params, hcr_el2));
+  DEFINE(NVHE_INIT_VTTBR,	offsetof(struct kvm_nvhe_init_params, vttbr));
+  DEFINE(NVHE_INIT_VTCR,	offsetof(struct kvm_nvhe_init_params, vtcr));
 #endif
 #ifdef CONFIG_CPU_PM
   DEFINE(CPU_CTX_SP,		offsetof(struct cpu_suspend_ctx, sp));
diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c
index e524682c2ccf..00cee4489cd7 100644
--- a/arch/arm64/kvm/arm.c
+++ b/arch/arm64/kvm/arm.c
@@ -1413,6 +1413,11 @@ static void cpu_prepare_hyp_mode(int cpu)
 
 	params->stack_hyp_va = kern_hyp_va(per_cpu(kvm_arm_hyp_stack_page, cpu) + PAGE_SIZE);
 	params->pgd_pa = kvm_mmu_get_httbr();
+	if (is_protected_kvm_enabled())
+		params->hcr_el2 = HCR_HOST_NVHE_PROTECTED_FLAGS;
+	else
+		params->hcr_el2 = HCR_HOST_NVHE_FLAGS;
+	params->vttbr = params->vtcr = 0;
 
 	/*
 	 * Flush the init params from the data cache because the struct will
diff --git a/arch/arm64/kvm/hyp/nvhe/hyp-init.S b/arch/arm64/kvm/hyp/nvhe/hyp-init.S
index ad943966c39f..b1341bb4b453 100644
--- a/arch/arm64/kvm/hyp/nvhe/hyp-init.S
+++ b/arch/arm64/kvm/hyp/nvhe/hyp-init.S
@@ -102,6 +102,15 @@ alternative_else_nop_endif
 	ldr	x1, [x0, #NVHE_INIT_MAIR_EL2]
 	msr	mair_el2, x1
 
+	ldr	x1, [x0, #NVHE_INIT_HCR_EL2]
+	msr	hcr_el2, x1
+
+	ldr	x1, [x0, #NVHE_INIT_VTTBR]
+	msr	vttbr_el2, x1
+
+	ldr	x1, [x0, #NVHE_INIT_VTCR]
+	msr	vtcr_el2, x1
+
 	ldr	x1, [x0, #NVHE_INIT_PGD_PA]
 	phys_to_ttbr x2, x1
 alternative_if ARM64_HAS_CNP
diff --git a/arch/arm64/kvm/hyp/nvhe/switch.c b/arch/arm64/kvm/hyp/nvhe/switch.c
index f3d0e9eca56c..979a76cdf9fb 100644
--- a/arch/arm64/kvm/hyp/nvhe/switch.c
+++ b/arch/arm64/kvm/hyp/nvhe/switch.c
@@ -97,10 +97,7 @@ static void __deactivate_traps(struct kvm_vcpu *vcpu)
 	mdcr_el2 |= MDCR_EL2_E2PB_MASK << MDCR_EL2_E2PB_SHIFT;
 
 	write_sysreg(mdcr_el2, mdcr_el2);
-	if (is_protected_kvm_enabled())
-		write_sysreg(HCR_HOST_NVHE_PROTECTED_FLAGS, hcr_el2);
-	else
-		write_sysreg(HCR_HOST_NVHE_FLAGS, hcr_el2);
+	write_sysreg(this_cpu_ptr(&kvm_init_params)->hcr_el2, hcr_el2);
 	write_sysreg(CPTR_EL2_DEFAULT, cptr_el2);
 	write_sysreg(__kvm_hyp_host_vector, vbar_el2);
 }
-- 
2.30.0.284.gd98b1dd5eaa7-goog

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

WARNING: multiple messages have this Message-ID (diff)
From: Quentin Perret <qperret@google.com>
To: Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,  Marc Zyngier <maz@kernel.org>,
	James Morse <james.morse@arm.com>,
	 Julien Thierry <julien.thierry.kdev@gmail.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	 Rob Herring <robh+dt@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org, android-kvm@google.com,
	linux-kernel@vger.kernel.org, Fuad Tabba <tabba@google.com>,
	David Brazdil <dbrazdil@google.com>,
	kernel-team@android.com, kvmarm@lists.cs.columbia.edu,
	linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v2 20/26] KVM: arm64: Set host stage 2 using kvm_nvhe_init_params
Date: Fri,  8 Jan 2021 12:15:18 +0000	[thread overview]
Message-ID: <20210108121524.656872-21-qperret@google.com> (raw)
In-Reply-To: <20210108121524.656872-1-qperret@google.com>

Move the registers relevant to host stage 2 enablement to
kvm_nvhe_init_params to prepare the ground for enabling it in later
patches.

Signed-off-by: Quentin Perret <qperret@google.com>
---
 arch/arm64/include/asm/kvm_asm.h   | 3 +++
 arch/arm64/kernel/asm-offsets.c    | 3 +++
 arch/arm64/kvm/arm.c               | 5 +++++
 arch/arm64/kvm/hyp/nvhe/hyp-init.S | 9 +++++++++
 arch/arm64/kvm/hyp/nvhe/switch.c   | 5 +----
 5 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/include/asm/kvm_asm.h b/arch/arm64/include/asm/kvm_asm.h
index 4fc27ac08836..5354b05eb9e2 100644
--- a/arch/arm64/include/asm/kvm_asm.h
+++ b/arch/arm64/include/asm/kvm_asm.h
@@ -158,6 +158,9 @@ struct kvm_nvhe_init_params {
 	unsigned long tpidr_el2;
 	unsigned long stack_hyp_va;
 	phys_addr_t pgd_pa;
+	unsigned long hcr_el2;
+	unsigned long vttbr;
+	unsigned long vtcr;
 };
 
 /* Translate a kernel address @ptr into its equivalent linear mapping */
diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c
index 5e82488f1b82..9cf7736e31db 100644
--- a/arch/arm64/kernel/asm-offsets.c
+++ b/arch/arm64/kernel/asm-offsets.c
@@ -114,6 +114,9 @@ int main(void)
   DEFINE(NVHE_INIT_TPIDR_EL2,	offsetof(struct kvm_nvhe_init_params, tpidr_el2));
   DEFINE(NVHE_INIT_STACK_HYP_VA,	offsetof(struct kvm_nvhe_init_params, stack_hyp_va));
   DEFINE(NVHE_INIT_PGD_PA,	offsetof(struct kvm_nvhe_init_params, pgd_pa));
+  DEFINE(NVHE_INIT_HCR_EL2,	offsetof(struct kvm_nvhe_init_params, hcr_el2));
+  DEFINE(NVHE_INIT_VTTBR,	offsetof(struct kvm_nvhe_init_params, vttbr));
+  DEFINE(NVHE_INIT_VTCR,	offsetof(struct kvm_nvhe_init_params, vtcr));
 #endif
 #ifdef CONFIG_CPU_PM
   DEFINE(CPU_CTX_SP,		offsetof(struct cpu_suspend_ctx, sp));
diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c
index e524682c2ccf..00cee4489cd7 100644
--- a/arch/arm64/kvm/arm.c
+++ b/arch/arm64/kvm/arm.c
@@ -1413,6 +1413,11 @@ static void cpu_prepare_hyp_mode(int cpu)
 
 	params->stack_hyp_va = kern_hyp_va(per_cpu(kvm_arm_hyp_stack_page, cpu) + PAGE_SIZE);
 	params->pgd_pa = kvm_mmu_get_httbr();
+	if (is_protected_kvm_enabled())
+		params->hcr_el2 = HCR_HOST_NVHE_PROTECTED_FLAGS;
+	else
+		params->hcr_el2 = HCR_HOST_NVHE_FLAGS;
+	params->vttbr = params->vtcr = 0;
 
 	/*
 	 * Flush the init params from the data cache because the struct will
diff --git a/arch/arm64/kvm/hyp/nvhe/hyp-init.S b/arch/arm64/kvm/hyp/nvhe/hyp-init.S
index ad943966c39f..b1341bb4b453 100644
--- a/arch/arm64/kvm/hyp/nvhe/hyp-init.S
+++ b/arch/arm64/kvm/hyp/nvhe/hyp-init.S
@@ -102,6 +102,15 @@ alternative_else_nop_endif
 	ldr	x1, [x0, #NVHE_INIT_MAIR_EL2]
 	msr	mair_el2, x1
 
+	ldr	x1, [x0, #NVHE_INIT_HCR_EL2]
+	msr	hcr_el2, x1
+
+	ldr	x1, [x0, #NVHE_INIT_VTTBR]
+	msr	vttbr_el2, x1
+
+	ldr	x1, [x0, #NVHE_INIT_VTCR]
+	msr	vtcr_el2, x1
+
 	ldr	x1, [x0, #NVHE_INIT_PGD_PA]
 	phys_to_ttbr x2, x1
 alternative_if ARM64_HAS_CNP
diff --git a/arch/arm64/kvm/hyp/nvhe/switch.c b/arch/arm64/kvm/hyp/nvhe/switch.c
index f3d0e9eca56c..979a76cdf9fb 100644
--- a/arch/arm64/kvm/hyp/nvhe/switch.c
+++ b/arch/arm64/kvm/hyp/nvhe/switch.c
@@ -97,10 +97,7 @@ static void __deactivate_traps(struct kvm_vcpu *vcpu)
 	mdcr_el2 |= MDCR_EL2_E2PB_MASK << MDCR_EL2_E2PB_SHIFT;
 
 	write_sysreg(mdcr_el2, mdcr_el2);
-	if (is_protected_kvm_enabled())
-		write_sysreg(HCR_HOST_NVHE_PROTECTED_FLAGS, hcr_el2);
-	else
-		write_sysreg(HCR_HOST_NVHE_FLAGS, hcr_el2);
+	write_sysreg(this_cpu_ptr(&kvm_init_params)->hcr_el2, hcr_el2);
 	write_sysreg(CPTR_EL2_DEFAULT, cptr_el2);
 	write_sysreg(__kvm_hyp_host_vector, vbar_el2);
 }
-- 
2.30.0.284.gd98b1dd5eaa7-goog


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2021-01-08 12:19 UTC|newest]

Thread overview: 295+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-08 12:14 [RFC PATCH v2 00/26] KVM/arm64: A stage 2 for the host Quentin Perret
2021-01-08 12:14 ` Quentin Perret
2021-01-08 12:14 ` Quentin Perret
2021-01-08 12:14 ` [RFC PATCH v2 01/26] arm64: lib: Annotate {clear,copy}_page() as position-independent Quentin Perret
2021-01-08 12:14   ` [RFC PATCH v2 01/26] arm64: lib: Annotate {clear, copy}_page() " Quentin Perret
2021-01-08 12:14   ` Quentin Perret
2021-01-08 12:15 ` [RFC PATCH v2 02/26] KVM: arm64: Link position-independent string routines into .hyp.text Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15 ` [RFC PATCH v2 03/26] arm64: kvm: Add standalone ticket spinlock implementation for use at hyp Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-01 17:28   ` Will Deacon
2021-02-01 17:28     ` Will Deacon
2021-02-01 17:28     ` Will Deacon
2021-02-01 17:40     ` Quentin Perret
2021-02-01 17:40       ` Quentin Perret
2021-02-01 17:40       ` Quentin Perret
2021-01-08 12:15 ` [RFC PATCH v2 04/26] KVM: arm64: Initialize kvm_nvhe_init_params early Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-01 17:41   ` Will Deacon
2021-02-01 17:41     ` Will Deacon
2021-02-01 17:41     ` Will Deacon
2021-01-08 12:15 ` [RFC PATCH v2 05/26] KVM: arm64: Avoid free_page() in page-table allocator Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-01 17:46   ` Will Deacon
2021-02-01 17:46     ` Will Deacon
2021-02-01 17:46     ` Will Deacon
2021-01-08 12:15 ` [RFC PATCH v2 06/26] KVM: arm64: Factor memory allocation out of pgtable.c Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-01 18:16   ` Will Deacon
2021-02-01 18:16     ` Will Deacon
2021-02-01 18:16     ` Will Deacon
2021-02-01 18:32     ` Quentin Perret
2021-02-01 18:32       ` Quentin Perret
2021-02-01 18:32       ` Quentin Perret
2021-02-01 18:39       ` Will Deacon
2021-02-01 18:39         ` Will Deacon
2021-02-01 18:39         ` Will Deacon
2021-01-08 12:15 ` [RFC PATCH v2 07/26] KVM: arm64: Introduce a BSS section for use at Hyp Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-01 18:32   ` Will Deacon
2021-02-01 18:32     ` Will Deacon
2021-02-01 18:32     ` Will Deacon
2021-01-08 12:15 ` [RFC PATCH v2 08/26] KVM: arm64: Make kvm_call_hyp() a function call " Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-01 18:41   ` Will Deacon
2021-02-01 18:41     ` Will Deacon
2021-02-01 18:41     ` Will Deacon
2021-01-08 12:15 ` [RFC PATCH v2 09/26] KVM: arm64: Allow using kvm_nvhe_sym() in hyp code Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-01 18:43   ` Will Deacon
2021-02-01 18:43     ` Will Deacon
2021-02-01 18:43     ` Will Deacon
2021-01-08 12:15 ` [RFC PATCH v2 10/26] KVM: arm64: Introduce an early Hyp page allocator Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 18:15   ` kernel test robot
2021-02-01 19:00   ` Will Deacon
2021-02-01 19:00     ` Will Deacon
2021-02-01 19:00     ` Will Deacon
2021-02-02  9:44     ` Quentin Perret
2021-02-02  9:44       ` Quentin Perret
2021-02-02  9:44       ` Quentin Perret
2021-01-08 12:15 ` [RFC PATCH v2 11/26] KVM: arm64: Stub CONFIG_DEBUG_LIST at Hyp Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-01 19:06   ` Will Deacon
2021-02-01 19:06     ` Will Deacon
2021-02-01 19:06     ` Will Deacon
2021-02-02  9:57     ` Quentin Perret
2021-02-02  9:57       ` Quentin Perret
2021-02-02  9:57       ` Quentin Perret
2021-02-02 10:00       ` Will Deacon
2021-02-02 10:00         ` Will Deacon
2021-02-02 10:00         ` Will Deacon
2021-02-02 10:14         ` Quentin Perret
2021-02-02 10:14           ` Quentin Perret
2021-02-02 10:14           ` Quentin Perret
2021-01-08 12:15 ` [RFC PATCH v2 12/26] KVM: arm64: Introduce a Hyp buddy page allocator Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 19:21   ` kernel test robot
2021-02-02 18:13   ` Will Deacon
2021-02-02 18:13     ` Will Deacon
2021-02-02 18:13     ` Will Deacon
2021-02-03 18:33     ` Quentin Perret
2021-02-03 18:33       ` Quentin Perret
2021-02-03 18:33       ` Quentin Perret
2021-02-04 14:31       ` Will Deacon
2021-02-04 14:31         ` Will Deacon
2021-02-04 14:31         ` Will Deacon
2021-02-04 14:52         ` Quentin Perret
2021-02-04 14:52           ` Quentin Perret
2021-02-04 14:52           ` Quentin Perret
2021-02-04 17:48           ` Will Deacon
2021-02-04 17:48             ` Will Deacon
2021-02-04 17:48             ` Will Deacon
2021-02-04 18:01             ` Quentin Perret
2021-02-04 18:01               ` Quentin Perret
2021-02-04 18:01               ` Quentin Perret
2021-02-04 18:13               ` Will Deacon
2021-02-04 18:13                 ` Will Deacon
2021-02-04 18:13                 ` Will Deacon
2021-02-04 18:24                 ` Quentin Perret
2021-02-04 18:24                   ` Quentin Perret
2021-02-04 18:24                   ` Quentin Perret
2021-02-04 18:19         ` Quentin Perret
2021-02-04 18:19           ` Quentin Perret
2021-02-04 18:19           ` Quentin Perret
2021-02-04 18:24           ` Will Deacon
2021-02-04 18:24             ` Will Deacon
2021-02-04 18:24             ` Will Deacon
2021-02-04 18:32             ` Quentin Perret
2021-02-04 18:32               ` Quentin Perret
2021-02-04 18:32               ` Quentin Perret
2021-01-08 12:15 ` [RFC PATCH v2 13/26] KVM: arm64: Enable access to sanitized CPU features at EL2 Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-13 11:33   ` Marc Zyngier
2021-01-13 11:33     ` Marc Zyngier
2021-01-13 11:33     ` Marc Zyngier
2021-01-13 14:23     ` Quentin Perret
2021-01-13 14:23       ` Quentin Perret
2021-01-13 14:23       ` Quentin Perret
2021-01-13 14:35       ` Quentin Perret
2021-01-13 14:35         ` Quentin Perret
2021-01-13 14:35         ` Quentin Perret
2021-01-13 17:27         ` Marc Zyngier
2021-01-13 17:27           ` Marc Zyngier
2021-01-13 17:27           ` Marc Zyngier
2021-01-13 18:28           ` Quentin Perret
2021-01-13 18:28             ` Quentin Perret
2021-01-13 18:28             ` Quentin Perret
2021-01-08 12:15 ` [RFC PATCH v2 14/26] KVM: arm64: Factor out vector address calculation Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-02 18:24   ` Will Deacon
2021-02-02 18:24     ` Will Deacon
2021-02-02 18:24     ` Will Deacon
2021-01-08 12:15 ` [RFC PATCH v2 15/26] of/fdt: Introduce early_init_dt_add_memory_hyp() Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 14:54   ` kernel test robot
2021-01-08 18:58   ` kernel test robot
2021-01-11 14:45   ` Rob Herring
2021-01-11 14:45     ` Rob Herring
2021-01-11 14:45     ` Rob Herring
2021-01-12  9:51     ` Quentin Perret
2021-01-12  9:51       ` Quentin Perret
2021-01-12  9:51       ` Quentin Perret
2021-01-12 14:10       ` Rob Herring
2021-01-12 14:10         ` Rob Herring
2021-01-12 14:10         ` Rob Herring
2021-01-12 14:26         ` Quentin Perret
2021-01-12 14:26           ` Quentin Perret
2021-01-12 14:26           ` Quentin Perret
2021-01-12 15:53           ` Rob Herring
2021-01-12 15:53             ` Rob Herring
2021-01-12 15:53             ` Rob Herring
2021-01-12 16:15             ` Quentin Perret
2021-01-12 16:15               ` Quentin Perret
2021-01-12 16:15               ` Quentin Perret
2021-01-12 16:45               ` Rob Herring
2021-01-12 16:45                 ` Rob Herring
2021-01-12 16:45                 ` Rob Herring
2021-01-12 16:50                 ` Quentin Perret
2021-01-12 16:50                   ` Quentin Perret
2021-01-12 16:50                   ` Quentin Perret
2021-01-15 11:49                   ` Quentin Perret
2021-01-15 11:49                     ` Quentin Perret
2021-01-15 11:49                     ` Quentin Perret
2021-01-08 12:15 ` [RFC PATCH v2 16/26] KVM: arm64: Prepare Hyp memory protection Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-03 14:37   ` Will Deacon
2021-02-03 14:37     ` Will Deacon
2021-02-03 14:37     ` Will Deacon
2021-02-04 10:47     ` Quentin Perret
2021-02-04 10:47       ` Quentin Perret
2021-02-04 10:47       ` Quentin Perret
2021-02-05 17:56       ` Will Deacon
2021-02-05 17:56         ` Will Deacon
2021-02-05 17:56         ` Will Deacon
2021-02-09 10:00       ` Quentin Perret
2021-02-09 10:00         ` Quentin Perret
2021-02-09 10:00         ` Quentin Perret
2021-02-09 12:23         ` Will Deacon
2021-02-09 12:23           ` Will Deacon
2021-02-09 12:23           ` Will Deacon
2021-02-19 18:32     ` Sean Christopherson
2021-02-19 18:32       ` Sean Christopherson
2021-02-19 18:32       ` Sean Christopherson
2021-02-22 11:04       ` Quentin Perret
2021-02-22 11:04         ` Quentin Perret
2021-02-22 11:04         ` Quentin Perret
2021-01-08 12:15 ` [RFC PATCH v2 17/26] KVM: arm64: Elevate Hyp mappings creation at EL2 Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-03 15:31   ` Will Deacon
2021-02-03 15:31     ` Will Deacon
2021-02-03 15:31     ` Will Deacon
2021-02-04 11:08     ` Quentin Perret
2021-02-04 11:08       ` Quentin Perret
2021-02-04 11:08       ` Quentin Perret
2021-02-05 18:01       ` Will Deacon
2021-02-05 18:01         ` Will Deacon
2021-02-05 18:01         ` Will Deacon
2021-01-08 12:15 ` [RFC PATCH v2 18/26] KVM: arm64: Use kvm_arch for stage 2 pgtable Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-03 15:34   ` Will Deacon
2021-02-03 15:34     ` Will Deacon
2021-02-03 15:34     ` Will Deacon
2021-01-08 12:15 ` [RFC PATCH v2 19/26] KVM: arm64: Use kvm_arch in kvm_s2_mmu Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-03 15:38   ` Will Deacon
2021-02-03 15:38     ` Will Deacon
2021-02-03 15:38     ` Will Deacon
2021-01-08 12:15 ` Quentin Perret [this message]
2021-01-08 12:15   ` [RFC PATCH v2 20/26] KVM: arm64: Set host stage 2 using kvm_nvhe_init_params Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-03 16:05   ` Will Deacon
2021-02-03 16:05     ` Will Deacon
2021-02-03 16:05     ` Will Deacon
2021-01-08 12:15 ` [RFC PATCH v2 21/26] KVM: arm64: Refactor kvm_arm_setup_stage2() Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-03 15:53   ` Will Deacon
2021-02-03 15:53     ` Will Deacon
2021-02-03 15:53     ` Will Deacon
2021-02-04 14:07     ` Quentin Perret
2021-02-04 14:07       ` Quentin Perret
2021-02-04 14:07       ` Quentin Perret
2021-01-08 12:15 ` [RFC PATCH v2 22/26] KVM: arm64: Refactor __load_guest_stage2() Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-03 15:54   ` Will Deacon
2021-02-03 15:54     ` Will Deacon
2021-02-03 15:54     ` Will Deacon
2021-01-08 12:15 ` [RFC PATCH v2 23/26] KVM: arm64: Refactor __populate_fault_info() Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-03 15:58   ` Will Deacon
2021-02-03 15:58     ` Will Deacon
2021-02-03 15:58     ` Will Deacon
2021-02-04 14:18     ` Quentin Perret
2021-02-04 14:18       ` Quentin Perret
2021-02-04 14:18       ` Quentin Perret
2021-01-08 12:15 ` [RFC PATCH v2 24/26] KVM: arm64: Make memcache anonymous in pgtable allocator Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-03 15:59   ` Will Deacon
2021-02-03 15:59     ` Will Deacon
2021-02-03 15:59     ` Will Deacon
2021-02-04 14:24     ` Quentin Perret
2021-02-04 14:24       ` Quentin Perret
2021-02-04 14:24       ` Quentin Perret
2021-02-04 14:36       ` Will Deacon
2021-02-04 14:36         ` Will Deacon
2021-02-04 14:36         ` Will Deacon
2021-01-08 12:15 ` [RFC PATCH v2 25/26] KVM: arm64: Reserve memory for host stage 2 Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15 ` [RFC PATCH v2 26/26] KVM: arm64: Wrap the host with a " Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-01-08 12:15   ` Quentin Perret
2021-02-03 16:11   ` Will Deacon
2021-02-03 16:11     ` Will Deacon
2021-02-03 16:11     ` Will Deacon
2021-02-04 14:26     ` Quentin Perret
2021-02-04 14:26       ` Quentin Perret
2021-02-04 14:26       ` Quentin Perret
2021-02-04 14:37       ` Will Deacon
2021-02-04 14:37         ` Will Deacon
2021-02-04 14:37         ` Will Deacon
2021-02-17 16:27 ` [RFC PATCH v2 00/26] KVM/arm64: A stage 2 for the host Mate Toth-Pal
2021-02-17 16:27   ` Mate Toth-Pal
2021-02-17 16:27   ` Mate Toth-Pal
2021-02-17 17:24   ` Quentin Perret
2021-02-17 17:24     ` Quentin Perret
2021-02-17 17:24     ` Quentin Perret
2021-02-19 17:54 ` Sean Christopherson
2021-02-19 17:54   ` Sean Christopherson
2021-02-19 17:54   ` Sean Christopherson
2021-02-19 17:57   ` Quentin Perret
2021-02-19 17:57     ` Quentin Perret
2021-02-19 17:57     ` Quentin Perret

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210108121524.656872-21-qperret@google.com \
    --to=qperret@google.com \
    --cc=android-kvm@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=dbrazdil@google.com \
    --cc=devicetree@vger.kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=james.morse@arm.com \
    --cc=julien.thierry.kdev@gmail.com \
    --cc=kernel-team@android.com \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=suzuki.poulose@arm.com \
    --cc=tabba@google.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.