aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/Makefile
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2011-12-01 17:55:26 +0100
committerJan Beulich <jbeulich@suse.com>2011-12-01 17:55:26 +0100
commit0bda96825f7f8fcb32a609b3d507e8f0a0adf8a2 (patch)
tree7c2659998f0dd83ac266787b5b373be4769861f4 /xen/arch/x86/Makefile
parent943730ecffa8807ebb5c47f01a686e021f3c0390 (diff)
downloadxen-0bda96825f7f8fcb32a609b3d507e8f0a0adf8a2.tar.gz
xen-0bda96825f7f8fcb32a609b3d507e8f0a0adf8a2.tar.bz2
xen-0bda96825f7f8fcb32a609b3d507e8f0a0adf8a2.zip
x86: consolidate microcode loading code
- memory was leaked on a CPU offline/online cycle (including S3) - memory was leaked on AMD systems when microcode_update() ran a 2nd time with the same data that was used on the first run - microcode never got restored on APs during S3 resume (or post-boot onlining of a CPU that was also online when microcode_update() first ran [in the event the prior microcode update got lost intermediately, which supposedly shouldn't happen]); this will still be the case when no other online CPU has an identical signature (which however is now consistent with bringing up such a CPU the very first time) - resume was unimplemented in the AMD case - there was a race between microcode_update_cpu() and microcode_resume_cpu() This also moves vendor specific type declarations to the vendor source file and sets the stage for boot time microcode loading (i.e. without Dom0 involvement). Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/arch/x86/Makefile')
-rw-r--r--xen/arch/x86/Makefile3
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 466ecee5b8..bddc52b32e 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -30,9 +30,10 @@ obj-y += io_apic.o
obj-y += msi.o
obj-y += ioport_emulate.o
obj-y += irq.o
-obj-y += microcode.o
obj-y += microcode_amd.o
obj-y += microcode_intel.o
+# This must come after the vendor specific files.
+obj-y += microcode.o
obj-y += mm.o
obj-y += mpparse.o
obj-y += nmi.o