From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH] xen: allow architecture to choose whether to compress installed xen binary Date: Wed, 17 Jul 2013 12:13:19 +0100 Message-ID: <1374059599.8960.32.camel@kazak.uk.xensource.com> References: <1373630398-20993-1-git-send-email-ijc@hellion.org.uk> <1373877510-18967-1-git-send-email-ijc@hellion.org.uk> <51E3E0B302000078000E4DEA@nat28.tlf.novell.com> <1373966142.4663.17.camel@kazak.uk.xensource.com> <51E52C9202000078000E5405@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <51E52C9202000078000E5405@nat28.tlf.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich Cc: julien.grall@citrix.com, keir@xen.org, stefano.stabellini@eu.citrix.com, tim@xen.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On Tue, 2013-07-16 at 10:20 +0100, Jan Beulich wrote: > >>> On 16.07.13 at 11:15, Ian Campbell wrote: > > On Mon, 2013-07-15 at 10:44 +0100, Jan Beulich wrote: > >> >>> On 15.07.13 at 10:38, Ian Campbell wrote: > >> > 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) > >> > >> There are two changes I'd like to suggest: > >> > >> > --- 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 > >> > >> Rename it suitably, leave it empty for ARM and set it to .gz on x86, > >> allowing it to also be used for other purposes (like a different > >> suffix if e.g. another compression method is supported on some > >> platform). > > > > Heh, my first (unposted) version did exactly that but I decided people > > would prefer this way as a less intrusive change. I will change it back > > and use CONFIG_INSTALL_XEN_SUFFIX perhaps? > > Yes, please. In the end I thought CONFIG_XEN_INSTALL_SUFFIX was more natural, here it is. 8<------------------------------------ commit e814a4a403d4e0e1e76e9c80f9906fe972ad0a2d Author: Ian Campbell Date: Fri Jul 12 13:15:35 2013 +0100 xen: allow architecture to choose how/whether to compress installed xen binary 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 --- v2: Allowarch to specify the compression suffix to use diff --git a/config/arm32.mk b/config/arm32.mk index d8e958b..3bc642d 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_XEN_INSTALL_SUFFIX := + # -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..1130630 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_XEN_INSTALL_SUFFIX := + CFLAGS += #-marm -march= -mcpu= etc HAS_PL011 := y diff --git a/config/x86_64.mk b/config/x86_64.mk index 4ec6cc1..70c0d8d 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_XEN_INSTALL_SUFFIX := .gz + CFLAGS += -m64 SunOS_LIBDIR = $(SunOS_LIBDIR_x86_64) diff --git a/xen/Makefile b/xen/Makefile index 854a370..343e789 100644 --- a/xen/Makefile +++ b/xen/Makefile @@ -28,16 +28,19 @@ else echo "*** Xen x86/32 target no longer supported!" endif +# Define as an alias to avoid amazingly long lines +Z := $(CONFIG_XEN_INSTALL_SUFFIX) + .PHONY: _build -_build: $(TARGET).gz +_build: $(TARGET)$(Z) .PHONY: _install -_install: $(TARGET).gz +_install: $(TARGET)$(Z) [ -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)$(Z) $(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_FULLVERSION)$(Z) + ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION)$(Z) $(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z) + ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION)$(Z) $(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION)$(Z) + ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION)$(Z) $(DESTDIR)/boot/$(notdir $(TARGET))$(Z) $(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 +59,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)$(Z) + rm -f $(D)/boot/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z) + rm -f $(D)/boot/$(T)-$(XEN_VERSION)$(Z) + rm -f $(D)/boot/$(T)$(Z) 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