+ rc = parse_ipmi_interface_override(config, &resp[i], resp_len - i);
+
+ if (!rc && persistent) {
+ /* Write this new config to NVRAM */
+ update_network_config(platform, config);
+ rc = write_nvram(platform);
+ if (rc)
+ pb_log("platform: Failed to save persistent interface override\n");
+ }
+}
+
+static void get_active_consoles(struct config *config)
+{
+ struct stat sbuf;
+ char *fsp_prop = NULL;
+
+ config->n_tty = 2;
+ config->tty_list = talloc_array(config, char *, config->n_tty);
+ if (!config->tty_list)
+ goto err;
+
+ config->tty_list[0] = talloc_asprintf(config->tty_list,
+ "/dev/hvc0 [IPMI / Serial]");
+ config->tty_list[1] = talloc_asprintf(config->tty_list,
+ "/dev/tty1 [VGA]");
+
+ fsp_prop = talloc_asprintf(config, "%sfsps", devtree_dir);
+ if (stat(fsp_prop, &sbuf) == 0) {
+ /* FSP based machines also have a separate serial console */
+ config->tty_list = talloc_realloc(config, config->tty_list,
+ char *, config->n_tty + 1);
+ if (!config->tty_list)
+ goto err;
+ config->tty_list[config->n_tty++] = talloc_asprintf(
+ config->tty_list,
+ "/dev/hvc1 [Serial]");
+ }
+
+ return;
+err:
+ config->n_tty = 0;
+ pb_log("Failed to allocate memory for tty_list\n");