Loading...
Note: File does not exist in v3.1.
1/*
2 * coreboot_table.h
3 *
4 * Internal header for coreboot table access.
5 *
6 * Copyright 2017 Google Inc.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License v2.0 as published by
10 * the Free Software Foundation.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 */
17
18#ifndef __COREBOOT_TABLE_H
19#define __COREBOOT_TABLE_H
20
21#include <linux/io.h>
22
23/* List of coreboot entry structures that is used */
24struct lb_cbmem_ref {
25 uint32_t tag;
26 uint32_t size;
27
28 uint64_t cbmem_addr;
29};
30
31/* Coreboot table header structure */
32struct coreboot_table_header {
33 char signature[4];
34 u32 header_bytes;
35 u32 header_checksum;
36 u32 table_bytes;
37 u32 table_checksum;
38 u32 table_entries;
39};
40
41/* Retrieve coreboot table entry with tag *tag* and copy it to data */
42int coreboot_table_find(int tag, void *data, size_t data_size);
43
44/* Initialize coreboot table module given a pointer to iomem */
45int coreboot_table_init(void __iomem *ptr);
46
47/* Cleanup coreboot table module */
48int coreboot_table_exit(void);
49
50#endif /* __COREBOOT_TABLE_H */