xref: /openbmc/u-boot/cmd/config.c (revision cf4c34486d633c9e168475bd318ef67ff821063b)
1  /*
2   * Copyright (C) 2017 Masahiro Yamada <yamada.masahiro@socionext.com>
3   *
4   * SPDX-License-Identifier:	GPL-2.0+
5   */
6  
7  #include <common.h>
8  #include <command.h>
9  #include <malloc.h>
10  
11  #include "config_data_gz.h"
12  #include "config_data_size.h"
13  
14  static int do_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
15  {
16  	char *dst;
17  	unsigned long len = data_size;
18  	int ret = CMD_RET_SUCCESS;
19  
20  	dst = malloc(data_size + 1);
21  	if (!dst)
22  		return CMD_RET_FAILURE;
23  
24  	ret = gunzip(dst, data_size, (unsigned char *)data_gz, &len);
25  	if (ret) {
26  		printf("failed to uncompress .config data\n");
27  		ret = CMD_RET_FAILURE;
28  		goto free;
29  	}
30  
31  	dst[data_size] = 0;
32  	puts(dst);
33  
34  free:
35  	free(dst);
36  
37  	return ret;
38  }
39  
40  U_BOOT_CMD(
41  	config, 1, 1, do_config,
42  	"print .config",
43  	""
44  );
45