linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Fenghua Yu" <fenghua.yu@intel.com>
To: "H Peter Anvin" <hpa@zytor.com>, "Ingo Molnar" <mingo@elte.hu>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Asit K Mallick" <asit.k.mallick@intel.com>,
	"Tigran Aivazian" <tigran@aivazian.fsnet.co.uk>,
	"Andreas Herrmann" <andreas.herrmann3@amd.com>,
	"Borislav Petkov" <borislav.petkov@amd.com>,
	"linux-kernel" <linux-kernel@vger.kernel.org>,
	"x86" <x86@kernel.org>
Cc: "Fenghua Yu" <fenghua.yu@intel.com>
Subject: [PATCH v2 09/10] x86/mm/init.c: Copy ucode from initrd image to memory
Date: Thu, 29 Nov 2012 17:47:47 -0800	[thread overview]
Message-ID: <1354240068-9821-10-git-send-email-fenghua.yu@intel.com> (raw)
In-Reply-To: <1354240068-9821-1-git-send-email-fenghua.yu@intel.com>

From: Fenghua Yu <fenghua.yu@intel.com>

Before initrd image is freed, copy valid ucode patches from initrd image
to kernel virtual memory. The saved ucode will be used to update AP in resume.

Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
---
 arch/x86/mm/init.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index d7aea41..a294d4b 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -16,6 +16,7 @@
 #include <asm/tlb.h>
 #include <asm/proto.h>
 #include <asm/dma.h>		/* for MAX_DMA_PFN */
+#include <asm/microcode.h>
 
 unsigned long __initdata pgt_buf_start;
 unsigned long __meminitdata pgt_buf_end;
@@ -391,6 +392,15 @@ void free_initmem(void)
 #ifdef CONFIG_BLK_DEV_INITRD
 void __init free_initrd_mem(unsigned long start, unsigned long end)
 {
+#ifdef CONFIG_MICROCODE_EARLY
+	/*
+	 * Remember, initrd memory may contain microcode or other useful things.
+	 * Before we lose initrd mem, we need to find a place to hold them
+	 * now that normal virtual memory is enabled.
+	 */
+	save_microcode_in_initrd(&mc_saved_data, mc_saved_in_initrd);
+#endif
+
 	/*
 	 * end could be not aligned, and We can not align that,
 	 * decompresser could be confused by aligned initrd_end
-- 
1.7.2


  parent reply	other threads:[~2012-11-30  8:50 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-30  1:47 [PATCH v2 00/11] x86/microcode: Early load microcode Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 01/10] Documentation/x86: " Fenghua Yu
2012-11-30 19:46   ` H. Peter Anvin
2012-11-30 20:40     ` Yu, Fenghua
2012-11-30  1:47 ` [PATCH v2 02/10] x86/microcode_intel.h: Define functions and macros for early loading ucode Fenghua Yu
2012-12-01  0:21   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 03/10] x86/microcode_core_early.c: Define interfaces " Fenghua Yu
2012-12-01  0:23   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 04/10] x86/microcode_intel_lib.c: Early update ucode on Intel's CPU Fenghua Yu
2012-12-01  0:24   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 05/10] x86/microcode_intel_early.c: " Fenghua Yu
2012-12-01  0:25   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-12-01  0:55     ` Yinghai Lu
2012-12-04  0:18       ` Yu, Fenghua
2012-12-11  2:39         ` Yinghai Lu
2012-12-11  3:41           ` H. Peter Anvin
2012-12-11  3:55             ` Yinghai Lu
2012-12-11  6:34               ` H. Peter Anvin
2012-12-11  7:07                 ` Yinghai Lu
2012-12-11 14:57                   ` Borislav Petkov
2012-12-11 16:46                     ` Yinghai Lu
2012-12-11 16:48                       ` H. Peter Anvin
2012-12-11 17:00                         ` Yinghai Lu
2012-12-11 17:06                           ` Borislav Petkov
2012-12-11 17:15                             ` Yinghai Lu
2012-12-11 17:26                               ` Yu, Fenghua
2012-12-11 17:38                               ` H. Peter Anvin
2012-12-11 23:53                                 ` Yinghai Lu
2012-12-11 23:57                                   ` H. Peter Anvin
2012-12-12  0:27                                     ` Yinghai Lu
2012-12-12  0:37                                       ` H. Peter Anvin
2012-12-12  7:14                                         ` Yinghai Lu
2012-12-12 10:26                                           ` Yinghai Lu
2012-12-13  1:06                                           ` Yinghai Lu
2012-12-12  6:57                                       ` H. Peter Anvin
2012-12-12 13:38                                         ` Borislav Petkov
2012-12-12 17:43                                           ` H. Peter Anvin
2012-12-13  5:12                                           ` H. Peter Anvin
2012-12-13  5:26                                             ` H. Peter Anvin
2012-12-13  7:01                                               ` Yinghai Lu
2012-12-13 15:01                                                 ` H. Peter Anvin
2012-12-13 19:13                                               ` Borislav Petkov
2012-12-13 21:36                                                 ` H. Peter Anvin
2012-12-14  9:11                                                   ` Yinghai Lu
2012-12-14 18:16                                                     ` H. Peter Anvin
2012-12-14 19:46                                                     ` H. Peter Anvin
2012-12-14 20:04                                                       ` Yinghai Lu
2012-12-14 20:08                                                         ` Yinghai Lu
2012-12-14 20:14                                                           ` Yinghai Lu
2012-12-14 20:44                                                             ` H. Peter Anvin
2012-12-15  7:57                                                           ` Yinghai Lu
2012-12-15 19:30                                                             ` H. Peter Anvin
2012-12-15 20:55                                                               ` Yinghai Lu
2012-12-15 21:31                                                                 ` H. Peter Anvin
2012-12-15 21:40                                                                 ` H. Peter Anvin
2012-12-15 22:13                                                                   ` Yinghai Lu
2012-12-15 22:17                                                                     ` H. Peter Anvin
2012-12-15 23:15                                                                       ` Yinghai Lu
2012-12-15 23:17                                                                         ` H. Peter Anvin
2012-12-19 20:37                                                                           ` Borislav Petkov
2012-12-19 21:07                                                                             ` Jacob Shin
2012-12-19 21:48                                                                               ` H. Peter Anvin
2012-12-19 22:05                                                                                 ` Jacob Shin
2012-12-19 22:25                                                                                   ` H. Peter Anvin
2012-12-19 22:47                                                                                     ` Yinghai Lu
2012-12-19 22:59                                                                                       ` H. Peter Anvin
2012-12-19 22:51                                                                                     ` Borislav Petkov
2012-12-19 22:59                                                                                       ` Jacob Shin
2012-12-19 23:03                                                                                         ` Borislav Petkov
2012-12-19 23:21                                                                                           ` Jacob Shin
2012-12-19 23:56                                                                                             ` H. Peter Anvin
2012-12-19 23:22                                                                                           ` H. Peter Anvin
2012-12-19 23:40                                                                                             ` Borislav Petkov
2012-12-20  0:02                                                                                               ` H. Peter Anvin
2012-12-20  0:10                                                                                                 ` Borislav Petkov
2012-12-20  0:15                                                                                                   ` H. Peter Anvin
2012-12-19 23:40                                                                                             ` Yinghai Lu
2012-12-19 23:43                                                                                               ` H. Peter Anvin
2012-12-19 23:48                                                                                                 ` Yinghai Lu
2012-12-19 23:40                                                                                             ` Jacob Shin
2012-12-19 23:45                                                                                               ` Yinghai Lu
2012-12-19 23:50                                                                                               ` H. Peter Anvin
2012-12-19 23:55                                                                                                 ` Borislav Petkov
2012-12-19 23:57                                                                                                   ` H. Peter Anvin
2012-12-20  0:07                                                                                                 ` Jacob Shin
2012-12-20  0:24                                                                                                   ` H. Peter Anvin
2012-12-20  0:29                                                                                                     ` Jacob Shin
2012-12-20  0:41                                                                                                       ` H. Peter Anvin
2012-12-20  2:37                                                                                                       ` H. Peter Anvin
2012-12-20  4:16                                                                                                         ` Jacob Shin
2012-12-20  4:21                                                                                                           ` H. Peter Anvin
2012-12-19 22:55                                                                                     ` Jacob Shin
2012-12-19 23:00                                                                                       ` Borislav Petkov
2012-12-19 23:17                                                                                         ` H. Peter Anvin
2012-12-19 23:30                                                                                           ` Borislav Petkov
2012-12-19 23:37                                                                                             ` H. Peter Anvin
2012-12-19 23:23                                                                                       ` H. Peter Anvin
2012-12-16  2:09                                                                   ` Yinghai Lu
2012-12-16  5:17                                                                     ` Yinghai Lu
2012-12-16  8:50                                                                       ` Yinghai Lu
2012-12-17 22:47                                                                         ` Yinghai Lu
2012-12-17 23:11                                                                           ` H. Peter Anvin
2012-12-17 23:26                                                                             ` Yinghai Lu
2012-12-18  1:11                                                                               ` Yinghai Lu
2012-12-18  1:51                                                                                 ` Yinghai Lu
2012-12-18  2:42                                                                                   ` Yinghai Lu
2012-12-14 20:10                                                         ` H. Peter Anvin
2012-12-14 20:17                                                           ` Yinghai Lu
2012-12-14 20:52                                                             ` H. Peter Anvin
2012-12-14 21:07                                                         ` Yinghai Lu
2012-12-11 18:02                               ` H. Peter Anvin
2012-12-11 18:20                                 ` H. Peter Anvin
2012-12-11 18:42                                   ` Yinghai Lu
2012-12-11 18:46                                     ` H. Peter Anvin
2012-12-11 19:18                                       ` Yinghai Lu
2012-12-11 19:33                                         ` H. Peter Anvin
2012-11-30  1:47 ` [PATCH v2 06/10] x86/head_32.S: Early update ucode in 32-bit Fenghua Yu
2012-12-01  0:26   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 07/10] x86/head64.c: Early update ucode in 64-bit Fenghua Yu
2012-12-01  0:27   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 08/10] x86/smpboot.c: Early update ucode on AP Fenghua Yu
2012-12-01  0:28   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-11-30  1:47 ` Fenghua Yu [this message]
2012-12-01  0:29   ` [tip:x86/microcode] x86/mm/init.c: Copy ucode from initrd image to memory tip-bot for Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 10/10] x86/Kconfig: Configurations to enable/disable the feature Fenghua Yu
2012-12-01  0:30   ` [tip:x86/microcode] x86/Kconfig: Configurations to enable/ disable " tip-bot for Fenghua Yu

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=1354240068-9821-10-git-send-email-fenghua.yu@intel.com \
    --to=fenghua.yu@intel.com \
    --cc=andreas.herrmann3@amd.com \
    --cc=asit.k.mallick@intel.com \
    --cc=borislav.petkov@amd.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    --cc=tigran@aivazian.fsnet.co.uk \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).