From: Marc Zyngier <maz@kernel.org>
To: linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: kernel-team@android.com,
Srivatsa Vaddagiri <vatsa@codeaurora.org>,
Shanker R Donthineni <sdonthineni@nvidia.com>,
will@kernel.org
Subject: [PATCH 12/16] mm/ioremap: Add arch-specific callbacks on ioremap/iounmap calls
Date: Thu, 15 Jul 2021 17:31:55 +0100 [thread overview]
Message-ID: <20210715163159.1480168-13-maz@kernel.org> (raw)
In-Reply-To: <20210715163159.1480168-1-maz@kernel.org>
Add a pair of hooks (ioremap_page_range_hook/iounmap_page_range_hook)
that can be implemented by an architecture.
Signed-off-by: Marc Zyngier <maz@kernel.org>
---
include/linux/io.h | 3 +++
mm/ioremap.c | 13 ++++++++++++-
mm/vmalloc.c | 8 ++++++++
3 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/include/linux/io.h b/include/linux/io.h
index 9595151d800d..0ffc265f114c 100644
--- a/include/linux/io.h
+++ b/include/linux/io.h
@@ -21,6 +21,9 @@ void __ioread32_copy(void *to, const void __iomem *from, size_t count);
void __iowrite64_copy(void __iomem *to, const void *from, size_t count);
#ifdef CONFIG_MMU
+void ioremap_page_range_hook(unsigned long addr, unsigned long end,
+ phys_addr_t phys_addr, pgprot_t prot);
+void iounmap_page_range_hook(phys_addr_t phys_addr, size_t size);
int ioremap_page_range(unsigned long addr, unsigned long end,
phys_addr_t phys_addr, pgprot_t prot);
#else
diff --git a/mm/ioremap.c b/mm/ioremap.c
index 8ee0136f8cb0..bd77a86088f2 100644
--- a/mm/ioremap.c
+++ b/mm/ioremap.c
@@ -28,10 +28,21 @@ early_param("nohugeiomap", set_nohugeiomap);
static const unsigned int iomap_max_page_shift = PAGE_SHIFT;
#endif /* CONFIG_HAVE_ARCH_HUGE_VMAP */
+void __weak ioremap_page_range_hook(unsigned long addr, unsigned long end,
+ phys_addr_t phys_addr, pgprot_t prot)
+{
+}
+
int ioremap_page_range(unsigned long addr,
unsigned long end, phys_addr_t phys_addr, pgprot_t prot)
{
- return vmap_range(addr, end, phys_addr, prot, iomap_max_page_shift);
+ int ret;
+
+ ret = vmap_range(addr, end, phys_addr, prot, iomap_max_page_shift);
+ if (!ret)
+ ioremap_page_range_hook(addr, end, phys_addr, prot);
+
+ return ret;
}
#ifdef CONFIG_GENERIC_IOREMAP
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index d5cd52805149..af18a6141093 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -38,6 +38,7 @@
#include <linux/pgtable.h>
#include <linux/uaccess.h>
#include <linux/hugetlb.h>
+#include <linux/io.h>
#include <asm/tlbflush.h>
#include <asm/shmparam.h>
@@ -2551,6 +2552,10 @@ static void vm_remove_mappings(struct vm_struct *area, int deallocate_pages)
set_area_direct_map(area, set_direct_map_default_noflush);
}
+void __weak iounmap_page_range_hook(phys_addr_t phys_addr, size_t size)
+{
+}
+
static void __vunmap(const void *addr, int deallocate_pages)
{
struct vm_struct *area;
@@ -2574,6 +2579,9 @@ static void __vunmap(const void *addr, int deallocate_pages)
kasan_poison_vmalloc(area->addr, get_vm_area_size(area));
+ if (area->flags & VM_IOREMAP)
+ iounmap_page_range_hook(area->phys_addr, get_vm_area_size(area));
+
vm_remove_mappings(area, deallocate_pages);
if (deallocate_pages) {
--
2.30.2
_______________________________________________
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: Marc Zyngier <maz@kernel.org>
To: linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: will@kernel.org, qperret@google.com, dbrazdil@google.com,
Srivatsa Vaddagiri <vatsa@codeaurora.org>,
Shanker R Donthineni <sdonthineni@nvidia.com>,
James Morse <james.morse@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Alexandru Elisei <alexandru.elisei@arm.com>,
kernel-team@android.com
Subject: [PATCH 12/16] mm/ioremap: Add arch-specific callbacks on ioremap/iounmap calls
Date: Thu, 15 Jul 2021 17:31:55 +0100 [thread overview]
Message-ID: <20210715163159.1480168-13-maz@kernel.org> (raw)
In-Reply-To: <20210715163159.1480168-1-maz@kernel.org>
Add a pair of hooks (ioremap_page_range_hook/iounmap_page_range_hook)
that can be implemented by an architecture.
Signed-off-by: Marc Zyngier <maz@kernel.org>
---
include/linux/io.h | 3 +++
mm/ioremap.c | 13 ++++++++++++-
mm/vmalloc.c | 8 ++++++++
3 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/include/linux/io.h b/include/linux/io.h
index 9595151d800d..0ffc265f114c 100644
--- a/include/linux/io.h
+++ b/include/linux/io.h
@@ -21,6 +21,9 @@ void __ioread32_copy(void *to, const void __iomem *from, size_t count);
void __iowrite64_copy(void __iomem *to, const void *from, size_t count);
#ifdef CONFIG_MMU
+void ioremap_page_range_hook(unsigned long addr, unsigned long end,
+ phys_addr_t phys_addr, pgprot_t prot);
+void iounmap_page_range_hook(phys_addr_t phys_addr, size_t size);
int ioremap_page_range(unsigned long addr, unsigned long end,
phys_addr_t phys_addr, pgprot_t prot);
#else
diff --git a/mm/ioremap.c b/mm/ioremap.c
index 8ee0136f8cb0..bd77a86088f2 100644
--- a/mm/ioremap.c
+++ b/mm/ioremap.c
@@ -28,10 +28,21 @@ early_param("nohugeiomap", set_nohugeiomap);
static const unsigned int iomap_max_page_shift = PAGE_SHIFT;
#endif /* CONFIG_HAVE_ARCH_HUGE_VMAP */
+void __weak ioremap_page_range_hook(unsigned long addr, unsigned long end,
+ phys_addr_t phys_addr, pgprot_t prot)
+{
+}
+
int ioremap_page_range(unsigned long addr,
unsigned long end, phys_addr_t phys_addr, pgprot_t prot)
{
- return vmap_range(addr, end, phys_addr, prot, iomap_max_page_shift);
+ int ret;
+
+ ret = vmap_range(addr, end, phys_addr, prot, iomap_max_page_shift);
+ if (!ret)
+ ioremap_page_range_hook(addr, end, phys_addr, prot);
+
+ return ret;
}
#ifdef CONFIG_GENERIC_IOREMAP
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index d5cd52805149..af18a6141093 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -38,6 +38,7 @@
#include <linux/pgtable.h>
#include <linux/uaccess.h>
#include <linux/hugetlb.h>
+#include <linux/io.h>
#include <asm/tlbflush.h>
#include <asm/shmparam.h>
@@ -2551,6 +2552,10 @@ static void vm_remove_mappings(struct vm_struct *area, int deallocate_pages)
set_area_direct_map(area, set_direct_map_default_noflush);
}
+void __weak iounmap_page_range_hook(phys_addr_t phys_addr, size_t size)
+{
+}
+
static void __vunmap(const void *addr, int deallocate_pages)
{
struct vm_struct *area;
@@ -2574,6 +2579,9 @@ static void __vunmap(const void *addr, int deallocate_pages)
kasan_poison_vmalloc(area->addr, get_vm_area_size(area));
+ if (area->flags & VM_IOREMAP)
+ iounmap_page_range_hook(area->phys_addr, get_vm_area_size(area));
+
vm_remove_mappings(area, deallocate_pages);
if (deallocate_pages) {
--
2.30.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org>
To: linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: will@kernel.org, qperret@google.com, dbrazdil@google.com,
Srivatsa Vaddagiri <vatsa@codeaurora.org>,
Shanker R Donthineni <sdonthineni@nvidia.com>,
James Morse <james.morse@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Alexandru Elisei <alexandru.elisei@arm.com>,
kernel-team@android.com
Subject: [PATCH 12/16] mm/ioremap: Add arch-specific callbacks on ioremap/iounmap calls
Date: Thu, 15 Jul 2021 17:31:55 +0100 [thread overview]
Message-ID: <20210715163159.1480168-13-maz@kernel.org> (raw)
In-Reply-To: <20210715163159.1480168-1-maz@kernel.org>
Add a pair of hooks (ioremap_page_range_hook/iounmap_page_range_hook)
that can be implemented by an architecture.
Signed-off-by: Marc Zyngier <maz@kernel.org>
---
include/linux/io.h | 3 +++
mm/ioremap.c | 13 ++++++++++++-
mm/vmalloc.c | 8 ++++++++
3 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/include/linux/io.h b/include/linux/io.h
index 9595151d800d..0ffc265f114c 100644
--- a/include/linux/io.h
+++ b/include/linux/io.h
@@ -21,6 +21,9 @@ void __ioread32_copy(void *to, const void __iomem *from, size_t count);
void __iowrite64_copy(void __iomem *to, const void *from, size_t count);
#ifdef CONFIG_MMU
+void ioremap_page_range_hook(unsigned long addr, unsigned long end,
+ phys_addr_t phys_addr, pgprot_t prot);
+void iounmap_page_range_hook(phys_addr_t phys_addr, size_t size);
int ioremap_page_range(unsigned long addr, unsigned long end,
phys_addr_t phys_addr, pgprot_t prot);
#else
diff --git a/mm/ioremap.c b/mm/ioremap.c
index 8ee0136f8cb0..bd77a86088f2 100644
--- a/mm/ioremap.c
+++ b/mm/ioremap.c
@@ -28,10 +28,21 @@ early_param("nohugeiomap", set_nohugeiomap);
static const unsigned int iomap_max_page_shift = PAGE_SHIFT;
#endif /* CONFIG_HAVE_ARCH_HUGE_VMAP */
+void __weak ioremap_page_range_hook(unsigned long addr, unsigned long end,
+ phys_addr_t phys_addr, pgprot_t prot)
+{
+}
+
int ioremap_page_range(unsigned long addr,
unsigned long end, phys_addr_t phys_addr, pgprot_t prot)
{
- return vmap_range(addr, end, phys_addr, prot, iomap_max_page_shift);
+ int ret;
+
+ ret = vmap_range(addr, end, phys_addr, prot, iomap_max_page_shift);
+ if (!ret)
+ ioremap_page_range_hook(addr, end, phys_addr, prot);
+
+ return ret;
}
#ifdef CONFIG_GENERIC_IOREMAP
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index d5cd52805149..af18a6141093 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -38,6 +38,7 @@
#include <linux/pgtable.h>
#include <linux/uaccess.h>
#include <linux/hugetlb.h>
+#include <linux/io.h>
#include <asm/tlbflush.h>
#include <asm/shmparam.h>
@@ -2551,6 +2552,10 @@ static void vm_remove_mappings(struct vm_struct *area, int deallocate_pages)
set_area_direct_map(area, set_direct_map_default_noflush);
}
+void __weak iounmap_page_range_hook(phys_addr_t phys_addr, size_t size)
+{
+}
+
static void __vunmap(const void *addr, int deallocate_pages)
{
struct vm_struct *area;
@@ -2574,6 +2579,9 @@ static void __vunmap(const void *addr, int deallocate_pages)
kasan_poison_vmalloc(area->addr, get_vm_area_size(area));
+ if (area->flags & VM_IOREMAP)
+ iounmap_page_range_hook(area->phys_addr, get_vm_area_size(area));
+
vm_remove_mappings(area, deallocate_pages);
if (deallocate_pages) {
--
2.30.2
next prev parent reply other threads:[~2021-07-15 16:54 UTC|newest]
Thread overview: 186+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-15 16:31 [PATCH 00/16] KVM: arm64: MMIO guard PV services Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` [PATCH 01/16] KVM: arm64: Generalise VM features into a set of flags Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-27 18:10 ` Will Deacon
2021-07-27 18:10 ` Will Deacon
2021-07-27 18:10 ` Will Deacon
2021-07-28 9:41 ` Marc Zyngier
2021-07-28 9:41 ` Marc Zyngier
2021-07-28 9:41 ` Marc Zyngier
2021-07-28 14:51 ` Steven Price
2021-07-28 14:51 ` Steven Price
2021-07-28 14:51 ` Steven Price
2021-07-15 16:31 ` [PATCH 02/16] KVM: arm64: Don't issue CMOs when the physical address is invalid Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-19 17:18 ` Quentin Perret
2021-07-19 17:18 ` Quentin Perret
2021-07-19 17:18 ` Quentin Perret
2021-07-20 8:04 ` Marc Zyngier
2021-07-20 8:04 ` Marc Zyngier
2021-07-20 8:04 ` Marc Zyngier
2021-07-27 18:10 ` Will Deacon
2021-07-27 18:10 ` Will Deacon
2021-07-27 18:10 ` Will Deacon
2021-07-28 9:45 ` Marc Zyngier
2021-07-28 9:45 ` Marc Zyngier
2021-07-28 9:45 ` Marc Zyngier
2021-07-15 16:31 ` [PATCH 03/16] KVM: arm64: Turn kvm_pgtable_stage2_set_owner into kvm_pgtable_stage2_annotate Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-20 10:09 ` Quentin Perret
2021-07-20 10:09 ` Quentin Perret
2021-07-20 10:09 ` Quentin Perret
2021-07-20 10:21 ` Marc Zyngier
2021-07-20 10:21 ` Marc Zyngier
2021-07-20 10:21 ` Marc Zyngier
2021-07-20 10:38 ` Quentin Perret
2021-07-20 10:38 ` Quentin Perret
2021-07-20 10:38 ` Quentin Perret
2021-07-20 11:20 ` Marc Zyngier
2021-07-20 11:20 ` Marc Zyngier
2021-07-20 11:20 ` Marc Zyngier
2021-07-20 11:36 ` Quentin Perret
2021-07-20 11:36 ` Quentin Perret
2021-07-20 11:36 ` Quentin Perret
2021-07-20 13:13 ` Marc Zyngier
2021-07-20 13:13 ` Marc Zyngier
2021-07-20 13:13 ` Marc Zyngier
2021-07-15 16:31 ` [PATCH 04/16] KVM: arm64: Add MMIO checking infrastructure Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-20 11:13 ` Quentin Perret
2021-07-20 11:13 ` Quentin Perret
2021-07-20 11:13 ` Quentin Perret
2021-07-20 13:15 ` Marc Zyngier
2021-07-20 13:15 ` Marc Zyngier
2021-07-20 13:15 ` Marc Zyngier
2021-07-20 15:49 ` Quentin Perret
2021-07-20 15:49 ` Quentin Perret
2021-07-20 15:49 ` Quentin Perret
2021-07-22 18:04 ` Marc Zyngier
2021-07-22 18:04 ` Marc Zyngier
2021-07-22 18:04 ` Marc Zyngier
2021-07-23 10:16 ` Quentin Perret
2021-07-23 10:16 ` Quentin Perret
2021-07-23 10:16 ` Quentin Perret
2021-07-27 18:11 ` Will Deacon
2021-07-27 18:11 ` Will Deacon
2021-07-27 18:11 ` Will Deacon
2021-07-28 9:57 ` Marc Zyngier
2021-07-28 9:57 ` Marc Zyngier
2021-07-28 9:57 ` Marc Zyngier
2021-07-30 12:26 ` Will Deacon
2021-07-30 12:26 ` Will Deacon
2021-07-30 12:26 ` Will Deacon
2021-07-30 13:04 ` Marc Zyngier
2021-07-30 13:04 ` Marc Zyngier
2021-07-30 13:04 ` Marc Zyngier
2021-07-30 12:58 ` Quentin Perret
2021-07-30 12:58 ` Quentin Perret
2021-07-30 12:58 ` Quentin Perret
2021-07-15 16:31 ` [PATCH 05/16] KVM: arm64: Plumb MMIO checking into the fault handling Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-27 18:11 ` Will Deacon
2021-07-27 18:11 ` Will Deacon
2021-07-27 18:11 ` Will Deacon
2021-07-28 10:21 ` Marc Zyngier
2021-07-28 10:21 ` Marc Zyngier
2021-07-28 10:21 ` Marc Zyngier
2021-07-30 12:38 ` Will Deacon
2021-07-30 12:38 ` Will Deacon
2021-07-30 12:38 ` Will Deacon
2021-07-15 16:31 ` [PATCH 06/16] KVM: arm64: Force a full unmap on vpcu reinit Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-27 18:11 ` Will Deacon
2021-07-27 18:11 ` Will Deacon
2021-07-27 18:11 ` Will Deacon
2021-07-28 10:38 ` Marc Zyngier
2021-07-28 10:38 ` Marc Zyngier
2021-07-28 10:38 ` Marc Zyngier
2021-07-30 12:50 ` Will Deacon
2021-07-30 12:50 ` Will Deacon
2021-07-30 12:50 ` Will Deacon
2021-07-15 16:31 ` [PATCH 07/16] KVM: arm64: Wire MMIO guard hypercalls Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-27 18:11 ` Will Deacon
2021-07-27 18:11 ` Will Deacon
2021-07-27 18:11 ` Will Deacon
2021-07-28 10:47 ` Marc Zyngier
2021-07-28 10:47 ` Marc Zyngier
2021-07-28 10:47 ` Marc Zyngier
2021-07-30 13:11 ` Will Deacon
2021-07-30 13:11 ` Will Deacon
2021-07-30 13:11 ` Will Deacon
2021-08-01 11:20 ` Marc Zyngier
2021-08-01 11:20 ` Marc Zyngier
2021-08-01 11:20 ` Marc Zyngier
2021-07-15 16:31 ` [PATCH 08/16] KVM: arm64: Add tracepoint for failed MMIO guard check Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` [PATCH 09/16] KVM: arm64: Advertise a capability for MMIO guard Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` [PATCH 10/16] KVM: arm64: Add some documentation for the MMIO guard feature Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-21 21:17 ` Andrew Jones
2021-07-21 21:17 ` Andrew Jones
2021-07-21 21:17 ` Andrew Jones
2021-07-23 13:30 ` Marc Zyngier
2021-07-23 13:30 ` Marc Zyngier
2021-07-23 13:30 ` Marc Zyngier
2021-07-23 13:38 ` Andrew Jones
2021-07-23 13:38 ` Andrew Jones
2021-07-23 13:38 ` Andrew Jones
2021-07-23 13:52 ` Marc Zyngier
2021-07-23 13:52 ` Marc Zyngier
2021-07-23 13:52 ` Marc Zyngier
2021-07-15 16:31 ` [PATCH 11/16] firmware/smccc: Call arch-specific hook on discovering KVM services Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier [this message]
2021-07-15 16:31 ` [PATCH 12/16] mm/ioremap: Add arch-specific callbacks on ioremap/iounmap calls Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-27 18:12 ` Will Deacon
2021-07-27 18:12 ` Will Deacon
2021-07-27 18:12 ` Will Deacon
2021-07-28 11:01 ` Marc Zyngier
2021-07-28 11:01 ` Marc Zyngier
2021-07-28 11:01 ` Marc Zyngier
2021-07-30 14:07 ` Will Deacon
2021-07-30 14:07 ` Will Deacon
2021-07-30 14:07 ` Will Deacon
2021-07-15 16:31 ` [PATCH 13/16] arm64: Implement ioremap/iounmap hooks calling into KVM's MMIO guard Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` [PATCH 14/16] arm64: Enroll into KVM's MMIO guard if required Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` [PATCH 15/16] arm64: Add a helper to retrieve the PTE of a fixmap Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-20 11:16 ` Quentin Perret
2021-07-20 11:16 ` Quentin Perret
2021-07-20 11:16 ` Quentin Perret
2021-07-15 16:31 ` [PATCH 16/16] arm64: Register earlycon fixmap with the MMIO guard Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-15 16:31 ` Marc Zyngier
2021-07-21 21:42 ` [PATCH 00/16] KVM: arm64: MMIO guard PV services Andrew Jones
2021-07-21 21:42 ` Andrew Jones
2021-07-21 21:42 ` Andrew Jones
2021-07-22 10:00 ` Marc Zyngier
2021-07-22 10:00 ` Marc Zyngier
2021-07-22 10:00 ` Marc Zyngier
2021-07-22 13:25 ` Andrew Jones
2021-07-22 13:25 ` Andrew Jones
2021-07-22 13:25 ` Andrew Jones
2021-07-22 15:30 ` Marc Zyngier
2021-07-22 15:30 ` Marc Zyngier
2021-07-22 15:30 ` Marc Zyngier
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=20210715163159.1480168-13-maz@kernel.org \
--to=maz@kernel.org \
--cc=kernel-team@android.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sdonthineni@nvidia.com \
--cc=vatsa@codeaurora.org \
--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.