MCPcopy Create free account
hub / github.com/coreboot/coreboot / fmap_print

Function fmap_print

util/cbfstool/flashmap/fmap.c:160–218  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

158}
159
160int fmap_print(const struct fmap *fmap)
161{
162 int i;
163 struct kv_pair *kv = NULL;
164 const uint8_t *tmp;
165
166 kv = kv_pair_new();
167 if (!kv)
168 return -1;
169
170 tmp = fmap->signature;
171 kv_pair_fmt(kv, "fmap_signature",
172 "0x%02x%02x%02x%02x%02x%02x%02x%02x",
173 tmp[0], tmp[1], tmp[2], tmp[3],
174 tmp[4], tmp[5], tmp[6], tmp[7]);
175 kv_pair_fmt(kv, "fmap_ver_major", "%d", fmap->ver_major);
176 kv_pair_fmt(kv, "fmap_ver_minor","%d", fmap->ver_minor);
177 kv_pair_fmt(kv, "fmap_base", "0x%016llx",
178 (unsigned long long)le64toh(fmap->base));
179 kv_pair_fmt(kv, "fmap_size", "0x%04x", le32toh(fmap->size));
180 kv_pair_fmt(kv, "fmap_name", "%s", fmap->name);
181 kv_pair_fmt(kv, "fmap_nareas", "%d", le16toh(fmap->nareas));
182 kv_pair_print(kv);
183 kv_pair_free(kv);
184
185 for (i = 0; i < le16toh(fmap->nareas); i++) {
186 struct kv_pair *pair;
187 uint16_t flags;
188 char *str;
189
190 pair = kv_pair_new();
191 if (!pair)
192 return -1;
193
194 kv_pair_fmt(pair, "area_offset", "0x%08x",
195 le32toh(fmap->areas[i].offset));
196 kv_pair_fmt(pair, "area_size", "0x%08x",
197 le32toh(fmap->areas[i].size));
198 kv_pair_fmt(pair, "area_name", "%s",
199 fmap->areas[i].name);
200 kv_pair_fmt(pair, "area_flags_raw", "0x%02x",
201 le16toh(fmap->areas[i].flags));
202
203 /* Print descriptive strings for flags rather than the field */
204 flags = le16toh(fmap->areas[i].flags);
205 str = fmap_flags_to_string(flags);
206 if (str == NULL) {
207 kv_pair_free(pair);
208 return -1;
209 }
210 kv_pair_fmt(pair, "area_flags", "%s", str);
211 free(str);
212
213 kv_pair_print(pair);
214 kv_pair_free(pair);
215 }
216
217 return 0;

Callers 3

rom_set_pd_fw_ptrFunction · 0.85
fmap_print_testFunction · 0.85
rom_set_ec_fw_ptrFunction · 0.85

Calls 6

kv_pair_newFunction · 0.85
kv_pair_fmtFunction · 0.85
kv_pair_printFunction · 0.85
kv_pair_freeFunction · 0.85
fmap_flags_to_stringFunction · 0.85
freeFunction · 0.50

Tested by 1

fmap_print_testFunction · 0.68