Ian Campbell
2013-Jul-12 11:59 UTC
[PATCH] xen: arm: make zImage the default target which we install
From: Ian Campbell <ian.campbell@citrix.com> The zImage compatible binary is the useful one on real hardware. The relocated ELF thing is only really useful when booting directly on Fast Models. The customary suffix for that case is .axf so provide that as a target. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Wookey <wookey@linaro.org> --- xen/arch/arm/Makefile | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile index 87fabe1..0fba75c 100644 --- a/xen/arch/arm/Makefile +++ b/xen/arch/arm/Makefile @@ -40,20 +40,15 @@ endif ALL_OBJS := $(TARGET_SUBARCH)/head.o $(ALL_OBJS) -$(TARGET): $(TARGET)-syms $(TARGET).bin +$(TARGET): $(TARGET)-syms $(TARGET).axf + $(OBJCOPY) -O binary -S $< $@ + +$(TARGET).axf: $(TARGET)-syms # XXX: VE model loads by VMA so instead of # making a proper ELF we link with LMA == VMA and adjust crudely $(OBJCOPY) --change-addresses +0x80000000 $< $@ $(STRIP) $@ -# -$(TARGET).bin: $(TARGET)-syms - $(OBJCOPY) -O binary -S $< $@ - -#$(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32 -# ./boot/mkelf32 $(TARGET)-syms $(TARGET) 0x100000 \ -# `$(NM) -nr $(TARGET)-syms | head -n 1 | sed -e ''s/^\([^ ]*\).*/0x\1/''` - ifeq ($(lto),y) # Gather all LTO objects together prelink_lto.o: $(ALL_OBJS) -- 1.8.3.2
Ian Campbell
2013-Jul-15 08:38 UTC
[PATCH] xen: allow architecture to choose whether to compress installed xen binary
From: Ian Campbell <ian.campbell@citrix.com> 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@citrix.com> --- 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
Jan Beulich
2013-Jul-15 09:44 UTC
Re: [PATCH] xen: allow architecture to choose whether to compress installed xen binary
>>> On 15.07.13 at 10:38, Ian Campbell <ijc@hellion.org.uk> 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 := nRename 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).> -_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/$(notdirAs you''re touching this block already, let''s drop the .gz extension on the destination altogether - under /boot that''s pretty meaningless anyway. Jan
Ian Campbell
2013-Jul-16 09:15 UTC
Re: [PATCH] xen: allow architecture to choose whether to compress installed xen binary
On Mon, 2013-07-15 at 10:44 +0100, Jan Beulich wrote:> >>> On 15.07.13 at 10:38, Ian Campbell <ijc@hellion.org.uk> 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?> > > -_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 > > As you''re touching this block already, let''s drop the .gz extension > on the destination altogether - under /boot that''s pretty > meaningless anyway.I''m slightly concerned about breaking bootloaders (or more specifically their tooling like update-grub, grubby etc) here. I''m happy to make the change but would prefer to do it as a separate patch (which negates your "As you''re touching" comment). Ian.
Jan Beulich
2013-Jul-16 09:20 UTC
Re: [PATCH] xen: allow architecture to choose whether to compress installed xen binary
>>> On 16.07.13 at 11:15, Ian Campbell <ijc@hellion.org.uk> wrote: > On Mon, 2013-07-15 at 10:44 +0100, Jan Beulich wrote: >> >>> On 15.07.13 at 10:38, Ian Campbell <ijc@hellion.org.uk> 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.>> > -_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 >> >> As you''re touching this block already, let''s drop the .gz extension >> on the destination altogether - under /boot that''s pretty >> meaningless anyway. > > I''m slightly concerned about breaking bootloaders (or more specifically > their tooling like update-grub, grubby etc) here. I''m happy to make the > change but would prefer to do it as a separate patch (which negates your > "As you''re touching" comment).Fine with me. Jan
Ian Campbell
2013-Jul-17 11:13 UTC
Re: [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@hellion.org.uk> wrote: > > On Mon, 2013-07-15 at 10:44 +0100, Jan Beulich wrote: > >> >>> On 15.07.13 at 10:38, Ian Campbell <ijc@hellion.org.uk> 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@citrix.com> 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@citrix.com> --- 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
Ian Campbell
2013-Jul-17 11:13 UTC
[PATCH] xen: x86: drop the ".gz" suffix when installing
As Jan says it is pretty meaningless under /boot anyway. However I am slightly concerned about breaking bootloaders (or more specifically their help scripts which automatically generate config files). By inspection at leastr grub 2''s update-grub script (as present in Debian Wheezy) seems to cope (it matches on xen* not xen*.gz) Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: jbeulich@suse.com Cc: keir@xen.org --- xen/Makefile | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-) diff --git a/xen/Makefile b/xen/Makefile index 343e789..ef8a1cd 100644 --- a/xen/Makefile +++ b/xen/Makefile @@ -37,10 +37,10 @@ _build: $(TARGET)$(Z) .PHONY: _install _install: $(TARGET)$(Z) [ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot - $(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)$(Z) $(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_FULLVERSION) + ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION) $(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION).$(XEN_SUBVERSION) + ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION) $(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION) + ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION) $(DESTDIR)/boot/$(notdir $(TARGET)) $(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); \ @@ -59,10 +59,10 @@ _install: $(TARGET)$(Z) _uninstall: D=$(DESTDIR) _uninstall: T=$(notdir $(TARGET)) _uninstall: - 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)-$(XEN_FULLVERSION) + rm -f $(D)/boot/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION) + rm -f $(D)/boot/$(T)-$(XEN_VERSION) + rm -f $(D)/boot/$(T) 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.7.2.5
Jan Beulich
2013-Jul-17 11:26 UTC
Re: [PATCH] xen: x86: drop the ".gz" suffix when installing
>>> On 17.07.13 at 13:13, Ian Campbell <ian.campbell@citrix.com> wrote: > As Jan says it is pretty meaningless under /boot anyway. However I am > slightly > concerned about breaking bootloaders (or more specifically their help > scripts > which automatically generate config files). By inspection at leastr grub 2''s > update-grub script (as present in Debian Wheezy) seems to cope (it matches on > xen* not xen*.gz)Fine with me (obviously), but ...> --- a/xen/Makefile > +++ b/xen/Makefile > @@ -37,10 +37,10 @@ _build: $(TARGET)$(Z) > .PHONY: _install > _install: $(TARGET)$(Z)... where are all those $(Z) coming from? The staging tree doesn''t have this, and I also don''t recall having see a respective patch (and you also don''t mention such a patch as prerequisite). Jan> [ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot > - $(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)$(Z) $(DESTDIR)/boot/$(notdir > $(TARGET))-$(XEN_FULLVERSION) > + ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION) $(DESTDIR)/boot/$(notdir > $(TARGET))-$(XEN_VERSION).$(XEN_SUBVERSION) > + ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION) $(DESTDIR)/boot/$(notdir > $(TARGET))-$(XEN_VERSION) > + ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION) $(DESTDIR)/boot/$(notdir > $(TARGET)) > $(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); \ > @@ -59,10 +59,10 @@ _install: $(TARGET)$(Z) > _uninstall: D=$(DESTDIR) > _uninstall: T=$(notdir $(TARGET)) > _uninstall: > - 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)-$(XEN_FULLVERSION) > + rm -f $(D)/boot/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION) > + rm -f $(D)/boot/$(T)-$(XEN_VERSION) > + rm -f $(D)/boot/$(T) > 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.7.2.5
Jan Beulich
2013-Jul-17 11:31 UTC
Re: [PATCH] xen: allow architecture to choose whether to compress installed xen binary
>>> On 17.07.13 at 13:13, Ian Campbell <ijc@hellion.org.uk> wrote: > On Tue, 2013-07-16 at 10:20 +0100, Jan Beulich wrote: > In the end I thought CONFIG_XEN_INSTALL_SUFFIX was more natural, here it > is.Ah, here it comes (out of order with the other one for some reason).> --- 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)I''d prefer this to be limited in scope to _install and _uninstall (just like T and D get set for _uninstall [but for an unknown reason the same isn''t being done for _install - perhaps that''s something you could clean up as you go without risking any breakage]):> @@ -56,10 +59,10 @@ _install: $(TARGET).gz > _uninstall: D=$(DESTDIR) > _uninstall: T=$(notdir $(TARGET))Jan
Ian Campbell
2013-Jul-17 11:35 UTC
Re: [PATCH] xen: x86: drop the ".gz" suffix when installing
On Wed, 2013-07-17 at 12:26 +0100, Jan Beulich wrote:> >>> On 17.07.13 at 13:13, Ian Campbell <ian.campbell@citrix.com> wrote: > > As Jan says it is pretty meaningless under /boot anyway. However I am > > slightly > > concerned about breaking bootloaders (or more specifically their help > > scripts > > which automatically generate config files). By inspection at leastr grub 2''s > > update-grub script (as present in Debian Wheezy) seems to cope (it matches on > > xen* not xen*.gz) > > Fine with me (obviously), but ... > > > --- a/xen/Makefile > > +++ b/xen/Makefile > > @@ -37,10 +37,10 @@ _build: $(TARGET)$(Z) > > .PHONY: _install > > _install: $(TARGET)$(Z) > > ... where are all those $(Z) coming from? The staging tree doesn''t > have this, and I also don''t recall having see a respective patch > (and you also don''t mention such a patch as prerequisite).It was my reworked "xen: allow architecture to choose whether to compress installed xen binary" to which this was a reply (or perhaps a sibling). Anyway, it was <1374059599.8960.32.camel@kazak.uk.xensource.com> Sorry I should have made this clearer.> > Jan > > > [ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot > > - $(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)$(Z) $(DESTDIR)/boot/$(notdir > > $(TARGET))-$(XEN_FULLVERSION) > > + ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION) $(DESTDIR)/boot/$(notdir > > $(TARGET))-$(XEN_VERSION).$(XEN_SUBVERSION) > > + ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION) $(DESTDIR)/boot/$(notdir > > $(TARGET))-$(XEN_VERSION) > > + ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION) $(DESTDIR)/boot/$(notdir > > $(TARGET)) > > $(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); \ > > @@ -59,10 +59,10 @@ _install: $(TARGET)$(Z) > > _uninstall: D=$(DESTDIR) > > _uninstall: T=$(notdir $(TARGET)) > > _uninstall: > > - 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)-$(XEN_FULLVERSION) > > + rm -f $(D)/boot/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION) > > + rm -f $(D)/boot/$(T)-$(XEN_VERSION) > > + rm -f $(D)/boot/$(T) > > 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.7.2.5 > > >
Ian Campbell
2013-Jul-17 11:37 UTC
Re: [PATCH] xen: allow architecture to choose whether to compress installed xen binary
On Wed, 2013-07-17 at 12:31 +0100, Jan Beulich wrote:> >>> On 17.07.13 at 13:13, Ian Campbell <ijc@hellion.org.uk> wrote: > > On Tue, 2013-07-16 at 10:20 +0100, Jan Beulich wrote: > > In the end I thought CONFIG_XEN_INSTALL_SUFFIX was more natural, here it > > is. > > Ah, here it comes (out of order with the other one for some > reason).Yeah, sorry about that.> > --- 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) > > I''d prefer this to be limited in scope to _install and _uninstall (just > like T and D get set for _uninstall [but for an unknown reason the > same isn''t being done for _install - perhaps that''s something you > could clean up as you go without risking any breakage]):I''ll look into it. BTW this one is needed by _build too. Ian.
Julien Grall
2013-Jul-18 12:05 UTC
Re: [PATCH] xen: arm: make zImage the default target which we install
On 07/12/2013 12:59 PM, Ian Campbell wrote:> From: Ian Campbell <ian.campbell@citrix.com> > > The zImage compatible binary is the useful one on real hardware. The relocated > ELF thing is only really useful when booting directly on Fast Models. The > customary suffix for that case is .axf so provide that as a target. > > Signed-off-by: Ian Campbell <ian.campbell@citrix.com> > Cc: Wookey <wookey@linaro.org> > --- > xen/arch/arm/Makefile | 13 ++++--------- > 1 file changed, 4 insertions(+), 9 deletions(-) > > diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile > index 87fabe1..0fba75c 100644 > --- a/xen/arch/arm/Makefile > +++ b/xen/arch/arm/Makefile > @@ -40,20 +40,15 @@ endif > > ALL_OBJS := $(TARGET_SUBARCH)/head.o $(ALL_OBJS) > > -$(TARGET): $(TARGET)-syms $(TARGET).bin > +$(TARGET): $(TARGET)-syms $(TARGET).axf > + $(OBJCOPY) -O binary -S $< $@ > + > +$(TARGET).axf: $(TARGET)-syms > # XXX: VE model loads by VMA so instead of > # making a proper ELF we link with LMA == VMA and adjust crudely > $(OBJCOPY) --change-addresses +0x80000000 $< $@ > $(STRIP) $@ > > -# > -$(TARGET).bin: $(TARGET)-syms > - $(OBJCOPY) -O binary -S $< $@ > - > -#$(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32 > -# ./boot/mkelf32 $(TARGET)-syms $(TARGET) 0x100000 \ > -# `$(NM) -nr $(TARGET)-syms | head -n 1 | sed -e ''s/^\([^ ]*\).*/0x\1/''` > - > ifeq ($(lto),y) > # Gather all LTO objects together > prelink_lto.o: $(ALL_OBJS) >Is it possible to remove xen.axf when "make clean" is called? -- Julien
Ian Campbell
2013-Jul-18 12:10 UTC
Re: [PATCH] xen: arm: make zImage the default target which we install
On Thu, 2013-07-18 at 13:05 +0100, Julien Grall wrote:> On 07/12/2013 12:59 PM, Ian Campbell wrote: > > From: Ian Campbell <ian.campbell@citrix.com> > > > > The zImage compatible binary is the useful one on real hardware. The relocated > > ELF thing is only really useful when booting directly on Fast Models. The > > customary suffix for that case is .axf so provide that as a target. > > > > Signed-off-by: Ian Campbell <ian.campbell@citrix.com> > > Cc: Wookey <wookey@linaro.org> > > --- > > xen/arch/arm/Makefile | 13 ++++--------- > > 1 file changed, 4 insertions(+), 9 deletions(-) > > > > diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile > > index 87fabe1..0fba75c 100644 > > --- a/xen/arch/arm/Makefile > > +++ b/xen/arch/arm/Makefile > > @@ -40,20 +40,15 @@ endif > > > > ALL_OBJS := $(TARGET_SUBARCH)/head.o $(ALL_OBJS) > > > > -$(TARGET): $(TARGET)-syms $(TARGET).bin > > +$(TARGET): $(TARGET)-syms $(TARGET).axf > > + $(OBJCOPY) -O binary -S $< $@ > > + > > +$(TARGET).axf: $(TARGET)-syms > > # XXX: VE model loads by VMA so instead of > > # making a proper ELF we link with LMA == VMA and adjust crudely > > $(OBJCOPY) --change-addresses +0x80000000 $< $@ > > $(STRIP) $@ > > > > -# > > -$(TARGET).bin: $(TARGET)-syms > > - $(OBJCOPY) -O binary -S $< $@ > > - > > -#$(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32 > > -# ./boot/mkelf32 $(TARGET)-syms $(TARGET) 0x100000 \ > > -# `$(NM) -nr $(TARGET)-syms | head -n 1 | sed -e ''s/^\([^ ]*\).*/0x\1/''` > > - > > ifeq ($(lto),y) > > # Gather all LTO objects together > > prelink_lto.o: $(ALL_OBJS) > > > > Is it possible to remove xen.axf when "make clean" is called?Sure. 8<-------------------------------------------- From 2c805196a0a4cfdac3ce185d04336cca11357d63 Mon Sep 17 00:00:00 2001 From: Ian Campbell <ian.campbell@citrix.com> Date: Fri, 12 Jul 2013 12:54:42 +0100 Subject: [PATCH] xen: arm: make zImage the default target which we install The zImage compatible binary is the useful one on real hardware. The relocated ELF thing is only really useful when booting directly on Fast Models. The customary suffix for that case is .axf so provide that as a target. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Wookey <wookey@linaro.org> --- v2: Remove $(TARGET).axf on clean --- xen/arch/arm/Makefile | 14 +++++--------- 1 files changed, 5 insertions(+), 9 deletions(-) diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile index 87fabe1..5ae5831 100644 --- a/xen/arch/arm/Makefile +++ b/xen/arch/arm/Makefile @@ -40,20 +40,15 @@ endif ALL_OBJS := $(TARGET_SUBARCH)/head.o $(ALL_OBJS) -$(TARGET): $(TARGET)-syms $(TARGET).bin +$(TARGET): $(TARGET)-syms $(TARGET).axf + $(OBJCOPY) -O binary -S $< $@ + +$(TARGET).axf: $(TARGET)-syms # XXX: VE model loads by VMA so instead of # making a proper ELF we link with LMA == VMA and adjust crudely $(OBJCOPY) --change-addresses +0x80000000 $< $@ $(STRIP) $@ -# -$(TARGET).bin: $(TARGET)-syms - $(OBJCOPY) -O binary -S $< $@ - -#$(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32 -# ./boot/mkelf32 $(TARGET)-syms $(TARGET) 0x100000 \ -# `$(NM) -nr $(TARGET)-syms | head -n 1 | sed -e ''s/^\([^ ]*\).*/0x\1/''` - ifeq ($(lto),y) # Gather all LTO objects together prelink_lto.o: $(ALL_OBJS) @@ -97,3 +92,4 @@ dtb.o: $(CONFIG_DTB_FILE) clean:: rm -f asm-offsets.s xen.lds rm -f $(BASEDIR)/.xen-syms.[0-9]* + rm -f $(TARGET).axf -- 1.7.2.5
Julien Grall
2013-Jul-18 12:12 UTC
Re: [PATCH] xen: arm: make zImage the default target which we install
On 07/18/2013 01:10 PM, Ian Campbell wrote:> On Thu, 2013-07-18 at 13:05 +0100, Julien Grall wrote: >> On 07/12/2013 12:59 PM, Ian Campbell wrote: >>> From: Ian Campbell <ian.campbell@citrix.com> >>> >>> The zImage compatible binary is the useful one on real hardware. The relocated >>> ELF thing is only really useful when booting directly on Fast Models. The >>> customary suffix for that case is .axf so provide that as a target. >>> >>> Signed-off-by: Ian Campbell <ian.campbell@citrix.com> >>> Cc: Wookey <wookey@linaro.org> >>> --- >>> xen/arch/arm/Makefile | 13 ++++--------- >>> 1 file changed, 4 insertions(+), 9 deletions(-) >>> >>> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile >>> index 87fabe1..0fba75c 100644 >>> --- a/xen/arch/arm/Makefile >>> +++ b/xen/arch/arm/Makefile >>> @@ -40,20 +40,15 @@ endif >>> >>> ALL_OBJS := $(TARGET_SUBARCH)/head.o $(ALL_OBJS) >>> >>> -$(TARGET): $(TARGET)-syms $(TARGET).bin >>> +$(TARGET): $(TARGET)-syms $(TARGET).axf >>> + $(OBJCOPY) -O binary -S $< $@ >>> + >>> +$(TARGET).axf: $(TARGET)-syms >>> # XXX: VE model loads by VMA so instead of >>> # making a proper ELF we link with LMA == VMA and adjust crudely >>> $(OBJCOPY) --change-addresses +0x80000000 $< $@ >>> $(STRIP) $@ >>> >>> -# >>> -$(TARGET).bin: $(TARGET)-syms >>> - $(OBJCOPY) -O binary -S $< $@ >>> - >>> -#$(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32 >>> -# ./boot/mkelf32 $(TARGET)-syms $(TARGET) 0x100000 \ >>> -# `$(NM) -nr $(TARGET)-syms | head -n 1 | sed -e ''s/^\([^ ]*\).*/0x\1/''` >>> - >>> ifeq ($(lto),y) >>> # Gather all LTO objects together >>> prelink_lto.o: $(ALL_OBJS) >>> >> >> Is it possible to remove xen.axf when "make clean" is called? > > Sure. > > 8<-------------------------------------------- > > From 2c805196a0a4cfdac3ce185d04336cca11357d63 Mon Sep 17 00:00:00 2001 > From: Ian Campbell <ian.campbell@citrix.com> > Date: Fri, 12 Jul 2013 12:54:42 +0100 > Subject: [PATCH] xen: arm: make zImage the default target which we install > > The zImage compatible binary is the useful one on real hardware. The relocated > ELF thing is only really useful when booting directly on Fast Models. The > customary suffix for that case is .axf so provide that as a target. > > Signed-off-by: Ian Campbell <ian.campbell@citrix.com> > Cc: Wookey <wookey@linaro.org>Acked-by: Julien Grall <julien.grall@linaro.org>> --- > v2: Remove $(TARGET).axf on clean > --- > xen/arch/arm/Makefile | 14 +++++--------- > 1 files changed, 5 insertions(+), 9 deletions(-) > > diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile > index 87fabe1..5ae5831 100644 > --- a/xen/arch/arm/Makefile > +++ b/xen/arch/arm/Makefile > @@ -40,20 +40,15 @@ endif > > ALL_OBJS := $(TARGET_SUBARCH)/head.o $(ALL_OBJS) > > -$(TARGET): $(TARGET)-syms $(TARGET).bin > +$(TARGET): $(TARGET)-syms $(TARGET).axf > + $(OBJCOPY) -O binary -S $< $@ > + > +$(TARGET).axf: $(TARGET)-syms > # XXX: VE model loads by VMA so instead of > # making a proper ELF we link with LMA == VMA and adjust crudely > $(OBJCOPY) --change-addresses +0x80000000 $< $@ > $(STRIP) $@ > > -# > -$(TARGET).bin: $(TARGET)-syms > - $(OBJCOPY) -O binary -S $< $@ > - > -#$(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32 > -# ./boot/mkelf32 $(TARGET)-syms $(TARGET) 0x100000 \ > -# `$(NM) -nr $(TARGET)-syms | head -n 1 | sed -e ''s/^\([^ ]*\).*/0x\1/''` > - > ifeq ($(lto),y) > # Gather all LTO objects together > prelink_lto.o: $(ALL_OBJS) > @@ -97,3 +92,4 @@ dtb.o: $(CONFIG_DTB_FILE) > clean:: > rm -f asm-offsets.s xen.lds > rm -f $(BASEDIR)/.xen-syms.[0-9]* > + rm -f $(TARGET).axf >
Ian Campbell
2013-Jul-19 14:18 UTC
Re: [PATCH] xen: arm: make zImage the default target which we install
On Thu, 2013-07-18 at 13:12 +0100, Julien Grall wrote:> > From 2c805196a0a4cfdac3ce185d04336cca11357d63 Mon Sep 17 00:00:00 2001 > > From: Ian Campbell <ian.campbell@citrix.com> > > Date: Fri, 12 Jul 2013 12:54:42 +0100 > > Subject: [PATCH] xen: arm: make zImage the default target which we install > > > > The zImage compatible binary is the useful one on real hardware. The relocated > > ELF thing is only really useful when booting directly on Fast Models. The > > customary suffix for that case is .axf so provide that as a target. > > > > Signed-off-by: Ian Campbell <ian.campbell@citrix.com> > > Cc: Wookey <wookey@linaro.org> > Acked-by: Julien Grall <julien.grall@linaro.org>Applied, thanks.