~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/sh/boot/compressed/Makefile

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/sh/boot/compressed/Makefile (Architecture ppc) and /arch/mips/boot/compressed/Makefile (Architecture mips)


  1 # SPDX-License-Identifier: GPL-2.0             << 
  2 #                                                   1 #
  3 # linux/arch/sh/boot/compressed/Makefile       !!   2 # This file is subject to the terms and conditions of the GNU General Public
                                                   >>   3 # License.
  4 #                                                   4 #
  5 # create a compressed vmlinux image from the o !!   5 # Adapted for MIPS Pete Popov, Dan Malek
  6 #                                                   6 #
                                                   >>   7 # Copyright (C) 1994 by Linus Torvalds
                                                   >>   8 # Adapted for PowerPC by Gary Thomas
                                                   >>   9 # modified by Cort (cort@cs.nmt.edu)
                                                   >>  10 #
                                                   >>  11 # Copyright (C) 2009 Lemote Inc. & DSLab, Lanzhou University
                                                   >>  12 # Author: Wu Zhangjin <wuzhangjin@gmail.com>
                                                   >>  13 #
                                                   >>  14 
                                                   >>  15 include $(srctree)/arch/mips/Kbuild.platforms
                                                   >>  16 
                                                   >>  17 # set the default size of the mallocing area for decompressing
                                                   >>  18 BOOT_HEAP_SIZE := 0x400000
                                                   >>  19 
                                                   >>  20 # Disable Function Tracer
                                                   >>  21 KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_FTRACE), $(KBUILD_CFLAGS))
                                                   >>  22 
                                                   >>  23 KBUILD_CFLAGS := $(filter-out -fstack-protector, $(KBUILD_CFLAGS))
                                                   >>  24 
                                                   >>  25 # Disable lq/sq in zboot
                                                   >>  26 ifdef CONFIG_CPU_LOONGSON64
                                                   >>  27 KBUILD_CFLAGS := $(filter-out -march=loongson3a, $(KBUILD_CFLAGS)) -march=mips64r2
                                                   >>  28 endif
                                                   >>  29 
                                                   >>  30 KBUILD_CFLAGS := $(KBUILD_CFLAGS) -D__KERNEL__ -D__DISABLE_EXPORTS \
                                                   >>  31         -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) -D"VMLINUX_LOAD_ADDRESS_ULL=$(VMLINUX_LOAD_ADDRESS)ull"
                                                   >>  32 
                                                   >>  33 KBUILD_AFLAGS := $(KBUILD_AFLAGS) -D__ASSEMBLY__ \
                                                   >>  34         -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) \
                                                   >>  35         -DKERNEL_ENTRY=$(VMLINUX_ENTRY_ADDRESS)
                                                   >>  36 
                                                   >>  37 # decompressor objects (linked with vmlinuz)
                                                   >>  38 vmlinuzobjs-y := $(obj)/head.o $(obj)/decompress.o $(obj)/string.o $(obj)/bswapsi.o
                                                   >>  39 
                                                   >>  40 ifdef CONFIG_DEBUG_ZBOOT
                                                   >>  41 vmlinuzobjs-$(CONFIG_DEBUG_ZBOOT)                  += $(obj)/dbg.o
                                                   >>  42 vmlinuzobjs-$(CONFIG_SYS_SUPPORTS_ZBOOT_UART16550) += $(obj)/uart-16550.o
                                                   >>  43 vmlinuzobjs-$(CONFIG_SYS_SUPPORTS_ZBOOT_UART_PROM) += $(obj)/uart-prom.o
                                                   >>  44 vmlinuzobjs-$(CONFIG_MIPS_ALCHEMY)                 += $(obj)/uart-alchemy.o
                                                   >>  45 vmlinuzobjs-$(CONFIG_ATH79)                        += $(obj)/uart-ath79.o
                                                   >>  46 endif
                                                   >>  47 
                                                   >>  48 vmlinuzobjs-$(CONFIG_KERNEL_XZ) += $(obj)/ashldi3.o
                                                   >>  49 
                                                   >>  50 vmlinuzobjs-$(CONFIG_KERNEL_ZSTD) += $(obj)/bswapdi.o $(obj)/ashldi3.o $(obj)/clz_ctz.o
                                                   >>  51 
                                                   >>  52 targets := $(notdir $(vmlinuzobjs-y))
                                                   >>  53 
                                                   >>  54 targets += vmlinux.bin
                                                   >>  55 
                                                   >>  56 OBJCOPYFLAGS_vmlinux.bin := $(OBJCOPYFLAGS) -O binary -R .comment -S
                                                   >>  57 
                                                   >>  58 $(obj)/vmlinux.bin: $(KBUILD_IMAGE) FORCE
                                                   >>  59         $(call if_changed,objcopy)
                                                   >>  60 
                                                   >>  61 tool_$(CONFIG_KERNEL_GZIP)    = gzip
                                                   >>  62 tool_$(CONFIG_KERNEL_BZIP2)   = bzip2_with_size
                                                   >>  63 tool_$(CONFIG_KERNEL_LZ4)     = lz4_with_size
                                                   >>  64 tool_$(CONFIG_KERNEL_LZMA)    = lzma_with_size
                                                   >>  65 tool_$(CONFIG_KERNEL_LZO)     = lzo_with_size
                                                   >>  66 tool_$(CONFIG_KERNEL_XZ)      = xzkern_with_size
                                                   >>  67 tool_$(CONFIG_KERNEL_ZSTD)    = zstd22_with_size
                                                   >>  68 
                                                   >>  69 targets += vmlinux.bin.z
                                                   >>  70 
                                                   >>  71 $(obj)/vmlinux.bin.z: $(obj)/vmlinux.bin FORCE
                                                   >>  72         $(call if_changed,$(tool_y))
                                                   >>  73 
                                                   >>  74 targets += piggy.o dummy.o
                                                   >>  75 
                                                   >>  76 OBJCOPYFLAGS_piggy.o := --add-section=.image=$(obj)/vmlinux.bin.z \
                                                   >>  77                         --set-section-flags=.image=contents,alloc,load,readonly,data
                                                   >>  78 
                                                   >>  79 $(obj)/piggy.o: $(obj)/dummy.o $(obj)/vmlinux.bin.z FORCE
                                                   >>  80         $(call if_changed,objcopy)
                                                   >>  81 
                                                   >>  82 HOSTCFLAGS_calc_vmlinuz_load_addr.o += $(LINUXINCLUDE)
                                                   >>  83 
                                                   >>  84 # Calculate the load address of the compressed kernel image
                                                   >>  85 hostprogs := calc_vmlinuz_load_addr
                                                   >>  86 
                                                   >>  87 ifneq (0x0,$(CONFIG_ZBOOT_LOAD_ADDRESS))
                                                   >>  88 zload-y = $(CONFIG_ZBOOT_LOAD_ADDRESS)
                                                   >>  89 endif
                                                   >>  90 
                                                   >>  91 ifneq ($(zload-y),)
                                                   >>  92 VMLINUZ_LOAD_ADDRESS := $(zload-y)
                                                   >>  93 else
                                                   >>  94 VMLINUZ_LOAD_ADDRESS = $(shell $(obj)/calc_vmlinuz_load_addr \
                                                   >>  95                 $(obj)/vmlinux.bin $(LINKER_LOAD_ADDRESS))
                                                   >>  96 endif
                                                   >>  97 UIMAGE_LOADADDR = $(VMLINUZ_LOAD_ADDRESS)
                                                   >>  98 
                                                   >>  99 vmlinuzobjs-y += $(obj)/piggy.o
                                                   >> 100 
                                                   >> 101 targets += ../../../../vmlinuz
                                                   >> 102 
                                                   >> 103 quiet_cmd_zld = LD      $@
                                                   >> 104       cmd_zld = $(LD) $(KBUILD_LDFLAGS) -Ttext $(VMLINUZ_LOAD_ADDRESS) -T $< $(vmlinuzobjs-y) -o $@
                                                   >> 105 quiet_cmd_strip = STRIP   $@
                                                   >> 106       cmd_strip = $(STRIP) -s $@
  7                                                   107 
  8 OBJECTS := head_32.o misc.o piggy.o \          !! 108 $(objtree)/vmlinuz: $(src)/ld.script $(vmlinuzobjs-y) $(obj)/calc_vmlinuz_load_addr
  9            ashiftrt.o ashldi3.o ashrsi3.o ashl !! 109         $(call cmd,zld)
                                                   >> 110         $(call cmd,strip)
 10                                                   111 
 11 targets := vmlinux vmlinux.bin vmlinux.bin.gz  !! 112 objboot := $(objtree)/arch/mips/boot
 12            vmlinux.bin.lzma vmlinux.bin.xz vml !! 113 
                                                   >> 114 $(objboot)/vmlinuz: $(objtree)/vmlinuz FORCE
 13                                                   115 
 14 #                                                 116 #
 15 # IMAGE_OFFSET is the load offset of the compr !! 117 # Some DECstations need all possible sections of an ECOFF executable
 16 #                                                 118 #
 17 ifeq ($(CONFIG_32BIT),y)                       !! 119 ifdef CONFIG_MACH_DECSTATION
 18 IMAGE_OFFSET    := $(shell /bin/bash -c 'print !! 120   e2eflag := -a
 19                      $$[$(CONFIG_MEMORY_START) !! 121 endif
 20                         $(CONFIG_BOOT_LINK_OFF !! 122 
                                                   >> 123 # elf2ecoff can only handle 32bit image
                                                   >> 124 hostprogs += ../elf2ecoff
                                                   >> 125 
                                                   >> 126 ifdef CONFIG_32BIT
                                                   >> 127         VMLINUZ = $(objtree)/vmlinuz
 21 else                                              128 else
 22 IMAGE_OFFSET    := $(shell /bin/bash -c 'print !! 129         VMLINUZ = $(objboot)/vmlinuz.32
 23                      $$[$(CONFIG_PAGE_OFFSET)  << 
 24                         $(KERNEL_MEMORY) + \   << 
 25                         $(CONFIG_BOOT_LINK_OFF << 
 26 endif                                             130 endif
 27                                                   131 
 28 ccflags-remove-$(CONFIG_MCOUNT) += -pg         !! 132 targets += ../vmlinuz.32
 29                                                   133 
 30 LDFLAGS_vmlinux := --oformat $(ld-bfd) -Ttext  !! 134 quiet_cmd_32 = OBJCOPY $@
 31                    -T $(obj)/../../kernel/vmli !! 135       cmd_32 = $(OBJCOPY) -O $(32bit-bfd) $(OBJCOPYFLAGS) $< $@
 32                                                   136 
 33 KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING    !! 137 $(objboot)/vmlinuz.32: $(objtree)/vmlinuz
                                                   >> 138         $(call cmd,32)
 34                                                   139 
 35 $(obj)/vmlinux: $(addprefix $(obj)/, $(OBJECTS !! 140 targets += ../vmlinuz.ecoff
 36         $(call if_changed,ld)                  << 
 37                                                   141 
 38 $(obj)/vmlinux.bin: vmlinux FORCE              !! 142 quiet_cmd_ecoff = ECOFF   $@
 39         $(call if_changed,objcopy)             !! 143       cmd_ecoff = $< $(VMLINUZ) $@ $(e2eflag)
                                                   >> 144 
                                                   >> 145 $(objboot)/vmlinuz.ecoff: $(objboot)/elf2ecoff $(VMLINUZ)
                                                   >> 146         $(call cmd,ecoff)
                                                   >> 147 
                                                   >> 148 targets += ../vmlinuz.bin
                                                   >> 149 
                                                   >> 150 OBJCOPYFLAGS_vmlinuz.bin := $(OBJCOPYFLAGS) -O binary
                                                   >> 151 
                                                   >> 152 $(objboot)/vmlinuz.bin: $(objtree)/vmlinuz
                                                   >> 153         $(call cmd,objcopy)
                                                   >> 154 
                                                   >> 155 targets += ../vmlinuz.srec
                                                   >> 156 
                                                   >> 157 OBJCOPYFLAGS_vmlinuz.srec := $(OBJCOPYFLAGS) -S -O srec
                                                   >> 158 
                                                   >> 159 $(objboot)/vmlinuz.srec: $(objtree)/vmlinuz
                                                   >> 160         $(call cmd,objcopy)
                                                   >> 161 
                                                   >> 162 targets += ../uzImage.bin
                                                   >> 163 
                                                   >> 164 $(objboot)/uzImage.bin: $(objboot)/vmlinuz.bin FORCE
                                                   >> 165         $(call if_changed,uimage,none)
                                                   >> 166 
                                                   >> 167 #
                                                   >> 168 # Flattened Image Tree (.itb) image
                                                   >> 169 #
                                                   >> 170 
                                                   >> 171 ifeq ($(ADDR_BITS),32)
                                                   >> 172 itb_addr_cells = 1
                                                   >> 173 endif
                                                   >> 174 ifeq ($(ADDR_BITS),64)
                                                   >> 175 itb_addr_cells = 2
                                                   >> 176 endif
                                                   >> 177 
                                                   >> 178 targets += ../vmlinuz.its.S
 40                                                   179 
 41 $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORC !! 180 quiet_cmd_its_cat = CAT     $@
 42         $(call if_changed,gzip)                !! 181       cmd_its_cat = cat $(real-prereqs) >$@
 43 $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FOR << 
 44         $(call if_changed,bzip2_with_size)     << 
 45 $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FO << 
 46         $(call if_changed,lzma_with_size)      << 
 47 $(obj)/vmlinux.bin.xz: $(obj)/vmlinux.bin FORC << 
 48         $(call if_changed,xzkern_with_size)    << 
 49 $(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FOR << 
 50         $(call if_changed,lzo_with_size)       << 
 51                                                   182 
 52 OBJCOPYFLAGS += -R .empty_zero_page            !! 183 $(objboot)/vmlinuz.its.S: $(addprefix $(srctree)/arch/mips/$(PLATFORM)/,$(ITS_INPUTS)) FORCE
                                                   >> 184         $(call if_changed,its_cat)
 53                                                   185 
 54 LDFLAGS_piggy.o := -r --format binary --oforma !! 186 targets += ../vmlinuz.its
                                                   >> 187 
                                                   >> 188 quiet_cmd_cpp_its_S = ITS     $@
                                                   >> 189       cmd_cpp_its_S = $(CPP) -P -C -o $@ $< \
                                                   >> 190                         -DKERNEL_NAME="\"Linux $(KERNELRELEASE)\"" \
                                                   >> 191                         -DVMLINUX_BINARY="\"$(2)\"" \
                                                   >> 192                         -DVMLINUX_COMPRESSION="\"none\"" \
                                                   >> 193                         -DVMLINUX_LOAD_ADDRESS=$(VMLINUZ_LOAD_ADDRESS) \
                                                   >> 194                         -DVMLINUX_ENTRY_ADDRESS=$(VMLINUZ_LOAD_ADDRESS) \
                                                   >> 195                         -DADDR_BITS=$(ADDR_BITS) \
                                                   >> 196                         -DADDR_CELLS=$(itb_addr_cells)
                                                   >> 197 
                                                   >> 198 $(objboot)/vmlinuz.its: $(objboot)/vmlinuz.its.S FORCE
                                                   >> 199         $(call if_changed,cpp_its_S,vmlinuz.bin)
                                                   >> 200 
                                                   >> 201 targets += ../vmlinuz.itb
                                                   >> 202 
                                                   >> 203 quiet_cmd_itb-image = ITB     $@
                                                   >> 204       cmd_itb-image = \
                                                   >> 205                 env PATH="$(objtree)/scripts/dtc:$(PATH)" \
                                                   >> 206                 $(BASH) $(MKIMAGE) \
                                                   >> 207                 -D "-I dts -O dtb -p 500 \
                                                   >> 208                         --include $(objtree)/arch/mips \
                                                   >> 209                         --warning no-unit_address_vs_reg" \
                                                   >> 210                 -f $(2) $@
 55                                                   211 
 56 $(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmli !! 212 $(objboot)/vmlinuz.itb: $(objboot)/vmlinuz.its $(objboot)/vmlinuz.bin FORCE
 57         $(call if_changed,ld)                  !! 213         $(call if_changed,itb-image,$<)
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php