blob: 0f68beeb2348d746e634dc929e3a60f5bce1cdd6 [file] [log] [blame]
Aaron Durbin0424c952015-03-28 23:56:22 -05001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright 2015 Google Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc.
18 */
19
20#ifndef _FMAP_H_
21#define _FMAP_H_
22
Aaron Durbindc9f5cd2015-09-08 13:34:43 -050023#include <commonlib/region.h>
24#include <commonlib/fmap_serialized.h>
Aaron Durbin0424c952015-03-28 23:56:22 -050025
Patrick Georgi977587a2015-07-09 13:34:40 +020026/* Locate the fmap directory. Return 0 on success, < 0 on error. */
27int find_fmap_directory(struct region_device *fmrd);
28
Aaron Durbin0424c952015-03-28 23:56:22 -050029/* Locate the named area in the fmap and fill in a region device representing
30 * that area. The region is a sub-region of the readonly boot media. Return
31 * 0 on success, < 0 on error. */
32int fmap_locate_area_as_rdev(const char *name, struct region_device *area);
33
34/* Locate the named area in the fmap and fill in a region with the
35 * offset and size of that area within the boot media. Return 0 on success,
36 * < 0 on error. */
37int fmap_locate_area(const char *name, struct region *r);
38
Patrick Georgi99526902015-07-09 11:27:44 +020039/* Find fmap area name by offset and size.
40 * Return 0 on success, < 0 on error. */
41int fmap_find_region_name(const struct region * const ar,
42 char name[FMAP_STRLEN]);
Aaron Durbin0424c952015-03-28 23:56:22 -050043#endif