X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Favb_verify.h;h=1e787ba666872a200c97053f8ef723460bc21a2a;hb=f9a48654ee70fbad29f487d074fd36a1548b4209;hp=428c69a2bc361fa1d6e616d49950025961aa5279;hpb=3af30e4443aa2c8224bf15ba352a5ef81b02711a;p=platform%2Fkernel%2Fu-boot.git diff --git a/include/avb_verify.h b/include/avb_verify.h index 428c69a..1e787ba 100644 --- a/include/avb_verify.h +++ b/include/avb_verify.h @@ -9,20 +9,36 @@ #define _AVB_VERIFY_H #include <../lib/libavb/libavb.h> +#include #include -#define ALLOWED_BUF_ALIGN 8 +#define AVB_MAX_ARGS 1024 +#define VERITY_TABLE_OPT_RESTART "restart_on_corruption" +#define VERITY_TABLE_OPT_LOGGING "ignore_corruption" +#define ALLOWED_BUF_ALIGN 8 + +enum avb_boot_state { + AVB_GREEN, + AVB_YELLOW, + AVB_ORANGE, + AVB_RED, +}; struct AvbOpsData { struct AvbOps ops; int mmc_dev; + enum avb_boot_state boot_state; +#ifdef CONFIG_OPTEE_TA_AVB + struct udevice *tee; + u32 session; +#endif }; struct mmc_part { int dev_num; struct mmc *mmc; struct blk_desc *mmc_blk; - disk_partition_t info; + struct disk_partition info; }; enum mmc_io_type { @@ -33,6 +49,12 @@ enum mmc_io_type { AvbOps *avb_ops_alloc(int boot_device); void avb_ops_free(AvbOps *ops); +char *avb_set_state(AvbOps *ops, enum avb_boot_state boot_state); +char *avb_set_enforce_verity(const char *cmdline); +char *avb_set_ignore_corruption(const char *cmdline); + +char *append_cmd_line(char *cmdline_orig, char *cmdline_new); + /** * ============================================================================ * I/O helper inline functions @@ -50,12 +72,12 @@ static inline uint64_t calc_offset(struct mmc_part *part, int64_t offset) static inline size_t get_sector_buf_size(void) { - return (size_t)CONFIG_FASTBOOT_BUF_SIZE; + return (size_t)CONFIG_AVB_BUF_SIZE; } static inline void *get_sector_buf(void) { - return (void *)CONFIG_FASTBOOT_BUF_ADDR; + return map_sysmem(CONFIG_AVB_BUF_ADDR, CONFIG_AVB_BUF_SIZE); } static inline bool is_buf_unaligned(void *buffer)