[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] xen: allow architecture to choose whether to compress installed xen binary



From: Ian Campbell <ian.campbell@xxxxxxxxxx>

This is a follow up to "xen: arm: make zImage the default target which we
install".

On ARM the xen.gz binary installed into /boot is not immediately useful because
bootloaders (e.g. u-boot) do not unconditionally support decompression (except
via the uImage wrapper, which we currently do not support via our build system)

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
 config/arm32.mk  |  2 ++
 config/arm64.mk  |  2 ++
 config/x86_64.mk |  2 ++
 xen/Makefile     | 26 ++++++++++++++++----------
 4 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/config/arm32.mk b/config/arm32.mk
index d8e958b..f38ca3a 100644
--- a/config/arm32.mk
+++ b/config/arm32.mk
@@ -2,6 +2,8 @@ CONFIG_ARM := y
 CONFIG_ARM_32 := y
 CONFIG_ARM_$(XEN_OS) := y
 
+CONFIG_INSTALL_COMPRESSED_XEN := n
+
 # -march= -mcpu=
 
 # Explicitly specifiy 32-bit ARM ISA since toolchain default can be -mthumb:
diff --git a/config/arm64.mk b/config/arm64.mk
index b2457eb..c625d02 100644
--- a/config/arm64.mk
+++ b/config/arm64.mk
@@ -2,6 +2,8 @@ CONFIG_ARM := y
 CONFIG_ARM_64 := y
 CONFIG_ARM_$(XEN_OS) := y
 
+CONFIG_INSTALL_COMPRESSED_XEN := n
+
 CFLAGS += #-marm -march= -mcpu= etc
 
 HAS_PL011 := y
diff --git a/config/x86_64.mk b/config/x86_64.mk
index 4ec6cc1..be3273d 100644
--- a/config/x86_64.mk
+++ b/config/x86_64.mk
@@ -8,6 +8,8 @@ CONFIG_MIGRATE := y
 CONFIG_XCUTILS := y
 CONFIG_IOEMU ?= y
 
+CONFIG_INSTALL_COMPRESSED_XEN := y
+
 CFLAGS += -m64
 
 SunOS_LIBDIR = $(SunOS_LIBDIR_x86_64)
diff --git a/xen/Makefile b/xen/Makefile
index 854a370..8898d3f 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -28,16 +28,22 @@ else
        echo "*** Xen x86/32 target no longer supported!"
 endif
 
+ifeq ($(CONFIG_INSTALL_COMPRESSED_XEN),y)
+GZ := .gz
+else
+GZ :=
+endif
+
 .PHONY: _build
-_build: $(TARGET).gz
+_build: $(TARGET)$(GZ)
 
 .PHONY: _install
-_install: $(TARGET).gz
+_install: $(TARGET)$(GZ)
        [ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot
-       $(INSTALL_DATA) $(TARGET).gz $(DESTDIR)/boot/$(notdir 
$(TARGET))-$(XEN_FULLVERSION).gz
-       ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION).gz 
$(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION).$(XEN_SUBVERSION).gz
-       ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION).gz 
$(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION).gz
-       ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION).gz 
$(DESTDIR)/boot/$(notdir $(TARGET)).gz
+       $(INSTALL_DATA) $(TARGET)$(GZ) $(DESTDIR)/boot/$(notdir 
$(TARGET))-$(XEN_FULLVERSION)$(GZ)
+       ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION)$(GZ) 
$(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION).$(XEN_SUBVERSION)$(GZ)
+       ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION)$(GZ) 
$(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION)$(GZ)
+       ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION)$(GZ) 
$(DESTDIR)/boot/$(notdir $(TARGET))$(GZ)
        $(INSTALL_DATA) $(TARGET)-syms $(DESTDIR)/boot/$(notdir 
$(TARGET))-syms-$(XEN_FULLVERSION)
        if [ -r $(TARGET).efi -a -n '$(EFI_DIR)' ]; then \
                [ -d $(DESTDIR)$(EFI_DIR) ] || $(INSTALL_DIR) 
$(DESTDIR)$(EFI_DIR); \
@@ -56,10 +62,10 @@ _install: $(TARGET).gz
 _uninstall: D=$(DESTDIR)
 _uninstall: T=$(notdir $(TARGET))
 _uninstall:
-       rm -f $(D)/boot/$(T)-$(XEN_FULLVERSION).gz
-       rm -f $(D)/boot/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION).gz
-       rm -f $(D)/boot/$(T)-$(XEN_VERSION).gz
-       rm -f $(D)/boot/$(T).gz
+       rm -f $(D)/boot/$(T)-$(XEN_FULLVERSION)$(GZ)
+       rm -f $(D)/boot/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(GZ)
+       rm -f $(D)/boot/$(T)-$(XEN_VERSION)$(GZ)
+       rm -f $(D)/boot/$(T)$(GZ)
        rm -f $(D)/boot/$(T)-syms-$(XEN_FULLVERSION)
        rm -f $(D)$(EFI_DIR)/$(T)-$(XEN_FULLVERSION).efi
        rm -f $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION).efi
-- 
1.8.3.2


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.