summaryrefslogtreecommitdiffstats
path: root/discover/platform.c
diff options
context:
space:
mode:
Diffstat (limited to 'discover/platform.c')
-rw-r--r--discover/platform.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/discover/platform.c b/discover/platform.c
index 8ce52fc..38bd241 100644
--- a/discover/platform.c
+++ b/discover/platform.c
@@ -159,6 +159,7 @@ void config_set_defaults(struct config *config)
else
config->lang = NULL;
+ config->preboot_check_enabled = true;
}
int platform_init(void *ctx)
@@ -206,6 +207,17 @@ void platform_pre_boot(void)
platform->pre_boot(platform, config);
}
+bool platform_preboot_check(const char *image, char **err_msg)
+{
+ const struct config *config = config_get();
+
+ if (platform && config && platform->preboot_check)
+ return platform->preboot_check(platform, config,
+ image, err_msg);
+
+ return true;
+}
+
int platform_get_sysinfo(struct system_info *info)
{
if (platform && platform->get_sysinfo)
@@ -572,6 +584,9 @@ void config_populate_all(struct config *config, const struct param_list *pl)
val = param_list_get_value(pl, "petitboot,https_proxy");
if (val)
config->https_proxy = talloc_strdup(config, val);
+
+ val = param_list_get_value(pl, "petitboot,preboot-check");
+ config->preboot_check_enabled = !val || strcmp(val, "false");
}
static char *interface_config_str(void *ctx, struct interface_config *config)
OpenPOWER on IntegriCloud