]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
Merge patch series "pxe: Allow extlinux booting without CMDLINE enabled"
authorTom Rini <trini@konsulko.com>
Wed, 10 Apr 2024 23:06:27 +0000 (17:06 -0600)
committerTom Rini <trini@konsulko.com>
Wed, 10 Apr 2024 23:06:27 +0000 (17:06 -0600)
Simon Glass <sjg@chromium.org> says:

This series is the culmanation of the current line of refactoring
series. It adjusts pxe to call the booting functionality directly
rather than going through the command-line interface.

With this is is possible to boot using the extlinux bootmeth without
the command line enabled.

It also updates fastboot to do a similar thing.

32 files changed:
1  2 
arch/arm/lib/Makefile
arch/mips/lib/Makefile
arch/x86/lib/Makefile
boot/Kconfig
boot/Makefile
boot/pxe_utils.c
cmd/Kconfig
configs/colibri_vf_defconfig
configs/iot_devkit_defconfig
configs/mx6memcal_defconfig
configs/xilinx_versal_mini_defconfig
configs/xilinx_versal_mini_emmc0_defconfig
configs/xilinx_versal_mini_emmc1_defconfig
configs/xilinx_versal_mini_ospi_defconfig
configs/xilinx_versal_mini_qspi_defconfig
configs/xilinx_versal_net_mini_ospi_defconfig
configs/xilinx_versal_net_mini_qspi_defconfig
configs/xilinx_zynqmp_mini_defconfig
configs/xilinx_zynqmp_mini_emmc0_defconfig
configs/xilinx_zynqmp_mini_emmc1_defconfig
configs/xilinx_zynqmp_mini_nand_defconfig
configs/xilinx_zynqmp_mini_nand_single_defconfig
configs/xilinx_zynqmp_mini_qspi_defconfig
configs/zynq_cse_nand_defconfig
configs/zynq_cse_nor_defconfig
configs/zynq_cse_qspi_defconfig
doc/android/fastboot.rst
drivers/fastboot/Kconfig
drivers/fastboot/fb_command.c
include/bootm.h
include/fastboot-internal.h
include/fastboot.h

Simple merge
Simple merge
Simple merge
diff --cc boot/Kconfig
index d9a6c27005947e2de89abe53d314be8b339b62da,d83047acbd0dca524e92a9fc5fd32b1e8cc65d61..777e408e24381e525dffa3d36ddba574d325a95d
@@@ -721,6 -677,85 +688,100 @@@ config BOOTMETH_SCRIP
  
  endif # BOOTSTD
  
+ config BOOTM
+       bool "Support booting an application image from memory"
+       default y
+       help
+         This is the main boot implementation in U-Boot, supporting a wide
+         variety of features including FIT and legacy-image boot, kernel and
+         FDT selection, setting up of the command line for the OS and many
+         other features.
+         This option should normally be enabled. It is used to implement the
+         'bootm' command.
+ config BOOTM_LINUX
+       bool "Support booting Linux OS images"
+       depends on BOOTM || CMD_BOOTZ || CMD_BOOTI
+       default y
+       help
+         Support booting the Linux kernel directly via a command such as bootm
+         or booti or bootz.
+ config BOOTM_NETBSD
+       bool "Support booting NetBSD (non-EFI) loader images"
+       depends on BOOTM
+       default y
+       help
+         Support booting NetBSD via the bootm command.
+ config BOOTM_OPENRTOS
+       bool "Support booting OPENRTOS / FreeRTOS images"
+       depends on BOOTM
+       help
+         Support booting OPENRTOS / FreeRTOS via the bootm command.
+ config BOOTM_OSE
+       bool "Support booting Enea OSE images"
+       depends on (ARM && (ARM64 || CPU_V7A || CPU_V7R) || SANDBOX || PPC || X86)
+       depends on BOOTM
+       help
+         Support booting Enea OSE images via the bootm command.
+ config BOOTM_PLAN9
+       bool "Support booting Plan9 OS images"
+       depends on BOOTM
+       default y
+       help
+         Support booting Plan9 images via the bootm command.
+ config BOOTM_RTEMS
+       bool "Support booting RTEMS OS images"
+       depends on BOOTM
+       default y
+       help
+         Support booting RTEMS images via the bootm command.
+ config BOOTM_VXWORKS
+       bool "Support booting VxWorks OS images"
+       depends on BOOTM
+       default y
+       help
+         Support booting VxWorks images via the bootm command.
+ config ANDROID_BOOT_IMAGE
+       bool "Android Boot Images"
+       default y if FASTBOOT
+       help
+         This enables support for booting images which use the Android
+         image format header.
+ config TIMESTAMP
+       bool "Show image date and time when displaying image information"
+       default y if CMD_DATE
+       help
+         When CONFIG_TIMESTAMP is selected, the timestamp (date and time) of
+         an image is printed by image commands like bootm or iminfo. This
+         is shown as 'Timestamp: xxx' and 'Created: xxx'. If this option is
+         enabled, then U-Boot requires FITs to have a timestamp. If a FIT is
+         loaded that does not, the message 'Wrong FIT format: no timestamp'
+         is shown.
++config BUTTON_CMD
++      bool "Support for running a command if a button is held during boot"
++      depends on CMDLINE
++      depends on BUTTON
++      help
++        For many embedded devices it's useful to enter a special flashing mode
++        such as fastboot mode when a button is held during boot. This option
++        allows arbitrary commands to be assigned to specific buttons. These will
++        be run after "preboot" if the button is held. Configuration is done via
++        the environment variables "button_cmd_N_name" and "button_cmd_N" where n is
++        the button number (starting from 0). e.g:
++
++          "button_cmd_0_name=vol_down"
++          "button_cmd_0=fastboot usb 0"
++
  config LEGACY_IMAGE_FORMAT
        bool "Enable support for the legacy image format"
        default y if !FIT_SIGNATURE && !TI_SECURE_DEVICE
diff --cc boot/Makefile
Simple merge
index 96205626750325320aafe2287fa38ab65e304e99,5ceabfd04ee6d18f5aa3020f2e9dee5a14eb2ac0..d5e1bead125e45fd2c591a11d8d3b9ddf385c47a
@@@ -469,6 -470,198 +470,220 @@@ skip_overlay
  }
  #endif
  
 -                      fdtfile = label->fdt;
+ /**
+  * calc_fdt_fname() - Figure out the filename to use for the FDT
+  *
+  * Determine the path to the FDT filename, based on the "fdtfile" environment
+  * variable. Use <soc>-<board>.dtb as a fallback
+  *
+  * @fdtdir: Directory to use for the FDT file
+  * Return: allocated filename (including directory), or NULL if out of memory
+  */
+ static char *calc_fdt_fname(const char *fdtdir)
+ {
+       char *fdtfile;
+       char *f1, *f2, *f3, *f4, *slash;
+       int len;
+       f1 = env_get("fdtfile");
+       if (f1) {
+               f2 = "";
+               f3 = "";
+               f4 = "";
+       } else {
+               /*
+                * For complex cases where this code doesn't generate the
+                * correct filename, the board code should set $fdtfile during
+                * early boot, or the boot scripts should set $fdtfile before
+                * invoking "pxe" or "sysboot".
+                */
+               f1 = env_get("soc");
+               f2 = "-";
+               f3 = env_get("board");
+               f4 = ".dtb";
+               if (!f1) {
+                       f1 = "";
+                       f2 = "";
+               }
+               if (!f3) {
+                       f2 = "";
+                       f3 = "";
+               }
+       }
+       len = strlen(fdtdir);
+       if (!len)
+               slash = "./";
+       else if (fdtdir[len - 1] != '/')
+               slash = "/";
+       else
+               slash = "";
+       len = strlen(fdtdir) + strlen(slash) + strlen(f1) + strlen(f2) +
+               strlen(f3) + strlen(f4) + 1;
+       fdtfile = malloc(len);
+       if (!fdtfile) {
+               printf("malloc fail (FDT filename)\n");
+               return NULL;
+       }
+       snprintf(fdtfile, len, "%s%s%s%s%s%s", fdtdir, slash, f1, f2, f3, f4);
+       return fdtfile;
+ }
+ /**
+  * label_run_boot() - Run the correct boot procedure
+  *
+  * fdt usage is optional:
+  * It handles the following scenarios.
+  *
+  * Scenario 1: If fdt_addr_r specified and "fdt" or "fdtdir" label is
+  * defined in pxe file, retrieve fdt blob from server. Pass fdt_addr_r to
+  * bootm, and adjust argc appropriately.
+  *
+  * If retrieve fails and no exact fdt blob is specified in pxe file with
+  * "fdt" label, try Scenario 2.
+  *
+  * Scenario 2: If there is an fdt_addr specified, pass it along to
+  * bootm, and adjust argc appropriately.
+  *
+  * Scenario 3: If there is an fdtcontroladdr specified, pass it along to
+  * bootm, and adjust argc appropriately, unless the image type is fitImage.
+  *
+  * Scenario 4: fdt blob is not available.
+  *
+  * @ctx: PXE context
+  * @label: Label to process
+  * @kernel_addr: string containing the kernel address / config
+  * @initrd_str: string containing the initrd address / size
+  * @initrd_addr_str: initrd address, or NULL if none
+  * @initrd_filesize: initrd size in bytes; only valid if initrd_addr_str is not
+  *    NULL
+  * Returns does not return on success, otherwise returns 0 if a localboot
+  *    label was processed, or 1 on error
+  */
+ static int label_run_boot(struct pxe_context *ctx, struct pxe_label *label,
+                         char *kernel_addr, char *initrd_str,
+                         char *initrd_addr_str, char *initrd_filesize)
+ {
+       struct bootm_info bmi;
+       const char *fdt_addr;
+       ulong kernel_addr_r;
+       void *buf;
+       int ret;
+       if (IS_ENABLED(CONFIG_BOOTM))
+               bootm_init(&bmi);
+       fdt_addr = env_get("fdt_addr_r");
+       /* For FIT, the label can be identical to kernel one */
+       if (label->fdt && !strcmp(label->kernel_label, label->fdt)) {
+               fdt_addr = kernel_addr;
+       /* if fdt label is defined then get fdt from server */
+       } else if (fdt_addr) {
+               char *fdtfile = NULL;
+               char *fdtfilefree = NULL;
+               if (label->fdt) {
 -      bmi.addr_fit = kernel_addr;
++                      if (IS_ENABLED(CONFIG_SUPPORT_PASSING_ATAGS)) {
++                              if (strcmp("-", label->fdt))
++                                      fdtfile = label->fdt;
++                      } else {
++                              fdtfile = label->fdt;
++                      }
+               } else if (label->fdtdir) {
+                       fdtfilefree = calc_fdt_fname(label->fdtdir);
+                       if (!fdtfilefree)
+                               return -ENOMEM;
+                       fdtfile = fdtfilefree;
+               }
+               if (fdtfile) {
+                       int err = get_relfile_envaddr(ctx, fdtfile,
+                                                     "fdt_addr_r", NULL);
+                       free(fdtfilefree);
+                       if (err < 0) {
+                               fdt_addr = NULL;
+                               if (label->fdt) {
+                                       printf("Skipping %s for failure retrieving FDT\n",
+                                              label->name);
+                                       return -ENOENT;
+                               }
++
++                              if (label->fdtdir) {
++                                      printf("Skipping fdtdir %s for failure retrieving dts\n",
++                                              label->fdtdir);
++                              }
+                       }
+                       if (label->kaslrseed)
+                               label_boot_kaslrseed();
+ #ifdef CONFIG_OF_LIBFDT_OVERLAY
+                       if (label->fdtoverlays)
+                               label_boot_fdtoverlay(ctx, label);
+ #endif
+               } else {
+                       fdt_addr = NULL;
+               }
+       }
 -      if (!fdt_addr)
 -              fdt_addr = env_get("fdt_addr");
++      bmi.addr_img = kernel_addr;
+       if (initrd_addr_str)
+               bmi.conf_ramdisk = initrd_str;
 -      if (!fdt_addr && genimg_get_format(buf) != IMAGE_FORMAT_FIT)
 -              fdt_addr = env_get("fdtcontroladdr");
++      if (!fdt_addr) {
++              if (IS_ENABLED(CONFIG_SUPPORT_PASSING_ATAGS)) {
++                      if (strcmp("-", label->fdt))
++                              fdt_addr = env_get("fdt_addr");
++              } else {
++                      fdt_addr = env_get("fdt_addr");
++              }
++      }
+       kernel_addr_r = genimg_get_kernel_addr(kernel_addr);
+       buf = map_sysmem(kernel_addr_r, 0);
++      if (!fdt_addr && genimg_get_format(buf) != IMAGE_FORMAT_FIT) {
++              if (IS_ENABLED(CONFIG_SUPPORT_PASSING_ATAGS)) {
++                      if (strcmp("-", label->fdt))
++                              fdt_addr = env_get("fdtcontroladdr");
++              } else {
++                      fdt_addr = env_get("fdtcontroladdr");
++              }
++      }
+       bmi.conf_fdt = fdt_addr;
+       /* Try bootm for legacy and FIT format image */
+       if (genimg_get_format(buf) != IMAGE_FORMAT_INVALID &&
+           IS_ENABLED(CONFIG_BOOTM))
+               ret = bootm_run(&bmi);
+       /* Try booting an AArch64 Linux kernel image */
+       else if (IS_ENABLED(CONFIG_BOOTM))
+               ret = booti_run(&bmi);
+       /* Try booting a Image */
+       else if (IS_ENABLED(CONFIG_BOOTM))
+               ret = bootz_run(&bmi);
+       /* Try booting an x86_64 Linux kernel image */
+       else if (IS_ENABLED(CONFIG_ZBOOT))
+               ret = zboot_run(hextoul(kernel_addr, NULL), 0,
+                               initrd_addr_str ?
+                                       hextoul(initrd_addr_str, NULL) : 0,
+                               initrd_addr_str ?
+                                       hextoul(initrd_filesize, NULL) : 0,
+                               0, NULL);
+       unmap_sysmem(buf);
+       return 0;
+ }
  /**
   * label_boot() - Boot according to the contents of a pxe_label
   *
diff --cc cmd/Kconfig
Simple merge
index a5e6bcb64c06f472ca2e16ed1bc530dbd418a5ed,48019f0fa0b84321d456d4cf74556e9763eedbc1..0249dc3128b39e1cc2dc4d33987203a56c14a4d3
@@@ -32,8 -32,8 +33,7 @@@ CONFIG_BOARD_EARLY_INIT_F=
  CONFIG_HUSH_PARSER=y
  # CONFIG_SYS_LONGHELP is not set
  CONFIG_SYS_PROMPT="Colibri VFxx # "
 -CONFIG_SYS_PBSIZE=1056
  # CONFIG_CMD_BOOTD is not set
- # CONFIG_CMD_BOOTM is not set
  CONFIG_CMD_BOOTZ=y
  # CONFIG_CMD_ELF is not set
  # CONFIG_CMD_IMI is not set
index c4920052f8281c1652e51ae6eb6a7366061d2a75,a09f3ed5f77bd299386a3605d37885ce67d39249..d02a28abfab7a7c40e10e8922d5cb0ac234cd89c
@@@ -14,12 -14,12 +14,12 @@@ CONFIG_DEFAULT_DEVICE_TREE="iot_devkit
  CONFIG_SYS_CLK_FREQ=16000000
  CONFIG_SYS_LOAD_ADDR=0x30000000
  CONFIG_LOCALVERSION="-iotdk-1.0"
+ # CONFIG_BOOTM is not set
  # CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
 -CONFIG_SYS_PROMPT="IoTDK# "
  CONFIG_SYS_CBSIZE=256
  CONFIG_SYS_PBSIZE=280
 +CONFIG_SYS_PROMPT="IoTDK# "
  # CONFIG_CMD_BOOTD is not set
- # CONFIG_CMD_BOOTM is not set
  # CONFIG_CMD_ELF is not set
  # CONFIG_CMD_XIMG is not set
  # CONFIG_CMD_LOADB is not set
index 7f11e6f5d451f901c397b33b822df40b6ecc064e,6da7a0eaf09c327ebbab2df46d53b52b56f6037c..6c5481cd6ed62ac17c857bee0f94e4ba54deadb3
@@@ -14,14 -14,14 +14,14 @@@ CONFIG_SPL_SERIAL=
  CONFIG_SPL=y
  CONFIG_SYS_MEMTEST_START=0x10000000
  CONFIG_SYS_MEMTEST_END=0x20000000
+ # CONFIG_BOOTM is not set
  CONFIG_SUPPORT_RAW_INITRD=y
 +CONFIG_SYS_PBSIZE=528
  CONFIG_SPL_SYS_MALLOC=y
  CONFIG_SPL_WATCHDOG=y
  CONFIG_HUSH_PARSER=y
  CONFIG_SYS_MAXARGS=32
 -CONFIG_SYS_PBSIZE=528
  # CONFIG_CMD_BOOTD is not set
- # CONFIG_CMD_BOOTM is not set
  # CONFIG_CMD_ELF is not set
  # CONFIG_CMD_IMI is not set
  # CONFIG_CMD_XIMG is not set
index 9d3924cc9cbc651b265854ebbb401de367bf9b46,4844dcef99c767fe1d10fa65b3a1502e12117384..143d2622748639ed8dbd181451ad2831653b701d
@@@ -18,10 -18,9 +18,11 @@@ CONFIG_SYS_MEMTEST_START=0x0000000
  CONFIG_SYS_MEMTEST_END=0x00001000
  # CONFIG_EXPERT is not set
  CONFIG_REMAKE_ELF=y
+ # CONFIG_BOOTM is not set
  # CONFIG_LEGACY_IMAGE_FORMAT is not set
  # CONFIG_AUTOBOOT is not set
 +CONFIG_SYS_CBSIZE=1024
 +CONFIG_SYS_PBSIZE=1049
  CONFIG_SYS_CONSOLE_INFO_QUIET=y
  # CONFIG_DISPLAY_CPUINFO is not set
  CONFIG_BOARD_EARLY_INIT_R=y
@@@ -31,9 -30,11 +32,8 @@@ CONFIG_CLOCKS=
  # CONFIG_AUTO_COMPLETE is not set
  # CONFIG_SYS_LONGHELP is not set
  CONFIG_SYS_PROMPT="Versal> "
 -CONFIG_SYS_MAXARGS=64
 -CONFIG_SYS_CBSIZE=1024
 -CONFIG_SYS_PBSIZE=1049
  # CONFIG_CMD_CONSOLE is not set
  # CONFIG_CMD_BOOTD is not set
- # CONFIG_CMD_BOOTM is not set
  # CONFIG_CMD_BOOTI is not set
  # CONFIG_CMD_ELF is not set
  # CONFIG_CMD_FDT is not set
index 5c949e3444200614bc5872b504565c66d9ec64d9,335ed40427215e9963cdebba093f988e7e6d9b04..b0e346208e0858410534f2e9a729a734a848b45f
@@@ -15,9 -15,8 +15,10 @@@ CONFIG_DEFAULT_DEVICE_TREE="versal-mini
  CONFIG_SYS_LOAD_ADDR=0x8000000
  # CONFIG_EXPERT is not set
  CONFIG_REMAKE_ELF=y
+ # CONFIG_BOOTM is not set
  # CONFIG_AUTOBOOT is not set
 +CONFIG_SYS_CBSIZE=1024
 +CONFIG_SYS_PBSIZE=1049
  CONFIG_SYS_CONSOLE_INFO_QUIET=y
  # CONFIG_DISPLAY_CPUINFO is not set
  CONFIG_BOARD_EARLY_INIT_R=y
index 04cba5bc72d4bb625f12d58292a2c4b015425105,f64920052a947fe63f209fa0bef6f627d181406b..559b32c2a19a51a451f4c23db44967e0ac7b9276
@@@ -15,9 -15,8 +15,10 @@@ CONFIG_DEFAULT_DEVICE_TREE="versal-mini
  CONFIG_SYS_LOAD_ADDR=0x8000000
  # CONFIG_EXPERT is not set
  CONFIG_REMAKE_ELF=y
+ # CONFIG_BOOTM is not set
  # CONFIG_AUTOBOOT is not set
 +CONFIG_SYS_CBSIZE=1024
 +CONFIG_SYS_PBSIZE=1049
  CONFIG_SYS_CONSOLE_INFO_QUIET=y
  # CONFIG_DISPLAY_CPUINFO is not set
  CONFIG_BOARD_EARLY_INIT_R=y
index 7a110350c2cd15ee138a892e944c5ac178be9349,f91431e9b7bc1e0e50707a22ae0268bfb236b567..c02c6ba40db85cd19594a53593dccf3ad1f6d05c
@@@ -16,9 -16,9 +16,10 @@@ CONFIG_SYS_MEM_RSVD_FOR_MMU=
  CONFIG_VERSAL_NO_DDR=y
  # CONFIG_PSCI_RESET is not set
  CONFIG_SYS_LOAD_ADDR=0x8000000
 +CONFIG_LTO=y
  # CONFIG_EXPERT is not set
  CONFIG_REMAKE_ELF=y
+ # CONFIG_BOOTM is not set
  # CONFIG_AUTOBOOT is not set
  CONFIG_SYS_CONSOLE_INFO_QUIET=y
  # CONFIG_DISPLAY_CPUINFO is not set
index 58945a1cac9cc7ced5d90bcb762da6ddbc32da84,7faab7aad42ca106e078583fc0d3198188f4dc03..4d4b59a22ffecdbc8aefa09921ca886b99746346
@@@ -14,9 -14,9 +14,10 @@@ CONFIG_SYS_MEM_RSVD_FOR_MMU=
  CONFIG_VERSAL_NO_DDR=y
  # CONFIG_PSCI_RESET is not set
  CONFIG_SYS_LOAD_ADDR=0x8000000
 +CONFIG_LTO=y
  # CONFIG_EXPERT is not set
  CONFIG_REMAKE_ELF=y
+ # CONFIG_BOOTM is not set
  # CONFIG_AUTOBOOT is not set
  # CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
  CONFIG_LOGLEVEL=0
index 7fdd2eee5552cde3c54fea4965dfd0278affd1ac,c2977d4203e5cf5f2213f68f13e7c66f3d995b0f..40d4a4a5859c9bee32b3fb4ec3742dd878aafdda
@@@ -13,10 -13,9 +13,11 @@@ CONFIG_SYS_LOAD_ADDR=0x800000
  CONFIG_SYS_MEMTEST_START=0x00000000
  CONFIG_SYS_MEMTEST_END=0x00001000
  CONFIG_REMAKE_ELF=y
+ # CONFIG_BOOTM is not set
  # CONFIG_LEGACY_IMAGE_FORMAT is not set
  # CONFIG_AUTOBOOT is not set
 +CONFIG_SYS_CBSIZE=1024
 +CONFIG_SYS_PBSIZE=1049
  # CONFIG_DISPLAY_CPUINFO is not set
  # CONFIG_BOARD_LATE_INIT is not set
  CONFIG_CLOCKS=y
index bf34832d22c9165e0e47c5ae39162501941bf3e3,dc14088eef857b665df694c874c03e4a9a18734a..9cccf5d486f4ddf690e2ea83a8c1fc9a52b3abe0
@@@ -17,10 -17,9 +17,11 @@@ CONFIG_SYS_LOAD_ADDR=0x800000
  CONFIG_REMAKE_ELF=y
  # CONFIG_MP is not set
  CONFIG_FIT=y
+ # CONFIG_BOOTM is not set
  CONFIG_SUPPORT_RAW_INITRD=y
  # CONFIG_AUTOBOOT is not set
 +CONFIG_SYS_CBSIZE=1024
 +CONFIG_SYS_PBSIZE=1049
  # CONFIG_DISPLAY_CPUINFO is not set
  CONFIG_BOARD_EARLY_INIT_R=y
  # CONFIG_BOARD_LATE_INIT is not set
index af70ccfae12e24c96544fb3e3cb9ac15b936ecac,1e9f4cbdb412db83830b1de83593d3b138396713..3919e23539a45c27e642f3c6704ba86372934b9f
@@@ -17,10 -17,9 +17,11 @@@ CONFIG_SYS_LOAD_ADDR=0x800000
  CONFIG_REMAKE_ELF=y
  # CONFIG_MP is not set
  CONFIG_FIT=y
+ # CONFIG_BOOTM is not set
  CONFIG_SUPPORT_RAW_INITRD=y
  # CONFIG_AUTOBOOT is not set
 +CONFIG_SYS_CBSIZE=1024
 +CONFIG_SYS_PBSIZE=1049
  # CONFIG_DISPLAY_CPUINFO is not set
  CONFIG_BOARD_EARLY_INIT_R=y
  # CONFIG_BOARD_LATE_INIT is not set
index d2e920fc5732bca60eade8f229968a58fa279db7,024246349bdef7852a592d38ff716c87707dd727..ae0c3ae7186e59ca8a6f2d43adfba5f7a426bf21
@@@ -13,10 -13,9 +13,11 @@@ CONFIG_SYS_LOAD_ADDR=0x800000
  CONFIG_REMAKE_ELF=y
  # CONFIG_MP is not set
  CONFIG_FIT=y
+ # CONFIG_BOOTM is not set
  CONFIG_SUPPORT_RAW_INITRD=y
  # CONFIG_AUTOBOOT is not set
 +CONFIG_SYS_CBSIZE=1024
 +CONFIG_SYS_PBSIZE=1049
  # CONFIG_DISPLAY_CPUINFO is not set
  CONFIG_BOARD_EARLY_INIT_R=y
  # CONFIG_BOARD_LATE_INIT is not set
index 31f647357f75a9e6db170cb342b04519743861ec,1dc3b1054f35a0fd1f06bd6f219c5eada5b784f3..15d471caf70475637cd8a2df8c8ed9e401bd2dd7
@@@ -13,10 -13,9 +13,11 @@@ CONFIG_SYS_LOAD_ADDR=0x800000
  CONFIG_REMAKE_ELF=y
  # CONFIG_MP is not set
  CONFIG_FIT=y
+ # CONFIG_BOOTM is not set
  CONFIG_SUPPORT_RAW_INITRD=y
  # CONFIG_AUTOBOOT is not set
 +CONFIG_SYS_CBSIZE=1024
 +CONFIG_SYS_PBSIZE=1049
  # CONFIG_DISPLAY_CPUINFO is not set
  CONFIG_BOARD_EARLY_INIT_R=y
  # CONFIG_BOARD_LATE_INIT is not set
index 0dbc80442bb35c290c8a5a5488919e3dc0db4897,521805cb52143bbeb63f1c217c36719d62d2fbb4..982777b910cb1902223f673d9e0bc06bdf2e9e08
@@@ -19,10 -19,9 +19,11 @@@ CONFIG_SYS_LOAD_ADDR=0x
  CONFIG_REMAKE_ELF=y
  CONFIG_SYS_CUSTOM_LDSCRIPT=y
  CONFIG_SYS_LDSCRIPT="arch/arm/mach-zynq/u-boot.lds"
+ # CONFIG_BOOTM is not set
  # CONFIG_AUTOBOOT is not set
  CONFIG_USE_PREBOOT=y
 +CONFIG_SYS_CBSIZE=1024
 +CONFIG_SYS_PBSIZE=1047
  # CONFIG_DISPLAY_CPUINFO is not set
  # CONFIG_BOARD_LATE_INIT is not set
  CONFIG_CLOCKS=y
index d95f7602d685807787e6e9a559ebe039696e84a6,7401161a6108b2333c224acaba370a47b5bbf18b..7d70dae5e9d8e7426f7b4841e9a935fb32b0ee35
@@@ -19,10 -19,9 +19,11 @@@ CONFIG_SYS_LOAD_ADDR=0x
  CONFIG_REMAKE_ELF=y
  CONFIG_SYS_CUSTOM_LDSCRIPT=y
  CONFIG_SYS_LDSCRIPT="arch/arm/mach-zynq/u-boot.lds"
+ # CONFIG_BOOTM is not set
  # CONFIG_AUTOBOOT is not set
  CONFIG_USE_PREBOOT=y
 +CONFIG_SYS_CBSIZE=1024
 +CONFIG_SYS_PBSIZE=1047
  # CONFIG_DISPLAY_CPUINFO is not set
  # CONFIG_BOARD_LATE_INIT is not set
  CONFIG_CLOCKS=y
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc include/bootm.h
Simple merge
Simple merge
Simple merge