summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-01-01 16:18:14 -0700
committerSimon Glass <sjg@chromium.org>2015-01-13 07:25:02 -0800
commitc72f74e2780350f16795dc4d69145b9c87cb3e97 (patch)
tree7a9b2cfce7be84f60e9e692049983a1c506da819 /arch/x86/include/asm
parent801d70ce026be4595e595fb6790621a6a898cee9 (diff)
downloadu-boot-imx-c72f74e2780350f16795dc4d69145b9c87cb3e97.zip
u-boot-imx-c72f74e2780350f16795dc4d69145b9c87cb3e97.tar.gz
u-boot-imx-c72f74e2780350f16795dc4d69145b9c87cb3e97.tar.bz2
x86: ivybridge: Update microcode early in boot
At present the normal update (which happens much later) does not work. This seems to have something to do with the 'no eviction' mode in the CAR, or at least moving the microcode update after that causes it not to work. For now, do an update early on so that it definitely works. Also refuse to continue unless the microcode update check (later in boot) is successful. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/x86/include/asm')
-rw-r--r--arch/x86/include/asm/arch-ivybridge/microcode.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/include/asm/arch-ivybridge/microcode.h b/arch/x86/include/asm/arch-ivybridge/microcode.h
index bc9b87c..b868283 100644
--- a/arch/x86/include/asm/arch-ivybridge/microcode.h
+++ b/arch/x86/include/asm/arch-ivybridge/microcode.h
@@ -7,6 +7,11 @@
#ifndef __ASM_ARCH_MICROCODE_H
#define __ASM_ARCH_MICROCODE_H
+/* Length of the public header on Intel microcode blobs */
+#define UCODE_HEADER_LEN 0x30
+
+#ifndef __ASSEMBLY__
+
/**
* microcode_update_intel() - Apply microcode updates
*
@@ -16,5 +21,6 @@
* not updates were found, -EINVAL if an update was invalid
*/
int microcode_update_intel(void);
+#endif /* __ASSEMBLY__ */
#endif