X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=discover%2Fplatform-powerpc.c;h=23e63c1be152bdbf7e1b4bc0cd3e0e69c4f20eda;hb=d171258160f7ed4756531f51e66fb116753bc990;hp=2b3b043489e889573d0033d8c354d5bffb39d8d4;hpb=757d3ed67988099a279fa4f05f07ace8bb3f7596;p=petitboot diff --git a/discover/platform-powerpc.c b/discover/platform-powerpc.c index 2b3b043..23e63c1 100644 --- a/discover/platform-powerpc.c +++ b/discover/platform-powerpc.c @@ -22,7 +22,7 @@ static const char *partition = "common"; static const char *sysparams_dir = "/sys/firmware/opal/sysparams/"; static const char *devtree_dir = "/proc/device-tree/"; -static const int ipmi_timeout = 500; /* milliseconds */ +static const int ipmi_timeout = 5000; /* milliseconds. */ struct param { char *name; @@ -53,6 +53,8 @@ static const char *known_params[] = { "petitboot,bootdevs", "petitboot,language", "petitboot,debug?", + "petitboot,write?", + "petitboot,snapshots?", NULL, }; @@ -548,6 +550,14 @@ static void populate_config(struct platform_powerpc *platform, val = get_param(platform, "petitboot,debug?"); config->debug = val && !strcmp(val, "true"); } + + val = get_param(platform, "petitboot,write?"); + if (val) + config->allow_writes = !strcmp(val, "true"); + + val = get_param(platform, "petitboot,snapshots?"); + if (val) + config->disable_snapshots = !strcmp(val, "false"); } static char *iface_config_str(void *ctx, struct interface_config *config) @@ -707,6 +717,12 @@ static int update_config(struct platform_powerpc *platform, val = config->lang ?: ""; update_string_config(platform, "petitboot,language", val); + if (config->allow_writes == defaults->allow_writes) + val = ""; + else + val = config->allow_writes ? "true" : "false"; + update_string_config(platform, "petitboot,write?", val); + update_network_config(platform, config); update_bootdev_config(platform, config);