aboutsummaryrefslogtreecommitdiffstats
path: root/src/config
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2024-03-15 17:43:49 +0000
committerMichael Brown <mcb30@ipxe.org>2024-03-15 17:43:49 +0000
commit17882e76afc0e69a0d4ed142aa33b94017ae4e58 (patch)
tree43b4c027ad128fc52dffa463599274a6ea660a16 /src/config
parent1344e13a03cb6ed25372651cae6b057b863c89be (diff)
downloadipxe-17882e76afc0e69a0d4ed142aa33b94017ae4e58.tar.gz
[ucode] Add support for updating x86 microcode
Intel and AMD distribute microcode updates, which are typically applied by the BIOS and/or the booted operating system. BIOS updates can be difficult to obtain and cumbersome to apply, and are often neglected. Operating system updates may be subject to strict change control processes, particularly for production workloads. There is therefore value in being able to update the microcode at boot time using a freshly downloaded microcode update file, particularly in scenarios where the physical hardware and the installed operating system are controlled by different parties (such as in a public cloud infrastructure). Add support for parsing Intel and AMD microcode update images, and for applying the updates to all CPUs in the system. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/config')
-rw-r--r--src/config/config.c3
-rw-r--r--src/config/general.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/config/config.c b/src/config/config.c
index abb7d16a2..209336c25 100644
--- a/src/config/config.c
+++ b/src/config/config.c
@@ -188,6 +188,9 @@ REQUIRE_OBJECT ( zlib );
#ifdef IMAGE_GZIP
REQUIRE_OBJECT ( gzip );
#endif
+#ifdef IMAGE_UCODE
+REQUIRE_OBJECT ( ucode );
+#endif
/*
* Drag in all requested commands
diff --git a/src/config/general.h b/src/config/general.h
index c9cdb3dd4..e883e072f 100644
--- a/src/config/general.h
+++ b/src/config/general.h
@@ -127,6 +127,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#define IMAGE_PEM /* PEM image support */
//#define IMAGE_ZLIB /* ZLIB image support */
//#define IMAGE_GZIP /* GZIP image support */
+//#define IMAGE_UCODE /* Microcode update image support */
/*
* Command-line commands to include