- Mar 15, 2016
-
-
Alexander Graf authored
We have a pretty nice and generic interface to ask for a specific block device. However, that one is still based around the magic notion that we know the driver name. In order to be able to write fully generic disk access code, expose the currently internal list to other source files so that they can scan through all available block drivers. Signed-off-by:
Alexander Graf <agraf@suse.de> Reviewed-by:
Simon Glass <sjg@chromium.org> Tested-by:
Simon Glass <sjg@chromium.org>
-
- Mar 14, 2016
-
-
Simon Glass authored
Rename these functions so that part_ is at the start. This more clearly identifies these functions as partition functions. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
To ease conversion to driver model, add helper functions which deal with calling each block device method. With driver model we can reimplement these functions with the same arguments. Use inline functions to avoid increasing code size on some boards. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com> Tested-by:
Stephen Warren <swarren@nvidia.com>
-
Simon Glass authored
This is a device number, and we want to use 'dev' to mean a driver model device. Rename the member. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com> Tested-by:
Stephen Warren <swarren@nvidia.com>
-
Simon Glass authored
Rename three partition functions so that they start with part_. This makes it clear what they relate to. Signed-off-by:
Simon Glass <sjg@chromium.org> Tested-by:
Stephen Warren <swarren@nvidia.com>
-
Simon Glass authored
We can use linker lists instead of explicitly declaring each function. This makes the code shorter by avoiding switch() statements and lots of header file declarations. While this does clean up the code it introduces a few code issues with SPL. SPL never needs to print partition information since this all happens from commands. SPL mostly doesn't need to obtain information about a partition either, except in a few cases. Add these cases so that the code will be dropped from each partition driver when not needed. This avoids code bloat. I think this is still a win, since it is not a bad thing to be explicit about which features are used in SPL. But others may like to weigh in. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Tom Rini <trini@konsulko.com> Tested-by:
Stephen Warren <swarren@nvidia.com>
-
Simon Glass authored
In part_amiga.c the name is unsigned but bcpl_strcpy() requires a signed pointer. Add a cast to fix the warning. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com> Tested-by:
Stephen Warren <swarren@nvidia.com>
-
Simon Glass authored
Rename this function to blk_get_device_part_str(). This is a better name because it makes it clear that the function returns a block device and parses a string. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com> Tested-by:
Stephen Warren <swarren@nvidia.com>
-
Simon Glass authored
The current name is too generic. The function returns a block device based on a provided string. Rename it to aid searching and make its purpose clearer. Also add a few comments. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com> Tested-by:
Stephen Warren <swarren@nvidia.com>
-
Simon Glass authored
The current name is too generic. Add a 'blk_' prefix to aid searching and make its purpose clearer. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com> Tested-by:
Stephen Warren <swarren@nvidia.com>
-
Simon Glass authored
Adjust the cast to avoid a warning when stdint.h is used. Signed-off-by:
Simon Glass <sjg@chromium.org> Tested-by:
Stephen Warren <swarren@nvidia.com>
-
Simon Glass authored
Use 'struct' instead of a typdef. Also since 'struct block_dev_desc' is long and causes 80-column violations, rename it to struct blk_desc. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com> Tested-by:
Stephen Warren <swarren@nvidia.com>
-
- Jan 20, 2016
-
-
Erik Tideman authored
On bootup the emmc's hw partition is always set to 0 and the partition table is read from it. When switching to another hw partition the partition table's id is not updated but instead the old one from hw partition 0 is used. If there is no partition table on hw partition 0 then the code will terminate and return error even if the desired hw partition contains a perfectly fine partition table. This fix updates the partition table struct to correspond to the specified hw partition before testing if the partition table is valid or not. Signed-off-by:
Erik Tideman <erik.tideman@faltcom.se> Reviewed-by:
Tom Rini <trini@konsulko.com> [trini: Squash the patch that corrected whitespace in the original into this one, wrap with HAVE_BLOCK_DEVICE test] Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Jan 15, 2016
-
-
Ben Whitten authored
With format-security errors turned on, GCC picks up the use of sprintf with a format parameter not being a string literal. Simple uses of sprintf are also converted to use strcpy. Signed-off-by:
Ben Whitten <ben.whitten@gmail.com> Acked-by:
Wolfgang Denk <wd@denx.de> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
- Jan 14, 2016
-
-
Stephen Warren authored
This will allow the implementation to make use of data in the block_dev structure beyond the base device number. This will be useful so that eMMC block devices can encompass the HW partition ID rather than treating this out-of-band. Equally, the existence of the priv field is crying out for this patch to exist. Signed-off-by:
Stephen Warren <swarren@nvidia.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
- Jan 13, 2016
-
-
Stefan Monnier authored
In order to support large IDE disks we need to make certain types be lbaint_t now. Reviewed-by:
Tom Rini <trini@konsulko.com> Signed-off-by:
Stefan Monnier <monnier@iro.umontreal.ca>
-
- Nov 23, 2015
-
-
Patrick Delaunay authored
The optional parameter bootable is added in gpt command to set the partition attribute flag "Legacy BIOS bootable" This flag is used in extlinux and so in with distro to select the boot partition where is located the configuration file (please check out doc/README.distro for details). With this parameter, U-Boot can be used to create the boot partition needed for device using distro. example of use: setenv partitions "name=u-boot,size=60MiB;name=boot,size=60Mib,bootable;\ name=rootfs,size=0" > gpt write mmc 0 $partitions > part list mmc 0 Partition Map for MMC device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00000022 0x0001e021 "u-boot" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: cceb0b18-39cb-d547-9db7-03b405fa77d4 2 0x0001e022 0x0003c021 "boot" attrs: 0x0000000000000004 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: d4981a2b-0478-544e-9607-7fd3c651068d 3 0x0003c022 0x003a9fde "rootfs" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 6d6c9a36-e919-264d-a9ee-bd00379686c7 > part list mmc 0 -bootable devplist > printenv devplist devplist=2 Then the distro scripts will search extlinux in partition 2 and not in the first partition. Signed-off-by:
Patrick Delaunay <patrick.delaunay73@gmail.com>
-
Lukasz Majewski authored
This commit provides definition and declaration of GPT verification functions - namely gpt_verify_headers() and gpt_verify_partitions(). The former is used to only check CRC32 of GPT's header and PTEs. The latter examines each partition entry and compare attributes such as: name, start offset and size with ones provided at '$partitions' env variable. Signed-off-by:
Lukasz Majewski <l.majewski@majess.pl> Reviewed-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Przemyslaw Marczak <p.marczak@samsung.com>
-
- Nov 12, 2015
-
-
Patrick Delaunay authored
short strings can be used in type parameter of gpt command to replace the guid string for the types known by u-boot partitions = name=boot,size=0x6bc00,type=data; \ name=root,size=0x7538ba00,type=linux; gpt write mmc 0 $partitions and they are also used to display the type of partition in "part list" command Partition Map for MMC device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00000022 0x0000037f "boot" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 type: data guid: d117f98e-6f2c-d04b-a5b2-331a19f91cb2 2 0x00000380 0x003a9fdc "root" attrs: 0x0000000000000000 type: 0fc63daf-8483-4772-8e79-3d69d8477de4 type: linux guid: 25718777-d0ad-7443-9e60-02cb591c9737 Signed-off-by:
Patrick Delaunay <patrick.delaunay73@gmail.com>
-
Patrick Delaunay authored
code under flag CONFIG_PARTITION_TYPE_GUID add parameter "type" to select partition type guid example of use with gpt command : partitions = uuid_disk=${uuid_gpt_disk}; \ name=boot,size=0x6bc00,uuid=${uuid_gpt_boot}; \ name=root,size=0x7538ba00,uuid=${uuid_gpt_root}, \ type=0fc63daf-8483-4772-8e79-3d69d8477de4; gpt write mmc 0 $partitions Signed-off-by:
Patrick Delaunay <patrick.delaunay73@gmail.com>
-
- Oct 24, 2015
-
-
Hans de Goede authored
Add generic fs support, so that commands like ls, load and test -e can be used on ubifs. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Reviewed-by:
Heiko Schocher <hs@denx.de>
-
Hans de Goede authored
This is not necessary / useful when not building with CONFIG_SANDBOX and with the addition of ubifs support to the generic fs commands it actually gets in the way, since both operate on a fake / NULL blkdev. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Stephen Warren <swarren@nvidia.com>
-
- Sep 11, 2015
-
-
Simon Glass authored
Now that we have a new header file for cache-aligned allocation, we should move the stack-based allocation macro there also. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Jan 08, 2015
-
-
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:
Maxime Ripard <maxime.ripard@free-electrons.com>
-
- Dec 18, 2014
-
-
Steve Rae authored
Implement a feature to allow fastboot to write the downloaded image to the space reserved for the Protective MBR and the Primary GUID Partition Table. Additionally, prepare and write the Backup GUID Partition Table. Signed-off-by:
Steve Rae <srae@broadcom.com> Tested-by:
Lukasz Majewski <l.majewski@samsung.com> [Test HW: Exynos4412 - Trats2]
-
Steve Rae authored
Signed-off-by:
Steve Rae <srae@broadcom.com> Tested-by:
Lukasz Majewski <l.majewski@samsung.com> [Test HW: Exynos4412 - Trats2]
-
- Nov 27, 2014
-
-
Simon Glass authored
Now that we have inttypes.h, use it in a few more places to avoid compiler warnings on sandbox when building on 64-bit machines. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Oct 25, 2014
-
-
Jeroen Hofstee authored
Signed-off-by:
Jeroen Hofstee <jeroen@myspectrum.nl>
-
- Sep 24, 2014
-
-
Pavel Machek authored
Cleanup disk/part.c Signed-off-by:
Pavel Machek <pavel@denx.de>
-
- Jul 22, 2014
-
-
Pavel Machek authored
Whitespace cleanups. Signed-off-by:
Pavel Machek <pavel@denx.de>
-
- Jun 23, 2014
-
-
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:
Stephen Warren <swarren@nvidia.com> Tested-by:
Josh Wu <josh.wu@atmel.com> Acked-by:
Simon Glass <sjg@chromium.org> Tested-by:
Simon Glass <sjg@chromium.org>
-
- Jun 12, 2014
-
-
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:
Stephen Warren <swarren@nvidia.com> Acked-by:
Pantelis Antoniou <panto@antoniou-consulting.com>
-
- Jun 11, 2014
-
-
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:
Darwin Dingel <darwin.dingel@alliedtelesis.co.nz>
-
- Jun 05, 2014
-
-
Steve Rae authored
Add function to find a GPT table entry by name. Tested on little endian ARMv7 and ARMv8 configurations Signed-off-by:
Steve Rae <srae@broadcom.com>
-
Steve Rae authored
- update the comments regarding lbaint_t usage - cleanup casting of values related to the lbaint_t type - cleanup of a type that requires a u64 Tested on little endian ARMv7 and ARMv8 configurations Signed-off-by:
Steve Rae <srae@broadcom.com>
-
Steve Rae authored
Tested on little endian ARMv7 and ARMv8 configurations Signed-off-by:
Steve Rae <srae@broadcom.com>
-
- May 23, 2014
-
-
Stephen Warren authored
This enables specifying which eMMC HW partition to target for any U-Boot command that uses the generic get_partition() function to parse its command-line arguments. Acked-by:
Pantelis Antoniou <panto@antoniou-consulting.com> Signed-off-by:
Stephen Warren <swarren@nvidia.com>
-
Stephen Warren authored
Some device types (e.g. eMMC) have hardware-level partitions (for eMMC, separate boot and user data partitions). This change allows the user to specify the HW partition they wish to access when passing a device ID to U-Boot Commands such as part, ls, load, ums, etc. The syntax allows an optional ".$hwpartid" to be appended to the device name string for those commands. Existing syntax, for MMC device 0, default HW partition ID, SW partition ID 1: ls mmc 0:1 / New syntax, for MMC device 0, HW partition ID 1 (boot0), SW partition ID 2: ls mmc 0.1:2 / For my purposes, this is most useful for the ums (USB mass storage gadget) command, but there's no reason not to allow the new syntax globally. This patch adds the core support infra-structure. The next patch will provide the implementation for MMC. Acked-by:
Pantelis Antoniou <panto@antoniou-consulting.com> Signed-off-by:
Stephen Warren <swarren@nvidia.com>
-
- May 12, 2014
-
-
Steve Rae authored
Check the Backup GPT table if the Primary GPT table is invalid. Renamed "Secondary GPT" to "Backup GPT" as per: UEFI Specification (Version 2.3.1, Errata A) Signed-off-by:
Steve Rae <srae@broadcom.com>
-
- Apr 02, 2014
-
-
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:
Przemyslaw Marczak <p.marczak@samsung.com> Cc: Stephen Warren <swarren@nvidia.com> Cc: Lukasz Majewski <l.majewski@samsung.com> Cc: trini@ti.com
-