static const char *devtree_dir = "/proc/device-tree/";
struct platform_powerpc {
- struct param_list params;
+ struct param_list *params;
struct ipmi *ipmi;
- bool ipmi_bootdev_persistent;
int (*get_ipmi_bootdev)(
struct platform_powerpc *platform,
uint8_t *bootdev, bool *persistent);
if (namelen == 0)
continue;
- if (!param_list_is_known_n(&platform->params, name, namelen))
+ if (!param_list_is_known_n(platform->params, name, namelen))
continue;
*value = '\0';
value++;
- param_list_set(&platform->params, name, value, false);
+ param_list_set(platform->params, name, value, false);
}
return 0;
process->path = "nvram";
process->argv = argv;
- param_list_for_each(&platform->params, param) {
+ param_list_for_each(platform->params, param) {
char *paramstr;
if (!param->modified)
{
uint16_t resp_len;
uint8_t resp[8];
+ char *debug_buf;
int rc;
uint8_t req[] = {
0x05, /* parameter selector: boot flags */
return -1;
}
- pb_debug("IPMI get_bootdev response:\n");
- for (int i = 0; i < resp_len; i++)
- pb_debug("%x ", resp[i]);
- pb_debug("\n");
+ debug_buf = format_buffer(platform, resp, resp_len);
+ pb_debug_fn("IPMI get_bootdev response:\n%s\n", debug_buf);
+ talloc_free(debug_buf);
if (resp[0] != 0) {
pb_log("platform: non-zero completion code %d from IPMI req\n",
uint16_t min_len = 12, resp_len = 53, version;
const uint32_t magic_value = 0x21706221;
uint8_t resp[resp_len];
+ char *debug_buf;
uint32_t cookie;
bool persistent;
int i, rc;
resp, &resp_len,
ipmi_timeout);
- pb_debug("IPMI net override resp [%d][%d]:\n", rc, resp_len);
- if (resp_len > 0) {
- for (i = 0; i < resp_len; i++) {
- pb_debug(" %02x", resp[i]);
- if (i && (i + 1) % 16 == 0 && i != resp_len - 1)
- pb_debug("\n");
- else if (i && (i + 1) % 8 == 0)
- pb_debug(" ");
- }
- pb_debug("\n");
- }
+ debug_buf = format_buffer(platform, resp, resp_len);
+ pb_debug_fn("IPMI net override response:\n%s\n", debug_buf);
+ talloc_free(debug_buf);
if (rc) {
pb_debug("IPMI network config option unavailable\n");
if (!rc && persistent) {
/* Write this new config to NVRAM */
- params_update_network_values(&platform->params,
+ params_update_network_values(platform->params,
"petitboot,network", config);
rc = write_nvram(platform);
if (rc)
if (rc)
pb_log_fn("Failed to parse nvram\n");
- config_populate_all(config, &platform->params);
+ config_populate_all(config, platform->params);
if (platform->get_ipmi_bootdev) {
bool bootdev_persistent;
defaults = talloc_zero(platform, struct config);
config_set_defaults(defaults);
- params_update_all(&platform->params, config, defaults);
+ params_update_all(platform->params, config, defaults);
talloc_free(defaults);
return write_nvram(platform);
return false;
platform = talloc_zero(ctx, struct platform_powerpc);
- param_list_init(&platform->params, common_known_params());
+ platform->params = talloc_zero(platform, struct param_list);
+ param_list_init(platform->params, common_known_params());
p->platform_data = platform;