config->n_autoboot_opts = n_new;
}
-static void set_proxy_variables(struct config *config)
-{
- if (config->http_proxy)
- setenv("http_proxy", config->http_proxy, 1);
- else
- unsetenv("http_proxy");
-
- if (config->https_proxy)
- setenv("https_proxy", config->https_proxy, 1);
- else
- unsetenv("https_proxy");
-}
-
static void populate_config(struct platform_powerpc *platform,
struct config *config)
{
val = get_param(platform, "petitboot,https_proxy");
if (val)
config->https_proxy = talloc_strdup(config, val);
- set_proxy_variables(config);
}
static char *iface_config_str(void *ctx, struct interface_config *config)
update_string_config(platform, "petitboot,http_proxy", val);
val = config->https_proxy ?: "";
update_string_config(platform, "petitboot,https_proxy", val);
- set_proxy_variables(config);
update_network_config(platform, config);
struct platform_powerpc *platform = p->platform_data;
uint16_t resp_len = 16;
uint8_t resp[16], bcd;
- uint32_t aux_version;
int i, rc;
/* Retrieve info from current side */
pb_debug("\n");
}
- if (rc == 0 && resp_len == 16) {
+ if (rc == 0 && (resp_len == 12 || resp_len == 16)) {
info->bmc_current = talloc_array(info, char *, 4);
info->n_bmc_current = 4;
resp[2]);
bcd = resp[4] & 0x0f;
bcd += 10 * (resp[4] >> 4);
- memcpy(&aux_version, &resp[12], sizeof(aux_version));
+ /* rev1.rev2.aux_revision */
info->bmc_current[2] = talloc_asprintf(info,
- "Firmware version: %u.%02u.%05u",
- resp[3], bcd, aux_version);
+ "Firmware version: %u.%02u",
+ resp[3], bcd);
+ if (resp_len == 16) {
+ info->bmc_current[2] = talloc_asprintf_append(
+ info->bmc_current[2],
+ ".%02x%02x%02x%02x",
+ resp[12], resp[13], resp[14], resp[15]);
+ }
bcd = resp[5] & 0x0f;
bcd += 10 * (resp[5] >> 4);
info->bmc_current[3] = talloc_asprintf(info, "IPMI version: %u",
pb_debug("\n");
}
- if (rc == 0 && resp_len == 16) {
+ if (rc == 0 && (resp_len == 12 || resp_len == 16)) {
info->bmc_golden = talloc_array(info, char *, 4);
info->n_bmc_golden = 4;
resp[2]);
bcd = resp[4] & 0x0f;
bcd += 10 * (resp[4] >> 4);
- memcpy(&aux_version, &resp[12], sizeof(aux_version));
+ /* rev1.rev2.aux_revision */
info->bmc_golden[2] = talloc_asprintf(info,
- "Firmware version: %u.%02u.%u",
- resp[3], bcd, aux_version);
+ "Firmware version: %u.%02u",
+ resp[3], bcd);
+ if (resp_len == 16) {
+ info->bmc_golden[2] = talloc_asprintf_append(
+ info->bmc_golden[2],
+ ".%02x%02x%02x%02x",
+ resp[12], resp[13], resp[14], resp[15]);
+ }
bcd = resp[5] & 0x0f;
bcd += 10 * (resp[5] >> 4);
info->bmc_golden[3] = talloc_asprintf(info, "IPMI version: %u",
rc = parse_nvram(platform);
if (rc)
- return rc;
+ pb_log("%s: Failed to parse nvram\n", __func__);
populate_config(platform, config);