All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Young <dyoung@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: mjg59@srcf.ucam.org, linux-efi@vger.kernel.org,
	toshi.kani@hp.com, matt@console-pimps.org, greg@kroah.com,
	x86@kernel.org, kexec@lists.infradead.org,
	James.Bottomley@HansenPartnership.com, horms@verge.net.au,
	bp@alien8.de, ebiederm@xmission.com, hpa@zytor.com,
	vgoyal@redhat.com
Subject: [PATCH v5 06/14] efi: cleanup efi_enter_virtual_mode function
Date: Mon,  9 Dec 2013 17:42:19 +0800	[thread overview]
Message-ID: <1386582147-9802-7-git-send-email-dyoung@redhat.com> (raw)
In-Reply-To: <1386582147-9802-1-git-send-email-dyoung@redhat.com>

Add two small functions:
efi_merge_regions and efi_map_regions, efi_enter_virtual_mode
calls them instead of embedding two long for loop.

v1->v2:
refresh; coding style fixes.

v2->v3:
Toshi Kani:
remove unused variable
Matt: check return value of krealloc.
v3->v4:
Boris: Stretch comment to 80 cols
fix krealloc bug.

Signed-off-by: Dave Young <dyoung@redhat.com>
Acked-by: Borislav Petkov <bp@suse.de>
---
 arch/x86/platform/efi/efi.c | 123 ++++++++++++++++++++++++++------------------
 1 file changed, 72 insertions(+), 51 deletions(-)

diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 8a88c68..7778b5f 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -773,44 +773,12 @@ void __init old_map_region(efi_memory_desc_t *md)
 		       (unsigned long long)md->phys_addr);
 }
 
-/*
- * This function will switch the EFI runtime services to virtual mode.
- * Essentially, we look through the EFI memmap and map every region that
- * has the runtime attribute bit set in its memory descriptor into the
- * ->trampoline_pgd page table using a top-down VA allocation scheme.
- *
- * The old method which used to update that memory descriptor with the
- * virtual address obtained from ioremap() is still supported when the
- * kernel is booted with efi=old_map on its command line. Same old
- * method enabled the runtime services to be called without having to
- * thunk back into physical mode for every invocation.
- *
- * The new method does a pagetable switch in a preemption-safe manner
- * so that we're in a different address space when calling a runtime
- * function. For function arguments passing we do copy the PGDs of the
- * kernel page table into ->trampoline_pgd prior to each call.
- */
-void __init efi_enter_virtual_mode(void)
+/* Merge contiguous regions of the same type and attribute */
+static void __init efi_merge_regions(void)
 {
+	void *p;
 	efi_memory_desc_t *md, *prev_md = NULL;
-	void *p, *new_memmap = NULL;
-	unsigned long size;
-	efi_status_t status;
-	u64 end, systab;
-	int count = 0;
-
-	efi.systab = NULL;
-
-	/*
-	 * We don't do virtual mode, since we don't do runtime services, on
-	 * non-native EFI
-	 */
-	if (!efi_is_native()) {
-		efi_unmap_memmap();
-		return;
-	}
 
-	/* Merge contiguous regions of the same type and attribute */
 	for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
 		u64 prev_size;
 		md = p;
@@ -835,8 +803,19 @@ void __init efi_enter_virtual_mode(void)
 			continue;
 		}
 		prev_md = md;
-
 	}
+}
+
+/*
+ * Map efi memory ranges for runtime serivce and update new_memmap with virtual
+ * addresses.
+ */
+static void * __init efi_map_regions(int *count)
+{
+	efi_memory_desc_t *md;
+	void *p, *tmp, *new_memmap = NULL;
+	unsigned long size;
+	u64 end, systab;
 
 	for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
 		md = p;
@@ -852,23 +831,68 @@ void __init efi_enter_virtual_mode(void)
 
 		size = md->num_pages << EFI_PAGE_SHIFT;
 		end = md->phys_addr + size;
-
-		systab = (u64) (unsigned long) efi_phys.systab;
+		systab = (u64)(unsigned long)efi_phys.systab;
 		if (md->phys_addr <= systab && systab < end) {
 			systab += md->virt_addr - md->phys_addr;
-
-			efi.systab = (efi_system_table_t *) (unsigned long) systab;
+			efi.systab = (efi_system_table_t *)(unsigned long)systab;
 		}
 
-		new_memmap = krealloc(new_memmap,
-				      (count + 1) * memmap.desc_size,
-				      GFP_KERNEL);
-		if (!new_memmap)
-			goto err_out;
-
-		memcpy(new_memmap + (count * memmap.desc_size), md,
+		tmp = krealloc(new_memmap, (*count + 1) * memmap.desc_size,
+			       GFP_KERNEL);
+		if (!tmp)
+			goto out_krealloc;
+		new_memmap = tmp;
+		memcpy(new_memmap + (*count * memmap.desc_size), md,
 		       memmap.desc_size);
-		count++;
+		(*count)++;
+	}
+
+	return new_memmap;
+out_krealloc:
+	kfree(new_memmap);
+	return NULL;
+}
+
+/*
+ * This function will switch the EFI runtime services to virtual mode.
+ * Essentially, we look through the EFI memmap and map every region that
+ * has the runtime attribute bit set in its memory descriptor into the
+ * ->trampoline_pgd page table using a top-down VA allocation scheme.
+ *
+ * The old method which used to update that memory descriptor with the
+ * virtual address obtained from ioremap() is still supported when the
+ * kernel is booted with efi=old_map on its command line. Same old
+ * method enabled the runtime services to be called without having to
+ * thunk back into physical mode for every invocation.
+ *
+ * The new method does a pagetable switch in a preemption-safe manner
+ * so that we're in a different address space when calling a runtime
+ * function. For function arguments passing we do copy the PGDs of the
+ * kernel page table into ->trampoline_pgd prior to each call.
+ */
+void __init efi_enter_virtual_mode(void)
+{
+	efi_status_t status;
+	void *new_memmap = NULL;
+	int count = 0;
+
+	efi.systab = NULL;
+
+	/*
+	 * We don't do virtual mode, since we don't do runtime services, on
+	 * non-native EFI
+	 */
+	if (!efi_is_native()) {
+		efi_unmap_memmap();
+		return;
+	}
+
+	efi_merge_regions();
+
+	new_memmap = efi_map_regions(&count);
+	if (!new_memmap) {
+		pr_err("Error reallocating memory, EFI runtime non-functional!\n");
+		return;
 	}
 
 	BUG_ON(!efi.systab);
@@ -922,9 +946,6 @@ void __init efi_enter_virtual_mode(void)
 			 0, NULL);
 
 	return;
-
- err_out:
-	pr_err("Error reallocating memory, EFI runtime non-functional!\n");
 }
 
 /*
-- 
1.8.3.1


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

WARNING: multiple messages have this Message-ID (diff)
From: Dave Young <dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org,
	linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	toshi.kani-VXdhtT5mjnY@public.gmane.org,
	matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org,
	greg-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org,
	x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org,
	horms-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org,
	bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org,
	ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org,
	hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org,
	vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Subject: [PATCH v5 06/14] efi: cleanup efi_enter_virtual_mode function
Date: Mon,  9 Dec 2013 17:42:19 +0800	[thread overview]
Message-ID: <1386582147-9802-7-git-send-email-dyoung@redhat.com> (raw)
In-Reply-To: <1386582147-9802-1-git-send-email-dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>

Add two small functions:
efi_merge_regions and efi_map_regions, efi_enter_virtual_mode
calls them instead of embedding two long for loop.

v1->v2:
refresh; coding style fixes.

v2->v3:
Toshi Kani:
remove unused variable
Matt: check return value of krealloc.
v3->v4:
Boris: Stretch comment to 80 cols
fix krealloc bug.

Signed-off-by: Dave Young <dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Acked-by: Borislav Petkov <bp-l3A5Bk7waGM@public.gmane.org>
---
 arch/x86/platform/efi/efi.c | 123 ++++++++++++++++++++++++++------------------
 1 file changed, 72 insertions(+), 51 deletions(-)

diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 8a88c68..7778b5f 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -773,44 +773,12 @@ void __init old_map_region(efi_memory_desc_t *md)
 		       (unsigned long long)md->phys_addr);
 }
 
-/*
- * This function will switch the EFI runtime services to virtual mode.
- * Essentially, we look through the EFI memmap and map every region that
- * has the runtime attribute bit set in its memory descriptor into the
- * ->trampoline_pgd page table using a top-down VA allocation scheme.
- *
- * The old method which used to update that memory descriptor with the
- * virtual address obtained from ioremap() is still supported when the
- * kernel is booted with efi=old_map on its command line. Same old
- * method enabled the runtime services to be called without having to
- * thunk back into physical mode for every invocation.
- *
- * The new method does a pagetable switch in a preemption-safe manner
- * so that we're in a different address space when calling a runtime
- * function. For function arguments passing we do copy the PGDs of the
- * kernel page table into ->trampoline_pgd prior to each call.
- */
-void __init efi_enter_virtual_mode(void)
+/* Merge contiguous regions of the same type and attribute */
+static void __init efi_merge_regions(void)
 {
+	void *p;
 	efi_memory_desc_t *md, *prev_md = NULL;
-	void *p, *new_memmap = NULL;
-	unsigned long size;
-	efi_status_t status;
-	u64 end, systab;
-	int count = 0;
-
-	efi.systab = NULL;
-
-	/*
-	 * We don't do virtual mode, since we don't do runtime services, on
-	 * non-native EFI
-	 */
-	if (!efi_is_native()) {
-		efi_unmap_memmap();
-		return;
-	}
 
-	/* Merge contiguous regions of the same type and attribute */
 	for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
 		u64 prev_size;
 		md = p;
@@ -835,8 +803,19 @@ void __init efi_enter_virtual_mode(void)
 			continue;
 		}
 		prev_md = md;
-
 	}
+}
+
+/*
+ * Map efi memory ranges for runtime serivce and update new_memmap with virtual
+ * addresses.
+ */
+static void * __init efi_map_regions(int *count)
+{
+	efi_memory_desc_t *md;
+	void *p, *tmp, *new_memmap = NULL;
+	unsigned long size;
+	u64 end, systab;
 
 	for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
 		md = p;
@@ -852,23 +831,68 @@ void __init efi_enter_virtual_mode(void)
 
 		size = md->num_pages << EFI_PAGE_SHIFT;
 		end = md->phys_addr + size;
-
-		systab = (u64) (unsigned long) efi_phys.systab;
+		systab = (u64)(unsigned long)efi_phys.systab;
 		if (md->phys_addr <= systab && systab < end) {
 			systab += md->virt_addr - md->phys_addr;
-
-			efi.systab = (efi_system_table_t *) (unsigned long) systab;
+			efi.systab = (efi_system_table_t *)(unsigned long)systab;
 		}
 
-		new_memmap = krealloc(new_memmap,
-				      (count + 1) * memmap.desc_size,
-				      GFP_KERNEL);
-		if (!new_memmap)
-			goto err_out;
-
-		memcpy(new_memmap + (count * memmap.desc_size), md,
+		tmp = krealloc(new_memmap, (*count + 1) * memmap.desc_size,
+			       GFP_KERNEL);
+		if (!tmp)
+			goto out_krealloc;
+		new_memmap = tmp;
+		memcpy(new_memmap + (*count * memmap.desc_size), md,
 		       memmap.desc_size);
-		count++;
+		(*count)++;
+	}
+
+	return new_memmap;
+out_krealloc:
+	kfree(new_memmap);
+	return NULL;
+}
+
+/*
+ * This function will switch the EFI runtime services to virtual mode.
+ * Essentially, we look through the EFI memmap and map every region that
+ * has the runtime attribute bit set in its memory descriptor into the
+ * ->trampoline_pgd page table using a top-down VA allocation scheme.
+ *
+ * The old method which used to update that memory descriptor with the
+ * virtual address obtained from ioremap() is still supported when the
+ * kernel is booted with efi=old_map on its command line. Same old
+ * method enabled the runtime services to be called without having to
+ * thunk back into physical mode for every invocation.
+ *
+ * The new method does a pagetable switch in a preemption-safe manner
+ * so that we're in a different address space when calling a runtime
+ * function. For function arguments passing we do copy the PGDs of the
+ * kernel page table into ->trampoline_pgd prior to each call.
+ */
+void __init efi_enter_virtual_mode(void)
+{
+	efi_status_t status;
+	void *new_memmap = NULL;
+	int count = 0;
+
+	efi.systab = NULL;
+
+	/*
+	 * We don't do virtual mode, since we don't do runtime services, on
+	 * non-native EFI
+	 */
+	if (!efi_is_native()) {
+		efi_unmap_memmap();
+		return;
+	}
+
+	efi_merge_regions();
+
+	new_memmap = efi_map_regions(&count);
+	if (!new_memmap) {
+		pr_err("Error reallocating memory, EFI runtime non-functional!\n");
+		return;
 	}
 
 	BUG_ON(!efi.systab);
@@ -922,9 +946,6 @@ void __init efi_enter_virtual_mode(void)
 			 0, NULL);
 
 	return;
-
- err_out:
-	pr_err("Error reallocating memory, EFI runtime non-functional!\n");
 }
 
 /*
-- 
1.8.3.1

WARNING: multiple messages have this Message-ID (diff)
From: Dave Young <dyoung@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: linux-efi@vger.kernel.org, x86@kernel.org, mjg59@srcf.ucam.org,
	hpa@zytor.com, James.Bottomley@HansenPartnership.com,
	vgoyal@redhat.com, ebiederm@xmission.com, horms@verge.net.au,
	kexec@lists.infradead.org, bp@alien8.de, greg@kroah.com,
	matt@console-pimps.org, toshi.kani@hp.com
Subject: [PATCH v5 06/14] efi: cleanup efi_enter_virtual_mode function
Date: Mon,  9 Dec 2013 17:42:19 +0800	[thread overview]
Message-ID: <1386582147-9802-7-git-send-email-dyoung@redhat.com> (raw)
In-Reply-To: <1386582147-9802-1-git-send-email-dyoung@redhat.com>

Add two small functions:
efi_merge_regions and efi_map_regions, efi_enter_virtual_mode
calls them instead of embedding two long for loop.

v1->v2:
refresh; coding style fixes.

v2->v3:
Toshi Kani:
remove unused variable
Matt: check return value of krealloc.
v3->v4:
Boris: Stretch comment to 80 cols
fix krealloc bug.

Signed-off-by: Dave Young <dyoung@redhat.com>
Acked-by: Borislav Petkov <bp@suse.de>
---
 arch/x86/platform/efi/efi.c | 123 ++++++++++++++++++++++++++------------------
 1 file changed, 72 insertions(+), 51 deletions(-)

diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 8a88c68..7778b5f 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -773,44 +773,12 @@ void __init old_map_region(efi_memory_desc_t *md)
 		       (unsigned long long)md->phys_addr);
 }
 
-/*
- * This function will switch the EFI runtime services to virtual mode.
- * Essentially, we look through the EFI memmap and map every region that
- * has the runtime attribute bit set in its memory descriptor into the
- * ->trampoline_pgd page table using a top-down VA allocation scheme.
- *
- * The old method which used to update that memory descriptor with the
- * virtual address obtained from ioremap() is still supported when the
- * kernel is booted with efi=old_map on its command line. Same old
- * method enabled the runtime services to be called without having to
- * thunk back into physical mode for every invocation.
- *
- * The new method does a pagetable switch in a preemption-safe manner
- * so that we're in a different address space when calling a runtime
- * function. For function arguments passing we do copy the PGDs of the
- * kernel page table into ->trampoline_pgd prior to each call.
- */
-void __init efi_enter_virtual_mode(void)
+/* Merge contiguous regions of the same type and attribute */
+static void __init efi_merge_regions(void)
 {
+	void *p;
 	efi_memory_desc_t *md, *prev_md = NULL;
-	void *p, *new_memmap = NULL;
-	unsigned long size;
-	efi_status_t status;
-	u64 end, systab;
-	int count = 0;
-
-	efi.systab = NULL;
-
-	/*
-	 * We don't do virtual mode, since we don't do runtime services, on
-	 * non-native EFI
-	 */
-	if (!efi_is_native()) {
-		efi_unmap_memmap();
-		return;
-	}
 
-	/* Merge contiguous regions of the same type and attribute */
 	for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
 		u64 prev_size;
 		md = p;
@@ -835,8 +803,19 @@ void __init efi_enter_virtual_mode(void)
 			continue;
 		}
 		prev_md = md;
-
 	}
+}
+
+/*
+ * Map efi memory ranges for runtime serivce and update new_memmap with virtual
+ * addresses.
+ */
+static void * __init efi_map_regions(int *count)
+{
+	efi_memory_desc_t *md;
+	void *p, *tmp, *new_memmap = NULL;
+	unsigned long size;
+	u64 end, systab;
 
 	for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
 		md = p;
@@ -852,23 +831,68 @@ void __init efi_enter_virtual_mode(void)
 
 		size = md->num_pages << EFI_PAGE_SHIFT;
 		end = md->phys_addr + size;
-
-		systab = (u64) (unsigned long) efi_phys.systab;
+		systab = (u64)(unsigned long)efi_phys.systab;
 		if (md->phys_addr <= systab && systab < end) {
 			systab += md->virt_addr - md->phys_addr;
-
-			efi.systab = (efi_system_table_t *) (unsigned long) systab;
+			efi.systab = (efi_system_table_t *)(unsigned long)systab;
 		}
 
-		new_memmap = krealloc(new_memmap,
-				      (count + 1) * memmap.desc_size,
-				      GFP_KERNEL);
-		if (!new_memmap)
-			goto err_out;
-
-		memcpy(new_memmap + (count * memmap.desc_size), md,
+		tmp = krealloc(new_memmap, (*count + 1) * memmap.desc_size,
+			       GFP_KERNEL);
+		if (!tmp)
+			goto out_krealloc;
+		new_memmap = tmp;
+		memcpy(new_memmap + (*count * memmap.desc_size), md,
 		       memmap.desc_size);
-		count++;
+		(*count)++;
+	}
+
+	return new_memmap;
+out_krealloc:
+	kfree(new_memmap);
+	return NULL;
+}
+
+/*
+ * This function will switch the EFI runtime services to virtual mode.
+ * Essentially, we look through the EFI memmap and map every region that
+ * has the runtime attribute bit set in its memory descriptor into the
+ * ->trampoline_pgd page table using a top-down VA allocation scheme.
+ *
+ * The old method which used to update that memory descriptor with the
+ * virtual address obtained from ioremap() is still supported when the
+ * kernel is booted with efi=old_map on its command line. Same old
+ * method enabled the runtime services to be called without having to
+ * thunk back into physical mode for every invocation.
+ *
+ * The new method does a pagetable switch in a preemption-safe manner
+ * so that we're in a different address space when calling a runtime
+ * function. For function arguments passing we do copy the PGDs of the
+ * kernel page table into ->trampoline_pgd prior to each call.
+ */
+void __init efi_enter_virtual_mode(void)
+{
+	efi_status_t status;
+	void *new_memmap = NULL;
+	int count = 0;
+
+	efi.systab = NULL;
+
+	/*
+	 * We don't do virtual mode, since we don't do runtime services, on
+	 * non-native EFI
+	 */
+	if (!efi_is_native()) {
+		efi_unmap_memmap();
+		return;
+	}
+
+	efi_merge_regions();
+
+	new_memmap = efi_map_regions(&count);
+	if (!new_memmap) {
+		pr_err("Error reallocating memory, EFI runtime non-functional!\n");
+		return;
 	}
 
 	BUG_ON(!efi.systab);
@@ -922,9 +946,6 @@ void __init efi_enter_virtual_mode(void)
 			 0, NULL);
 
 	return;
-
- err_out:
-	pr_err("Error reallocating memory, EFI runtime non-functional!\n");
 }
 
 /*
-- 
1.8.3.1


  parent reply	other threads:[~2013-12-09  9:45 UTC|newest]

Thread overview: 183+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-09  9:42 [PATCH v5 00/14] kexec kernel efi runtime support Dave Young
2013-12-09  9:42 ` Dave Young
2013-12-09  9:42 ` Dave Young
2013-12-09  9:42 ` [PATCH v5 01/14] x86/mm: sparse warning fix for early_memremap Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09 15:05   ` Borislav Petkov
2013-12-09 15:05     ` Borislav Petkov
2013-12-09 15:05     ` Borislav Petkov
2013-12-10  2:12     ` Dave Young
2013-12-10  2:12       ` Dave Young
2013-12-10  2:12       ` Dave Young
2013-12-11 10:20       ` Matt Fleming
2013-12-11 10:20         ` Matt Fleming
2013-12-11 10:20         ` Matt Fleming
2013-12-11 11:12         ` Borislav Petkov
2013-12-11 11:12           ` Borislav Petkov
2013-12-12  2:06           ` Dave Young
2013-12-12  2:06             ` Dave Young
2013-12-12  2:06             ` Dave Young
2013-12-09  9:42 ` [PATCH v5 02/14] efi: use early_memremap and early_memunmap Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-11 10:39   ` Matt Fleming
2013-12-11 10:39     ` Matt Fleming
2013-12-11 10:39     ` Matt Fleming
2013-12-11 11:02     ` Leif Lindholm
2013-12-11 11:02       ` Leif Lindholm
2013-12-11 11:32       ` Matt Fleming
2013-12-11 11:32         ` Matt Fleming
2013-12-11 11:32         ` Matt Fleming
2013-12-11 15:17         ` Mark Salter
2013-12-11 15:17           ` Mark Salter
2013-12-11 15:17           ` Mark Salter
2013-12-13 15:51           ` Leif Lindholm
2013-12-13 15:51             ` Leif Lindholm
2013-12-16  1:50             ` Dave Young
2013-12-16  1:50               ` Dave Young
2013-12-16  1:50               ` Dave Young
2013-12-12  2:04     ` Dave Young
2013-12-12  2:04       ` Dave Young
2013-12-12  2:04       ` Dave Young
2013-12-11 17:38   ` Borislav Petkov
2013-12-11 17:38     ` Borislav Petkov
2013-12-11 17:38     ` Borislav Petkov
2013-12-09  9:42 ` [PATCH v5 03/14] efi: remove unused variables in __map_region Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42 ` [PATCH v5 04/14] efi: add a wrapper function efi_map_region_fixed Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42 ` [PATCH v5 05/14] efi: reserve boot service fix Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42 ` Dave Young [this message]
2013-12-09  9:42   ` [PATCH v5 06/14] efi: cleanup efi_enter_virtual_mode function Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42 ` [PATCH v5 07/14] efi: export more efi table variable to sysfs Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-11 18:32   ` Borislav Petkov
2013-12-11 18:32     ` Borislav Petkov
2013-12-11 18:32     ` Borislav Petkov
2013-12-12  2:15     ` Dave Young
2013-12-12  2:15       ` Dave Young
2013-12-12  2:15       ` Dave Young
2013-12-09  9:42 ` [PATCH v5 08/14] efi: export efi runtime memory mapping " Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-11 18:55   ` Borislav Petkov
2013-12-11 18:55     ` Borislav Petkov
2013-12-11 18:55     ` Borislav Petkov
2013-12-12  2:36     ` Dave Young
2013-12-12  2:36       ` Dave Young
2013-12-12  2:36       ` Dave Young
2013-12-12  7:13       ` Dave Young
2013-12-12  7:13         ` Dave Young
2013-12-12  7:13         ` Dave Young
2013-12-12 20:36         ` Borislav Petkov
2013-12-12 20:36           ` Borislav Petkov
2013-12-13  7:20           ` Dave Young
2013-12-13  7:20             ` Dave Young
2013-12-13  7:20             ` Dave Young
2013-12-12 20:53       ` Borislav Petkov
2013-12-12 20:53         ` Borislav Petkov
2013-12-12 20:53         ` Borislav Petkov
2013-12-13  7:26         ` Dave Young
2013-12-13  7:26           ` Dave Young
2013-12-13  7:26           ` Dave Young
2013-12-13 12:30           ` Matt Fleming
2013-12-13 12:30             ` Matt Fleming
2013-12-13 12:30             ` Matt Fleming
2013-12-16  1:33             ` Dave Young
2013-12-16  1:33               ` Dave Young
2013-12-16  1:33               ` Dave Young
2013-12-16  3:02               ` Dave Young
2013-12-16  3:02                 ` Dave Young
2013-12-16  3:02                 ` Dave Young
2013-12-16  6:02             ` Dave Young
2013-12-16  6:02               ` Dave Young
2013-12-16  6:02               ` Dave Young
2013-12-09  9:42 ` [PATCH v5 09/14] efi: passing kexec necessary efi data via setup_data Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-11 12:13   ` Matt Fleming
2013-12-11 12:13     ` Matt Fleming
2013-12-11 12:13     ` Matt Fleming
2013-12-11 14:05     ` Borislav Petkov
2013-12-11 14:05       ` Borislav Petkov
2013-12-11 14:05       ` Borislav Petkov
2013-12-12  2:11       ` Dave Young
2013-12-12  2:11         ` Dave Young
2013-12-12  2:11         ` Dave Young
2013-12-12  2:10     ` Dave Young
2013-12-12  2:10       ` Dave Young
2013-12-12  2:10       ` Dave Young
2013-12-11 22:20   ` Borislav Petkov
2013-12-11 22:20     ` Borislav Petkov
2013-12-11 22:20     ` Borislav Petkov
2013-12-12  3:06     ` Dave Young
2013-12-12  3:06       ` Dave Young
2013-12-12  3:06       ` Dave Young
2013-12-12  6:25       ` Dave Young
2013-12-12  6:25         ` Dave Young
2013-12-12  6:25         ` Dave Young
2013-12-12  7:17       ` Dave Young
2013-12-12  7:17         ` Dave Young
2013-12-12  7:17         ` Dave Young
2013-12-12 21:04         ` Borislav Petkov
2013-12-12 21:04           ` Borislav Petkov
2013-12-12 21:04           ` Borislav Petkov
2013-12-13  7:27           ` Dave Young
2013-12-13  7:27             ` Dave Young
2013-12-13  7:27             ` Dave Young
2013-12-09  9:42 ` [PATCH v5 10/14] efi: only print saved efi runtime maps instead of all memmap ranges for kexec Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-13 16:01   ` Borislav Petkov
2013-12-13 16:01     ` Borislav Petkov
2013-12-16  2:00     ` Dave Young
2013-12-16  2:00       ` Dave Young
2013-12-16  2:00       ` Dave Young
2013-12-16 11:33       ` Borislav Petkov
2013-12-16 11:33         ` Borislav Petkov
2013-12-16 11:33         ` Borislav Petkov
2013-12-17  6:34         ` Dave Young
2013-12-17  6:34           ` Dave Young
2013-12-17  6:34           ` Dave Young
2013-12-17 15:58           ` Borislav Petkov
2013-12-17 15:58             ` Borislav Petkov
2013-12-17 15:58             ` Borislav Petkov
2013-12-18  2:06             ` Dave Young
2013-12-18  2:06               ` Dave Young
2013-12-18  2:06               ` Dave Young
2013-12-09  9:42 ` [PATCH v5 11/14] x86: add xloadflags bit for efi runtime support on kexec Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42 ` [PATCH v5 12/14] x86: export x86 boot_params to sysfs Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-13 20:04   ` Borislav Petkov
2013-12-13 20:04     ` Borislav Petkov
2013-12-13 20:04     ` Borislav Petkov
2013-12-09  9:42 ` [PATCH v5 13/14] x86: reserve setup_data ranges late after parsing memmap cmdline Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-13 20:04   ` Borislav Petkov
2013-12-13 20:04     ` Borislav Petkov
2013-12-13 20:04     ` Borislav Petkov
2013-12-09  9:42 ` [PATCH v5 14/14] x86: kdebugfs do not use __va for getting setup_data virt addr Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-09  9:42   ` Dave Young
2013-12-10 23:25 ` [PATCH v5 00/14] kexec kernel efi runtime support Andrew Morton
2013-12-10 23:25   ` Andrew Morton
2013-12-10 23:25   ` Andrew Morton
2013-12-10 23:32   ` Borislav Petkov
2013-12-10 23:32     ` Borislav Petkov
2013-12-10 23:38     ` H. Peter Anvin
2013-12-10 23:38       ` H. Peter Anvin
2013-12-10 23:38       ` H. Peter Anvin
2013-12-11 12:37       ` Matt Fleming
2013-12-11 12:37         ` Matt Fleming
2013-12-11 12:37         ` Matt Fleming

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=1386582147-9802-7-git-send-email-dyoung@redhat.com \
    --to=dyoung@redhat.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=bp@alien8.de \
    --cc=ebiederm@xmission.com \
    --cc=greg@kroah.com \
    --cc=horms@verge.net.au \
    --cc=hpa@zytor.com \
    --cc=kexec@lists.infradead.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt@console-pimps.org \
    --cc=mjg59@srcf.ucam.org \
    --cc=toshi.kani@hp.com \
    --cc=vgoyal@redhat.com \
    --cc=x86@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.