All of lore.kernel.org
 help / color / mirror / Atom feed
From: 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,
	Dave Young <dyoung@redhat.com>
Subject: [patch 3/7 v2] Cleanup efi_enter_virtual_mode function
Date: Tue, 05 Nov 2013 16:20:10 +0800	[thread overview]
Message-ID: <20131105082716.825753041@dhcp-16-126.nay.redhat.com> (raw)
In-Reply-To: 20131105082007.872550445@dhcp-16-126.nay.redhat.com

[-- Attachment #1: 03-efi-enter-virtual-mode-cleanup-1.patch --]
[-- Type: text/plain, Size: 4758 bytes --]

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.

Signed-off-by: Dave Young <dyoung@redhat.com>
---
 arch/x86/platform/efi/efi.c |  107 +++++++++++++++++++++++++-------------------
 1 file changed, 63 insertions(+), 44 deletions(-)

--- linux-2.6.orig/arch/x86/platform/efi/efi.c
+++ linux-2.6/arch/x86/platform/efi/efi.c
@@ -773,44 +773,12 @@ void __init old_map_region(efi_memory_de
 		       (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 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;
@@ -837,6 +805,18 @@ void __init efi_enter_virtual_mode(void)
 		prev_md = md;
 
 	}
+}
+
+/*
+ * Map efi memory ranges for runtime serivce
+ * Return the new memmap with updated virtual addrresses.
+ */
+static void efi_map_regions(void **new_memmap, int *count)
+{
+	efi_memory_desc_t *md;
+	void *p;
+	unsigned long size;
+	u64 end, systab;
 
 	for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
 		md = p;
@@ -860,17 +840,59 @@ void __init efi_enter_virtual_mode(void)
 			efi.systab = (efi_system_table_t *) (unsigned long) systab;
 		}
 
-		new_memmap = krealloc(new_memmap,
-				      (count + 1) * memmap.desc_size,
-				      GFP_KERNEL);
-		if (!new_memmap)
+		*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,
+		memcpy(*new_memmap + (*count * memmap.desc_size), md,
 		       memmap.desc_size);
-		count++;
+		(*count)++;
 	}
 
+err_out:
+	pr_err("Error reallocating memory, EFI runtime non-functional!\n");
+}
+
+/*
+ * 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 *p, *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();
+
+	efi_map_regions(&new_memmap, &count);
+
 	BUG_ON(!efi.systab);
 
 	efi_setup_page_tables();
@@ -922,9 +944,6 @@ void __init efi_enter_virtual_mode(void)
 			 0, NULL);
 
 	return;
-
- err_out:
-	pr_err("Error reallocating memory, EFI runtime non-functional!\n");
 }
 
 /*


WARNING: multiple messages have this Message-ID (diff)
From: 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,
	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,
	Dave Young <dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Subject: [patch 3/7 v2] Cleanup efi_enter_virtual_mode function
Date: Tue, 05 Nov 2013 16:20:10 +0800	[thread overview]
Message-ID: <20131105082716.825753041@dhcp-16-126.nay.redhat.com> (raw)
In-Reply-To: 20131105082007.872550445@dhcp-16-126.nay.redhat.com

[-- Attachment #1: 03-efi-enter-virtual-mode-cleanup-1.patch --]
[-- Type: text/plain, Size: 4786 bytes --]

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.

Signed-off-by: Dave Young <dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
---
 arch/x86/platform/efi/efi.c |  107 +++++++++++++++++++++++++-------------------
 1 file changed, 63 insertions(+), 44 deletions(-)

--- linux-2.6.orig/arch/x86/platform/efi/efi.c
+++ linux-2.6/arch/x86/platform/efi/efi.c
@@ -773,44 +773,12 @@ void __init old_map_region(efi_memory_de
 		       (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 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;
@@ -837,6 +805,18 @@ void __init efi_enter_virtual_mode(void)
 		prev_md = md;
 
 	}
+}
+
+/*
+ * Map efi memory ranges for runtime serivce
+ * Return the new memmap with updated virtual addrresses.
+ */
+static void efi_map_regions(void **new_memmap, int *count)
+{
+	efi_memory_desc_t *md;
+	void *p;
+	unsigned long size;
+	u64 end, systab;
 
 	for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
 		md = p;
@@ -860,17 +840,59 @@ void __init efi_enter_virtual_mode(void)
 			efi.systab = (efi_system_table_t *) (unsigned long) systab;
 		}
 
-		new_memmap = krealloc(new_memmap,
-				      (count + 1) * memmap.desc_size,
-				      GFP_KERNEL);
-		if (!new_memmap)
+		*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,
+		memcpy(*new_memmap + (*count * memmap.desc_size), md,
 		       memmap.desc_size);
-		count++;
+		(*count)++;
 	}
 
+err_out:
+	pr_err("Error reallocating memory, EFI runtime non-functional!\n");
+}
+
+/*
+ * 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 *p, *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();
+
+	efi_map_regions(&new_memmap, &count);
+
 	BUG_ON(!efi.systab);
 
 	efi_setup_page_tables();
@@ -922,9 +944,6 @@ void __init efi_enter_virtual_mode(void)
 			 0, NULL);
 
 	return;
-
- err_out:
-	pr_err("Error reallocating memory, EFI runtime non-functional!\n");
 }
 
 /*

WARNING: multiple messages have this Message-ID (diff)
From: dyoung@redhat.com
To: linux-kernel@vger.kernel.org
Cc: mjg59@srcf.ucam.org, linux-efi@vger.kernel.org, x86@kernel.org,
	kexec@lists.infradead.org, James.Bottomley@HansenPartnership.com,
	horms@verge.net.au, bp@alien8.de, ebiederm@xmission.com,
	hpa@zytor.com, Dave Young <dyoung@redhat.com>,
	vgoyal@redhat.com
Subject: [patch 3/7 v2] Cleanup efi_enter_virtual_mode function
Date: Tue, 05 Nov 2013 16:20:10 +0800	[thread overview]
Message-ID: <20131105082716.825753041@dhcp-16-126.nay.redhat.com> (raw)
In-Reply-To: 20131105082007.872550445@dhcp-16-126.nay.redhat.com

[-- Attachment #1: 03-efi-enter-virtual-mode-cleanup-1.patch --]
[-- Type: text/plain, Size: 4902 bytes --]

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.

Signed-off-by: Dave Young <dyoung@redhat.com>
---
 arch/x86/platform/efi/efi.c |  107 +++++++++++++++++++++++++-------------------
 1 file changed, 63 insertions(+), 44 deletions(-)

--- linux-2.6.orig/arch/x86/platform/efi/efi.c
+++ linux-2.6/arch/x86/platform/efi/efi.c
@@ -773,44 +773,12 @@ void __init old_map_region(efi_memory_de
 		       (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 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;
@@ -837,6 +805,18 @@ void __init efi_enter_virtual_mode(void)
 		prev_md = md;
 
 	}
+}
+
+/*
+ * Map efi memory ranges for runtime serivce
+ * Return the new memmap with updated virtual addrresses.
+ */
+static void efi_map_regions(void **new_memmap, int *count)
+{
+	efi_memory_desc_t *md;
+	void *p;
+	unsigned long size;
+	u64 end, systab;
 
 	for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
 		md = p;
@@ -860,17 +840,59 @@ void __init efi_enter_virtual_mode(void)
 			efi.systab = (efi_system_table_t *) (unsigned long) systab;
 		}
 
-		new_memmap = krealloc(new_memmap,
-				      (count + 1) * memmap.desc_size,
-				      GFP_KERNEL);
-		if (!new_memmap)
+		*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,
+		memcpy(*new_memmap + (*count * memmap.desc_size), md,
 		       memmap.desc_size);
-		count++;
+		(*count)++;
 	}
 
+err_out:
+	pr_err("Error reallocating memory, EFI runtime non-functional!\n");
+}
+
+/*
+ * 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 *p, *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();
+
+	efi_map_regions(&new_memmap, &count);
+
 	BUG_ON(!efi.systab);
 
 	efi_setup_page_tables();
@@ -922,9 +944,6 @@ void __init efi_enter_virtual_mode(void)
 			 0, NULL);
 
 	return;
-
- err_out:
-	pr_err("Error reallocating memory, EFI runtime non-functional!\n");
 }
 
 /*


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

  parent reply	other threads:[~2013-11-05  8:38 UTC|newest]

Thread overview: 116+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-05  8:20 [patch 0/7 v2] kexec kernel efi runtime support dyoung
2013-11-05  8:20 ` dyoung
2013-11-05  8:20 ` dyoung-H+wXaHxf7aLQT0dZR+AlfA
2013-11-05  8:20 ` [patch 1/7 v2] Add function efi_remap_region for remapping to saved virt address dyoung
2013-11-05  8:20   ` dyoung
2013-11-05  8:20   ` dyoung-H+wXaHxf7aLQT0dZR+AlfA
2013-11-13 15:50   ` Matt Fleming
2013-11-13 15:50     ` Matt Fleming
2013-11-13 15:50     ` Matt Fleming
2013-11-14  1:38     ` Dave Young
2013-11-14  1:38       ` Dave Young
2013-11-14  1:38       ` Dave Young
2013-11-15 23:02   ` Toshi Kani
2013-11-15 23:02     ` Toshi Kani
2013-11-15 23:02     ` Toshi Kani
2013-11-18  2:09     ` Dave Young
2013-11-18  2:09       ` Dave Young
2013-11-18  2:09       ` Dave Young
2013-11-18  9:37       ` Dave Young
2013-11-18  9:37         ` Dave Young
2013-11-18  9:37         ` Dave Young
2013-11-05  8:20 ` [patch 2/7 v2] x86 efi: reserve boot service fix dyoung
2013-11-05  8:20   ` dyoung
2013-11-05  8:20   ` dyoung-H+wXaHxf7aLQT0dZR+AlfA
2013-11-15 23:10   ` Toshi Kani
2013-11-15 23:10     ` Toshi Kani
2013-11-15 23:10     ` Toshi Kani
2013-11-05  8:20 ` dyoung [this message]
2013-11-05  8:20   ` [patch 3/7 v2] Cleanup efi_enter_virtual_mode function dyoung
2013-11-05  8:20   ` dyoung-H+wXaHxf7aLQT0dZR+AlfA
2013-11-13 15:50   ` Matt Fleming
2013-11-13 15:50     ` Matt Fleming
2013-11-13 15:50     ` Matt Fleming
2013-11-14  1:39     ` Dave Young
2013-11-14  1:39       ` Dave Young
2013-11-14  1:39       ` Dave Young
2013-11-15 23:21   ` Toshi Kani
2013-11-15 23:21     ` Toshi Kani
2013-11-15 23:21     ` Toshi Kani
2013-11-18  2:08     ` Dave Young
2013-11-18  2:08       ` Dave Young
2013-11-18  2:08       ` Dave Young
2013-11-05  8:20 ` [patch 4/7 v2] export more efi table variable to sysfs dyoung
2013-11-05  8:20   ` dyoung
2013-11-05  8:20   ` dyoung-H+wXaHxf7aLQT0dZR+AlfA
2013-11-12  0:40   ` Greg KH
2013-11-12  0:40     ` Greg KH
2013-11-12  0:40     ` Greg KH
2013-11-12  8:19     ` Dave Young
2013-11-12  8:19       ` Dave Young
2013-11-12  8:19       ` Dave Young
2013-11-12  8:24       ` Dave Young
2013-11-12  8:24         ` Dave Young
2013-11-12  8:24         ` Dave Young
2013-11-12  8:31         ` Greg KH
2013-11-12  8:31           ` Greg KH
2013-11-12  8:31           ` Greg KH
2013-11-05  8:20 ` [patch 5/7 v2] export efi runtime memory mapping " dyoung
2013-11-05  8:20   ` dyoung
2013-11-13 15:50   ` Matt Fleming
2013-11-13 15:50     ` Matt Fleming
2013-11-13 15:50     ` Matt Fleming
2013-11-14  1:50     ` Dave Young
2013-11-14  1:50       ` Dave Young
2013-11-14  1:50       ` Dave Young
2013-11-18  2:16       ` Dave Young
2013-11-18  2:16         ` Dave Young
2013-11-18  2:16         ` Dave Young
2013-11-19 12:18         ` Matt Fleming
2013-11-19 12:18           ` Matt Fleming
2013-11-19 12:18           ` Matt Fleming
2013-11-05  8:20 ` [patch 6/7 v2] passing kexec necessary efi data via setup_data dyoung
2013-11-05  8:20   ` dyoung
2013-11-05  8:20   ` dyoung-H+wXaHxf7aLQT0dZR+AlfA
2013-11-13 15:50   ` Matt Fleming
2013-11-13 15:50     ` Matt Fleming
2013-11-13 15:50     ` Matt Fleming
2013-11-14  1:52     ` Dave Young
2013-11-14  1:52       ` Dave Young
2013-11-14  1:52       ` Dave Young
2013-11-05  8:20 ` [patch 7/7 v2] x86: add xloadflags bit for efi runtime support on kexec dyoung
2013-11-05  8:20   ` dyoung
2013-11-05  8:20   ` dyoung-H+wXaHxf7aLQT0dZR+AlfA
2013-11-13 15:50   ` Matt Fleming
2013-11-13 15:50     ` Matt Fleming
2013-11-13 15:50     ` Matt Fleming
2013-11-14  1:53     ` Dave Young
2013-11-14  1:53       ` Dave Young
2013-11-14  1:53       ` Dave Young
2013-11-13 16:20   ` H. Peter Anvin
2013-11-13 16:20     ` H. Peter Anvin
2013-11-13 16:20     ` H. Peter Anvin
2013-11-14  1:36     ` Dave Young
2013-11-14  1:36       ` Dave Young
2013-11-14  1:36       ` Dave Young
2013-11-05 14:40 ` [patch 0/7 v2] kexec kernel efi runtime support Borislav Petkov
2013-11-05 14:40   ` Borislav Petkov
2013-11-05 14:40   ` Borislav Petkov
2013-11-08 14:31 ` Matt Fleming
2013-11-08 14:31   ` Matt Fleming
2013-11-08 14:31   ` Matt Fleming
2013-11-09  3:57   ` Dave Young
2013-11-09  3:57     ` Dave Young
2013-11-09  3:57     ` Dave Young
2013-11-09  5:01     ` H. Peter Anvin
2013-11-09  5:01       ` H. Peter Anvin
2013-11-09  5:01       ` H. Peter Anvin
2013-11-11  2:13       ` Dave Young
2013-11-11  2:13         ` Dave Young
2013-11-11  2:13         ` Dave Young
2013-11-11  2:21         ` H. Peter Anvin
2013-11-11  2:21           ` H. Peter Anvin
2013-11-11  2:21           ` H. Peter Anvin
2013-11-11  2:47           ` Dave Young
2013-11-11  2:47             ` Dave Young
2013-11-11  2:47             ` Dave Young

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=20131105082716.825753041@dhcp-16-126.nay.redhat.com \
    --to=dyoung@redhat.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=bp@alien8.de \
    --cc=ebiederm@xmission.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=mjg59@srcf.ucam.org \
    --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.