1. 24 7月, 2017 1 次提交
  2. 19 7月, 2017 6 次提交
  3. 03 7月, 2017 1 次提交
  4. 01 6月, 2017 1 次提交
  5. 28 1月, 2017 1 次提交
  6. 19 1月, 2017 1 次提交
  7. 23 11月, 2016 1 次提交
  8. 17 11月, 2016 1 次提交
  9. 15 11月, 2016 2 次提交
  10. 19 10月, 2016 3 次提交
  11. 18 10月, 2016 1 次提交
    • A
      efi_loader: Allow boards to implement get_time and reset_system · 80a4800e
      Alexander Graf 提交于
      EFI allows an OS to leverage firmware drivers while the OS is running. In the
      generic code we so far had to stub those implementations out, because we would
      need board specific knowledge about MMIO setups for it.
      
      However, boards can easily implement those themselves. This patch provides the
      framework so that a board can implement its own versions of get_time and
      reset_system which would actually do something useful.
      
      While at it we also introduce a simple way for code to reserve MMIO pointers
      as runtime available.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      80a4800e
  12. 20 8月, 2016 1 次提交
  13. 09 8月, 2016 1 次提交
    • A
      efi_loader: disk: Fix CONFIG_BLK breakage · f9d334bd
      Alexander Graf 提交于
      When using CONFIG_BLK, there were 2 issues:
      
        1) The name we generate the device with has to match the
           name we set in efi_set_bootdev()
      
        2) The device we pass into our block functions was wrong,
           we should not rediscover it but just use the already known
           pointer.
      
      This patch fixes both issues.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      f9d334bd
  14. 26 7月, 2016 1 次提交
  15. 25 6月, 2016 1 次提交
    • S
      cmd: bootefi: cosmetic · 92dfd922
      Sergey Kubushyn 提交于
      Short help (description) in bootefi command has a trailing "\n" that
      breaks the "help" command output (empty line after "bootefi").
      
      Nothing important, doesn't affect anything but better be fixed in the
      upcoming release.
      
      Still working on i.MX6 and their siblings NAND U-Boot update -- it
      works here but not ready for a submission yet. Anyway it is for the
      next cycle, not going to go into this release because it is too big
      and may affect something else.
      
      Also have some thoughts about fastboot (using multiple devices) but
      this will go into separate email with RFC.
      Signed-off-by: NSergey Kubushyn <ksi@koi8.net>
      92dfd922
  16. 07 6月, 2016 2 次提交
    • A
      efi_loader: Move to normal debug infrastructure · edcef3ba
      Alexander Graf 提交于
      We introduced special "DEBUG_EFI" defines when the efi loader
      support was new. After giving it a bit of thought, turns out
      we really didn't have to - the normal #define DEBUG infrastructure
      works well enough for efi loader as well.
      
      So this patch switches to the common debug() and #define DEBUG
      way of printing debug information.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      edcef3ba
    • A
      efi_loader: Add exit support · a86aeaf2
      Alexander Graf 提交于
      Some times you may want to exit an EFI payload again, for example
      to default boot into a PXE installation and decide that you would
      rather want to boot from the local disk instead.
      
      This patch adds exit functionality to the EFI implementation, allowing
      EFI payloads to exit.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      a86aeaf2
  17. 27 5月, 2016 1 次提交
    • A
      efi_loader: Add network access support · 0efe1bcf
      Alexander Graf 提交于
      We can now successfully boot EFI applications from disk, but users
      may want to also run them from a PXE setup.
      
      This patch implements rudimentary network support, allowing a payload
      to send and receive network packets.
      
      With this patch, I was able to successfully run grub2 with network
      access inside of QEMU's -M xlnx-ep108.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      0efe1bcf
  18. 19 4月, 2016 6 次提交
    • A
      efi_loader: Pass fdt address directly to bootefi cmd · 1c39809b
      Alexander Graf 提交于
      The bootefi cmd today fetches its device tree pointer from either the
      location appointed by "fdt addr" with a fallback to the U-Boot control
      fdt.
      
      This integration is unusual for U-Boot and diverges from the way we
      usually handle parameters to boot commands. So let's pass the fdt
      directly into the bootefi command instead and move the control fdt
      logic into the distro boot script.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Acked-by: NStephen Warren <swarren@wwwdotorg.org>
      Reviewed-by: NAndreas Färber <afaerber@suse.de>
      1c39809b
    • A
      efi_loader: Put fdt into convenient location · ad0c1a3d
      Alexander Graf 提交于
      The uEFI spec doesn't dictate where the device tree should live at, but
      legacy 32bit ARM grub2 has some assumptions that it may stay at its place
      when it's already loaded by the firmware.
      
      So let's put it somewhere where Linux that comes after would happily find
      it - around the recommended 128MB line.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Tested-by: NAndreas Färber <afaerber@suse.de>
      ad0c1a3d
    • A
      efi_loader: Use system fdt as fallback · 0d9d501f
      Alexander Graf 提交于
      When the user did not pass any device tree or the boot script
      didn't find any, let's use the system device tree as last resort
      to get something the payload (Linux) may understand.
      
      This means that on systems that use the same device tree for U-Boot
      and Linux we can just share it and there's no need to manually provide
      a device tree in the target image.
      
      While at it, also copy and pad the device tree by 64kb to give us
      space for modifications.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Tested-by: NAndreas Färber <afaerber@suse.de>
      0d9d501f
    • A
      efi_loader: Increase path string to 32 characters · ecbe1a07
      Alexander Graf 提交于
      Whenever we want to tell our payload about a path, we limit ourselves
      to a reasonable amount of characters. So far we only passed in device
      names - exceeding 16 chars was unlikely there.
      
      However by now we also pass real file path information, so let's increase
      the limit to 32 characters. That way common paths like "boot/efi/bootaa64.efi"
      fit just fine.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      ecbe1a07
    • A
      efi_loader: Pass file path to payload · c07ad7c0
      Alexander Graf 提交于
      The payload gets information on where it got loaded from. This includes
      the device as well as file path.
      
      So far we've treated both as the same thing and always gave it the device
      name. However, in some situations grub2 actually wants to find its loading
      path to find its configuration file.
      
      So let's split the two semantically separte bits into separate structs and
      pass the loaded file name into our payload when we load it using "load".
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      c07ad7c0
    • A
      efi_loader: Add el torito support · 8c3df0bf
      Alexander Graf 提交于
      When loading an el torito image, uEFI exposes said image as a raw
      block device to the payload.
      
      Let's do the same by creating new block devices with added offsets for
      the respective el torito partitions.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      8c3df0bf
  19. 27 3月, 2016 1 次提交
    • A
      efi_loader: Add GOP support · be8d3241
      Alexander Graf 提交于
      The EFI standard defines a simple boot protocol that an EFI payload can use
      to access video output.
      
      This patch adds support to expose exactly that one (and the mode already in
      use) as possible graphical configuration to an EFI payload.
      
      With this, I can successfully run grub2 with graphical output.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      be8d3241
  20. 16 3月, 2016 3 次提交
    • A
      efi_loader: Pass proper device path in on boot · 0f4060eb
      Alexander Graf 提交于
      EFI payloads can query for the device they were booted from. Because
      we have a disconnect between loading binaries and running binaries,
      we passed in a dummy device path so far.
      
      Unfortunately that breaks grub2's logic to find its configuration
      file from the same device it was booted from.
      
      This patch adds logic to have the "load" command call into our efi
      code to set the device path to the one we last loaded a binary from.
      
      With this grub2 properly detects where we got booted from and can
      find its configuration file, even when searching by-partition.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      0f4060eb
    • A
      efi_loader: Call fdt preparation functions · dea2174d
      Alexander Graf 提交于
      We have a nice framework around image fils to prepare a device tree
      for OS execution. That one patches in missing device tree nodes and
      fixes up the memory range bits.
      
      We need to call that one from the EFI boot path too to get all those
      nice fixups. This patch adds the call.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      dea2174d
    • A
      efi_loader: Add "bootefi" command · b9939336
      Alexander Graf 提交于
      In order to execute an EFI application, we need to bridge the gap between
      U-Boot's notion of executing images and EFI's notion of doing the same.
      
      The best path forward IMHO here is to stick completely to the way U-Boot
      deals with payloads. You manually load them using whatever method to RAM
      and then have a simple boot command to execute them. So in our case, you
      would do
      
        # load mmc 0:1 $loadaddr grub.efi
        # bootefi $loadaddr
      
      which then gets you into a grub shell. Fdt information known to U-boot
      via the fdt addr command is also passed to the EFI payload.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      Tested-by: NSimon Glass <sjg@chromium.org>
      [trini: Guard help text with CONFIG_SYS_LONGHELP]
      Signed-off-by: NTom Rini <trini@konsulko.com>
      b9939336