]> xenbits.xensource.com Git - xentesttools/bootstrap.git/commitdiff
Makefile: early microcode cpio generation - optional on EARLY_MICROCODE variable
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tue, 1 Oct 2013 14:02:00 +0000 (10:02 -0400)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tue, 1 Oct 2013 15:30:48 +0000 (11:30 -0400)
If the EARLY_MICROCODE env variable is set then we will generate
the early cpio image. Otherwise we won't and will use the old-style
of putting it in /lib/firmware/.

Also fix the AMD ucode generation - it was using the Intel blobs
and not the AMD ones.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
root_image/Makefile

index c64552e920481290a400cde725399ea4395b0556..d1a8221626c0f083ad92065380a6f738ad7b5959 100644 (file)
@@ -998,7 +998,7 @@ root_image-tools-install: userspace-prep
 
 
 .PHONY: initramfs
-initramfs: distdir  ucode-initrd
+initramfs: distdir ucode-initrd
        time sh $(LINUX_SRC)/scripts/gen_initramfs_list.sh \
                -u $(shell id -u) -g $(shell id -g) \
                {user,module}space/ $(wildcard debugspace/) \
@@ -1072,16 +1072,15 @@ QLOGIC_PATH=firmware/qlogic/
 RADEON_PATH=firmware/radeon/
 RTL_NIC_PATH=firmware/rtl_nic/
 INTEL_UCODE_PATH=firmware/intel-ucode/
-AMD_UCODE_PATH=firmware/intel-ucode/
+AMD_UCODE_PATH=firmware/amd-ucode/
 
 .PHONY: local-firmware-install
 local-firmware-install: modulespace-prep
-       FIRMWARES="3com e100 radeon bnx2x qlogic isci rtl_nic intel-ucode"; \
+       FIRMWARES="3com e100 radeon bnx2x qlogic isci rtl_nic intel-ucode amd-ucode"; \
        for firmware in $$FIRMWARES; do \
                mkdir modulespace/$(LOCAL_FIRMWARE_PATH)/$$firmware; \
                for i in `find $(LINUX_DST)/modulespace/lib/firmware/$$firmware`; \
                do \
-                       echo "File: $$i"; \
                        if [ -f "$$i" ]; then \
                                $(INSTALL_DATA) $$i modulespace/$(LOCAL_FIRMWARE_PATH)/$$firmware; \
                        fi; \
@@ -1099,7 +1098,17 @@ local-firmware-install: modulespace-prep
                $(INSTALL_DATA) $(RTL_NIC_PATH)/*.fw            modulespace/$(LOCAL_FIRMWARE_PATH)/rtl_nic ; \
        fi
 .PHONY: ucode-initrd
-ucode-initrd:
+ucode-initrd: modulespace-prep local-firmware-install
+ifneq ($(EARLY_MICROCODE),1)
+       @echo -n "Skipping early microcode generation."
+       touch $(DISTDIR)/common/ucode_initrd.cpio
+       if [ -d $(INTEL_UCODE_PATH) ] ; then \
+               $(INSTALL_DATA) $(INTEL_UCODE_PATH)/*           modulespace/$(LOCAL_FIRMWARE_PATH)/intel-ucode ; \
+       fi
+       if [ -d $(AMD_UCODE_PATH) ] ; then \
+               $(INSTALL_DATA) $(AMD_UCODE_PATH)/*             modulespace/$(LOCAL_FIRMWARE_PATH)/amd-ucode ; \
+       fi
+else
        @mkdir -p ucode_initrd/kernel/x86/microcode
        @echo -n "Generating $(DISTDIR)/common/ucode_initrd.cpio .."
        @if [ -d $(INTEL_UCODE_PATH) ] ; then \
@@ -1109,7 +1118,7 @@ ucode-initrd:
                cat $(AMD_UCODE_PATH)/* > ucode_initrd/kernel/x86/microcode/AuthenticAMD.bin; \
        fi
        @(cd ucode_initrd;find . | cpio -o -H newc > ../$(DISTDIR)/common/ucode_initrd.cpio)
-
+endif
 .PHONY:        syslinux-clean
 syslinux-clean:
        $(MAKE) -j$$(($(NCPUS) * 2)) -C syslinux/menu clean