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

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



On Tue, 2013-07-16 at 10:20 +0100, Jan Beulich wrote:
> >>> On 16.07.13 at 11:15, Ian Campbell <ijc@xxxxxxxxxxxxxx> wrote:
> > On Mon, 2013-07-15 at 10:44 +0100, Jan Beulich wrote:
> >> >>> On 15.07.13 at 10:38, Ian Campbell <ijc@xxxxxxxxxxxxxx> 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 <ian.campbell@xxxxxxxxxx>
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 <ian.campbell@xxxxxxxxxx>
    ---
    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



_______________________________________________
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®.