Skip to content
Snippets Groups Projects
  1. Oct 24, 2015
  2. Sep 11, 2015
  3. Jan 08, 2015
    • Maxime Ripard's avatar
      gpt: Fix the protective MBR partition size · b349abbf
      Maxime Ripard authored
      
      According to the UEFI Spec (Table 16, section 5.2.3 of the version 2.4 Errata
      B), the protective MBR partition record size must be set to the size of the
      disk minus one, in LBAs.
      
      However, the current code was setting the size as the total number of LBAs on
      the disk, resulting in an off-by-one error.
      
      This confused the AM335x ROM code, and will probably confuse other tools as
      well.
      
      Signed-off-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
      b349abbf
  4. Dec 18, 2014
  5. Nov 27, 2014
  6. Oct 25, 2014
  7. Sep 24, 2014
  8. Jul 22, 2014
  9. Jun 23, 2014
    • Stephen Warren's avatar
      sandbox: restore ability to access host fs through standard commands · 4d907025
      Stephen Warren authored
      
      Commit 95fac6ab "sandbox: Use os functions to read host device tree"
      removed the ability for get_device_and_partition() to handle the "host"
      device type, and redirect accesses to it to the host filesystem. This
      broke some unit tests that use this feature. So, revert that change. The
      code added back by this patch is slightly different to pacify checkpatch.
      
      However, we're then left with "host" being both:
      - A pseudo device that accesses the hosts real filesystem.
      - An emulated block device, which accesses "sectors" inside a file stored
        on the host.
      
      In order to resolve this discrepancy, rename the pseudo device from host
      to hostfs, and adjust the unit-tests for this change.
      
      The "help sb" output is modified to reflect this rename, and state where
      the host and hostfs devices should be used.
      
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Tested-by: default avatarJosh Wu <josh.wu@atmel.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      Tested-by: default avatarSimon Glass <sjg@chromium.org>
      4d907025
  10. Jun 12, 2014
    • Stephen Warren's avatar
      disk: default to HW partition 0 if not specified · ecdd57e2
      Stephen Warren authored
      
      Currently, get_device()/get_dev_hwpart() for MMC devices does not select
      an explicit HW partition unless the user explicitly requests one, i.e. by
      requesting device "mmc 0.0" rather than just "mmc 0". I think it makes
      more sense if the default is to select HW partition 0 (main data area)
      if the user didn't request a specific partition. Otherwise, the following
      happens, which feels wrong:
      
      Select HW partition 1 (boot0):
      mmc dev 0 1
      
      Attempts to access SW partition 1 on HW partition 1 (boot0), rather than
      SW partition 1 on HW partition 0 (main data area):
      ls mmc 0:1 /
      
      With this patch, the second command above re-selects the main data area.
      
      Many device types don't support HW partitions at all, so if HW partition
      0 is selected (either explicitly or as the default) and there's no
      select_hwpart function, we simply skip attempting to select a HW
      partition.
      
      Some MMC devices (i.e. SD cards) don't support HW partitions. However,
      this patch still works, since mmc_start_init() sets the current
      partition number to 0, and mmc_select_hwpart() succeeds if the requested
      partition is already selected.
      
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarPantelis Antoniou <panto@antoniou-consulting.com>
      ecdd57e2
  11. Jun 11, 2014
    • Darwin Dingel's avatar
      disk: part_dos.c: Add a PBR check when MBR checking fails · 4a36be9b
      Darwin Dingel authored
      
      Bug: SDCard with a messed up partition but still has a FAT signature
      intact is readable in Linux but unreadable in uboot with 'fatls'.
      
      Fix: When partition info checking fails, there is no checking for a
      FAT signature (DOS_PBR) which will fail 'fatls'. FAT signature checking
      is done when no valid partition is found in partition table. If FAT
      signature is found, the disk will be read as PBR and continue
      processing.
      
      Signed-off-by: default avatarDarwin Dingel <darwin.dingel@alliedtelesis.co.nz>
      4a36be9b
  12. Jun 05, 2014
  13. May 23, 2014
  14. May 12, 2014
  15. Apr 02, 2014
    • Przemyslaw Marczak's avatar
      lib: uuid: code refactor for proper maintain between uuid bin and string · d718ded0
      Przemyslaw Marczak authored
      
      Changes in lib/uuid.c to:
      - uuid_str_to_bin()
      - uuid_bin_to_str()
      
      New parameter is added to specify input/output string format in listed functions
      This change allows easy recognize which UUID type is or should be stored in given
      string array. Binary data of UUID and GUID is always stored in big endian, only
      string representations are different as follows.
      
      String byte: 0                                  36
      String char: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      string UUID:    be     be   be   be       be
      string GUID:    le     le   le   be       be
      
      This patch also updates functions calls and declarations in a whole code.
      
      Signed-off-by: default avatarPrzemyslaw Marczak <p.marczak@samsung.com>
      Cc: Stephen Warren <swarren@nvidia.com>
      Cc: Lukasz Majewski <l.majewski@samsung.com>
      Cc: trini@ti.com
      d718ded0
    • Przemyslaw Marczak's avatar
      part_efi: move uuid<->string conversion functions into lib/uuid.c · a96a0e61
      Przemyslaw Marczak authored
      
      This commit introduces cleanup for uuid library.
      Changes:
      - move uuid<->string conversion functions into lib/uuid.c so they can be
        used by code outside part_efi.c.
      - rename uuid_string() to uuid_bin_to_str() for consistency with existing
        uuid_str_to_bin()
      - add an error return code to uuid_str_to_bin()
      - update existing code to the new library functions.
      
      Signed-off-by: default avatarPrzemyslaw Marczak <p.marczak@samsung.com>
      Cc: Stephen Warren <swarren@nvidia.com>
      Cc: Lukasz Majewski <l.majewski@samsung.com>
      Cc: trini@ti.com
      a96a0e61
  16. Mar 18, 2014
    • Simon Glass's avatar
      sandbox: Use os functions to read host device tree · 95fac6ab
      Simon Glass authored
      
      At present we use U-Boot's filesystem layer to read the sandbox device tree,
      but this is problematic since it relies on a temporary feauture added
      there. Since we plan to implement proper block layer support for sandbox,
      change this code to use the os layer functions instead. Also use the new
      fdt_create_empty_tree() instead of our own code.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      95fac6ab
  17. Feb 24, 2014
  18. Feb 19, 2014
    • Masahiro Yamada's avatar
      kbuild: use Linux Kernel build scripts · 6825a95b
      Masahiro Yamada authored
      
      Now we are ready to switch over to real Kbuild.
      
      This commit disables temporary scripts:
        scripts/{Makefile.build.tmp, Makefile.host.tmp}
      and enables real Kbuild scripts:
        scripts/{Makefile.build,Makefile.host,Makefile.lib}.
      
      This switch is triggered by the line in scripts/Kbuild.include
        -build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj
        +build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj
      
      We need to adjust some build scripts for U-Boot.
      But smaller amount of modification is preferable.
      
      Additionally, we need to fix compiler flags which are
      locally added or removed.
      
      In Kbuild, it is not allowed to change CFLAGS locally.
      Instead, ccflags-y, asflags-y, cppflags-y,
      CFLAGS_$(basetarget).o, CFLAGS_REMOVE_$(basetarget).o
      are prepared for that purpose.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Tested-by: default avatarGerhard Sittig <gsi@denx.de>
      6825a95b
  19. Jan 09, 2014
  20. Oct 31, 2013
  21. Oct 14, 2013
  22. Sep 20, 2013
    • Mark Langsdorf's avatar
      part_efi: make sure the gpt_pte is freed · 6d2ee5a3
      Mark Langsdorf authored
      
      the gpt_pte wasn't being freed if it was checked against an invalid
      partition. The resulting memory leakage could make it impossible
      to repeatedly attempt to load non-existent files in a script.
      
      Also, downgrade the message for not finding an invalid partition
      from a printf() to a debug() so as to minimize message spam in
      perfectly normal situations.
      
      Signed-off-by: default avatarMark Langsdorf <mark.langsdorf@calxeda.com>
      6d2ee5a3
  23. Jul 24, 2013
  24. Jul 22, 2013
    • Lan Yixun (dlan)'s avatar
      fs/ext4: fix log2blksz un-initialized error, by cacaulating its value from blksz · 50ffc3b6
      Lan Yixun (dlan) authored
      The problem here is that uboot can't mount ext4 filesystem with
      commit "50ce4c07" applied. We use hard-coded "SECTOR_SIZE"(512)
      before this commit, now we introduce (block_dev_desc_t *)->log2blksz
      to replace this macro. And after we calling do_ls()->fs_set_blk_dev(),
      the variable log2blksz is not initialized, which it's not correct.
      
      And this patch try to solve the problem by caculating the value of
      log2blksz from variable blksz.
      50ffc3b6
  25. Jul 15, 2013
    • Frederic Leroy's avatar
      Fix ext2/ext4 filesystem accesses beyond 2TiB · 04735e9c
      Frederic Leroy authored
      
      With CONFIG_SYS_64BIT_LBA, lbaint_t gets defined as a 64-bit type,
      which is required to represent block numbers for storage devices that
      exceed 2TiB (the block size usually is 512B), e.g. recent hard drives
      
      We now use lbaint_t for partition offset to reflect the lbaint_t change,
      and access partitions beyond or crossing the 2.1TiB limit.
      This required changes to signature of ext4fs_devread(), and type of all
      variables relatives to block sector.
      
      ext2/ext4 fs uses logical block represented by a 32 bit value. Logical
      block is a multiple of device block sector. To avoid overflow problem
      when calling ext4fs_devread(), we need to cast the sector parameter.
      
      Signed-off-by: default avatarFrédéric Leroy <fredo@starox.org>
      04735e9c
  26. Jun 04, 2013
    • Marek Vasut's avatar
      disk: Fix possible out-of-bounds access in part_efi.c · 67cd4a63
      Marek Vasut authored
      
      Make sure to never access beyond bounds of either EFI partition name
      or DOS partition name. This situation is happening:
      
      part.h:     disk_partition_t->name is 32-byte long
      part_efi.h: gpt_entry->partition_name is 36-bytes long
      
      The loop in part_efi.c copies over 36 bytes and thus accesses beyond
      the disk_partition_t->name .
      
      Fix this by picking the shortest of source and destination arrays and
      make sure the destination array is cleared so the trailing bytes are
      zeroed-out and don't cause issues with string manipulation.
      
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Tom Rini <trini@ti.com>
      Cc: Simon Glass <sjg@chromium.org>
      67cd4a63
  27. May 01, 2013
    • Egbert Eich's avatar
      disk/iso: Add Support for block sizes > 512 byte to ISO partition support · d7ea4d4d
      Egbert Eich authored
      
      For ISO we check the block size of the device if this is != the CD sector
      size we assume that the device has no ISO partition.
      
      Signed-off-by: default avatarEgbert Eich <eich@suse.com>
      d7ea4d4d
    • Egbert Eich's avatar
      disk/gpt: Fix GPT partition handling for blocksize != 512 · ae1768a7
      Egbert Eich authored
      
      Disks beyond 2T in size use blocksizes of 4096 bytes. However a lot of
      code in u-boot  still assumes a 512 byte blocksize.
      This patch fixes the handling of GPTs.
      
      Signed-off-by: default avatarEgbert Eich <eich@suse.com>
      ae1768a7
    • Egbert Eich's avatar
      disk/part_dos: check harder for partition table · 9d956e0f
      Egbert Eich authored
      
      Devices that used to have a whole disk FAT filesystem but got then
      partitioned will most likely still have a FAT or FAT32 signature
      in the first sector as this sector does not get overwritten by
      a partitioning tool (otherwise the tool would risk to kill the mbr).
      
      The current partition search algorithm will erronously detects such
      a device as a raw FAT device.
      
      Instead of looking for the FAT or FAT32 signatures immediately we
      use the same algorithm as used by the Linux kernel and first check
      for a valid boot indicator flag on each of the 4 partitions.
      If the value of this flag is invalid for the first entry we then
      do the raw partition check.
      If the flag for any higher partition is wrong we assume the device
      is neiter a MBR nor PBR device.
      
      Signed-off-by: default avatarEgbert Eich <eich@suse.com>
      9d956e0f
  28. Apr 02, 2013
  29. Mar 14, 2013
  30. Mar 04, 2013
  31. Dec 13, 2012
Loading