diff options
Diffstat (limited to 'include/chromeos/fmap.h')
-rw-r--r-- | include/chromeos/fmap.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/include/chromeos/fmap.h b/include/chromeos/fmap.h new file mode 100644 index 00000000000..37efc4b1284 --- /dev/null +++ b/include/chromeos/fmap.h @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2011 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + * + * Alternatively, this software may be distributed under the terms of the + * GNU General Public License ("GPL") version 2 as published by the Free + * Software Foundation. + */ + +#ifndef CHROMEOS_FMAP_H_ +#define CHROMEOS_FMAP_H_ + +/* Structures to hold Chrome OS specific configuration from the FMAP. */ + +struct fmap_entry { + uint32_t offset; + uint32_t length; +}; + +struct fmap_firmware_entry { + struct fmap_entry boot; /* U-Boot */ + struct fmap_entry vblock; + struct fmap_entry firmware_id; + uint64_t block_lba; +}; + +/* + * Only sections that are used during booting are put here. More sections will + * be added if required. + */ +struct twostop_fmap { + struct { + struct fmap_entry fmap; + struct fmap_entry gbb; + struct fmap_entry firmware_id; + } readonly; + + struct fmap_firmware_entry readwrite_a; + struct fmap_firmware_entry readwrite_b; +}; + +void dump_fmap(struct twostop_fmap *config); + +#endif /* CHROMEOS_FMAP_H_ */ |