* [U-Boot] [PATCH 0/2] avb 2.0: fix multiple compilation issues in sandbox
@ 2018-07-13 16:03 Igor Opaniuk
2018-07-13 16:03 ` [U-Boot] [PATCH 1/2] avb2.0: add proper dependencies Igor Opaniuk
2018-07-13 16:03 ` [U-Boot] [PATCH 2/2] avb2.0: use block API in AVB ops Igor Opaniuk
0 siblings, 2 replies; 4+ messages in thread
From: Igor Opaniuk @ 2018-07-13 16:03 UTC (permalink / raw)
To: u-boot
This series of two patches fixes compilation issues when AVB 2.0 is
enabled for the 'sandbox' architecture:
1. Since libavb library alone is highly portable, it introduce dedicated
Kconfig symbol for AVB compiler-dependent operations, so it's possible
to build libavb separately.
2. Add CONFIG_FASTBOOT dependency, as fastboot buffer is
re-used in partition verification operations.
3. Use blk_dread()/blk_dwrite() in mmc_read()/mmc_write() AVB operation
implementations. This fixes compilation issues when CONFIG_BLK is
enabled.
Igor Opaniuk (2):
avb2.0: add proper dependencies
avb2.0: use block API in AVB ops
cmd/Kconfig | 2 +-
common/Kconfig | 7 +++++++
common/avb_verify.c | 9 +++++----
doc/README.avb2 | 1 +
4 files changed, 14 insertions(+), 5 deletions(-)
--
2.7.4
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH 1/2] avb2.0: add proper dependencies
2018-07-13 16:03 [U-Boot] [PATCH 0/2] avb 2.0: fix multiple compilation issues in sandbox Igor Opaniuk
@ 2018-07-13 16:03 ` Igor Opaniuk
2018-07-14 13:52 ` Eugeniu Rosca
2018-07-13 16:03 ` [U-Boot] [PATCH 2/2] avb2.0: use block API in AVB ops Igor Opaniuk
1 sibling, 1 reply; 4+ messages in thread
From: Igor Opaniuk @ 2018-07-13 16:03 UTC (permalink / raw)
To: u-boot
1. Since libavb library alone is highly portable, introduce dedicated
Kconfig symbol for AVB compiler-dependent operations, so it's possible
to build libavb separately.
2. Add CONFIG_FASTBOOT dependency, as fastboot buffer is
re-used in partition verification operations.
Reported-by: Eugeniu Rosca <rosca.eugeniu@gmail.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
---
cmd/Kconfig | 2 +-
common/Kconfig | 7 +++++++
doc/README.avb2 | 1 +
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/cmd/Kconfig b/cmd/Kconfig
index aec2090..b3e030c 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -1771,7 +1771,7 @@ config CMD_TRACE
config CMD_AVB
bool "avb - Android Verified Boot 2.0 operations"
- depends on LIBAVB
+ depends on AVB_VERIFY
default n
help
Enables a "avb" command to perform verification of partitions using
diff --git a/common/Kconfig b/common/Kconfig
index 4c7a1a9..1d31f9b 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -631,6 +631,13 @@ config HASH
and the algorithms it supports are defined in common/hash.c. See
also CMD_HASH for command-line access.
+config AVB_VERIFY
+ bool "Build Android Verified Boot operations"
+ depends on LIBAVB && FASTBOOT
+ help
+ This option enables compilation of bootloader-dependent operations,
+ used by Android Verified Boot 2.0 library (libavb).
+
endmenu
menu "Update support"
diff --git a/doc/README.avb2 b/doc/README.avb2
index 67784b5..120279f 100644
--- a/doc/README.avb2
+++ b/doc/README.avb2
@@ -58,6 +58,7 @@ Slot verification result: ERROR_IO
-----------------------------------
The following options must be enabled:
CONFIG_LIBAVB=y
+CONFIG_AVB_VERIFY=y
CONFIG_CMD_AVB=y
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH 2/2] avb2.0: use block API in AVB ops
2018-07-13 16:03 [U-Boot] [PATCH 0/2] avb 2.0: fix multiple compilation issues in sandbox Igor Opaniuk
2018-07-13 16:03 ` [U-Boot] [PATCH 1/2] avb2.0: add proper dependencies Igor Opaniuk
@ 2018-07-13 16:03 ` Igor Opaniuk
1 sibling, 0 replies; 4+ messages in thread
From: Igor Opaniuk @ 2018-07-13 16:03 UTC (permalink / raw)
To: u-boot
Use blk_dread()/blk_dwrite() in mmc_read()/mmc_write() AVB operation
implementations. This fixes compilation issues when CONFIG_BLK is
enabled.
Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
---
common/avb_verify.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/common/avb_verify.c b/common/avb_verify.c
index f9a00f8..20e35ad 100644
--- a/common/avb_verify.c
+++ b/common/avb_verify.c
@@ -5,6 +5,7 @@
*/
#include <avb_verify.h>
+#include <blk.h>
#include <fastboot.h>
#include <image.h>
#include <malloc.h>
@@ -288,8 +289,8 @@ static unsigned long mmc_read_and_flush(struct mmc_part *part,
tmp_buf = buffer;
}
- blks = part->mmc->block_dev.block_read(part->mmc_blk,
- start, sectors, tmp_buf);
+ blks = blk_dread(part->mmc_blk,
+ start, sectors, tmp_buf);
/* flush cache after read */
flush_cache((ulong)tmp_buf, sectors * part->info.blksz);
@@ -327,8 +328,8 @@ static unsigned long mmc_write(struct mmc_part *part, lbaint_t start,
tmp_buf = buffer;
}
- return part->mmc->block_dev.block_write(part->mmc_blk,
- start, sectors, tmp_buf);
+ return blk_dwrite(part->mmc_blk,
+ start, sectors, tmp_buf);
}
static struct mmc_part *get_partition(AvbOps *ops, const char *partition)
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH 1/2] avb2.0: add proper dependencies
2018-07-13 16:03 ` [U-Boot] [PATCH 1/2] avb2.0: add proper dependencies Igor Opaniuk
@ 2018-07-14 13:52 ` Eugeniu Rosca
0 siblings, 0 replies; 4+ messages in thread
From: Eugeniu Rosca @ 2018-07-14 13:52 UTC (permalink / raw)
To: u-boot
Hi Igor,
On Fri, Jul 13, 2018 at 07:03:26PM +0300, Igor Opaniuk wrote:
> 1. Since libavb library alone is highly portable, introduce dedicated
> Kconfig symbol for AVB compiler-dependent operations, so it's possible
Commit description says "compiler-dependent" while AVB_VERIFY
description says "bootloader-dependent". IMO none of the two
terms provides a clear description of what is actually the role
of avb_verify.c.
Looking into the code myself, I see three categories of functions:
* Helpers to process strings in order to build OS bootargs.
* Helpers to access MMC, similar to drivers/fastboot/fb_mmc.c.
* Helpers to alloc/init/free avb ops.
Maybe it's subjective, but as a user of this component, I would like to
see this stated in Kconfig/commit description.
> to build libavb separately.
> 2. Add CONFIG_FASTBOOT dependency, as fastboot buffer is
> re-used in partition verification operations.
>
> Reported-by: Eugeniu Rosca <rosca.eugeniu@gmail.com>
> Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
> ---
> cmd/Kconfig | 2 +-
> common/Kconfig | 7 +++++++
> doc/README.avb2 | 1 +
> 3 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/cmd/Kconfig b/cmd/Kconfig
> index aec2090..b3e030c 100644
> --- a/cmd/Kconfig
> +++ b/cmd/Kconfig
> @@ -1771,7 +1771,7 @@ config CMD_TRACE
>
> config CMD_AVB
> bool "avb - Android Verified Boot 2.0 operations"
> - depends on LIBAVB
> + depends on AVB_VERIFY
> default n
> help
> Enables a "avb" command to perform verification of partitions using
> diff --git a/common/Kconfig b/common/Kconfig
> index 4c7a1a9..1d31f9b 100644
> --- a/common/Kconfig
> +++ b/common/Kconfig
> @@ -631,6 +631,13 @@ config HASH
> and the algorithms it supports are defined in common/hash.c. See
> also CMD_HASH for command-line access.
>
> +config AVB_VERIFY
> + bool "Build Android Verified Boot operations"
> + depends on LIBAVB && FASTBOOT
> + help
> + This option enables compilation of bootloader-dependent operations,
> + used by Android Verified Boot 2.0 library (libavb).
> +
> endmenu
>
> menu "Update support"
> diff --git a/doc/README.avb2 b/doc/README.avb2
> index 67784b5..120279f 100644
> --- a/doc/README.avb2
> +++ b/doc/README.avb2
> @@ -58,6 +58,7 @@ Slot verification result: ERROR_IO
> -----------------------------------
> The following options must be enabled:
> CONFIG_LIBAVB=y
> +CONFIG_AVB_VERIFY=y
> CONFIG_CMD_AVB=y
I think this patch misses:
diff --git a/common/Makefile b/common/Makefile
index 66584f8f48be..7100541ece00 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -121,4 +121,4 @@ obj-$(CONFIG_$(SPL_)LOG_CONSOLE) += log_console.o
obj-y += s_record.o
obj-y += xyzModem.o
-obj-$(CONFIG_LIBAVB) += avb_verify.o
+obj-$(CONFIG_AVB_VERIFY) += avb_verify.o
Because of that, I still see that the build system attempts/fails
to compile common/avb_verify.c after just enabling CONFIG_LIBAVB.
The rest looks fine to me.
Thanks,
Eugeniu.
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-07-14 13:52 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-13 16:03 [U-Boot] [PATCH 0/2] avb 2.0: fix multiple compilation issues in sandbox Igor Opaniuk
2018-07-13 16:03 ` [U-Boot] [PATCH 1/2] avb2.0: add proper dependencies Igor Opaniuk
2018-07-14 13:52 ` Eugeniu Rosca
2018-07-13 16:03 ` [U-Boot] [PATCH 2/2] avb2.0: use block API in AVB ops Igor Opaniuk
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.