freebsd-ports/sysutils/u-boot-rpi2/files/patch-api_api__storage.c
Luiz Otavio O Souza 3156a26503 U-Boot loader and related files for Raspberry Pi 2
To install this bootloader, copy ALL the files in the share/u-boot/u-boot-rpi2
directory to the first partition, formatted as FAT32, on an SD card.

This version is patched so that:
 * ELF and API features are enabled.
 * The default environment is trimmed to just what's needed to boot.
 * The saveenv command writes to the file uboot.env on the FAT partition.

For information about running FreeBSD on RaspberryPi, see
WWW: http://wiki.freebsd.org/FreeBSD/arm/Raspberry%20Pi

For general information about U-Boot see WWW: http://www.denx.de/wiki/U-Boot

Approved by:	garga
2015-04-24 19:40:12 +00:00

28 lines
803 B
C

--- api/api_storage.c.orig 2014-10-14 08:47:15 UTC
+++ api/api_storage.c
@@ -107,10 +107,13 @@ static int dev_stor_get(int type, int fi
if (first) {
di->cookie = (void *)get_dev(specs[type].name, 0);
- if (di->cookie == NULL)
+ if (di->cookie == NULL) {
return 0;
- else
+ } else {
found = 1;
+ if (specs[type].max_dev > 1)
+ *more = 1;
+ }
} else {
for (i = 0; i < specs[type].max_dev; i++)
@@ -146,7 +149,8 @@ static int dev_stor_get(int type, int fi
dd = (block_dev_desc_t *)di->cookie;
if (dd->type == DEV_TYPE_UNKNOWN) {
debugf("device instance exists, but is not active..");
- found = 0;
+ di->di_stor.block_count = 0;
+ di->di_stor.block_size = 0;
} else {
di->di_stor.block_count = dd->lba;
di->di_stor.block_size = dd->blksz;