summaryrefslogtreecommitdiffstats
path: root/src/commonlib/bsd/include/commonlib/bsd/elog.h
diff options
context:
space:
mode:
authorRicardo Quesada <ricardoq@google.com>2021-07-16 16:42:59 -0700
committerPaul Fagerburg <pfagerburg@chromium.org>2021-08-04 15:15:55 +0000
commitd45e70c124b9904c7a7d13aad32de99206714d7b (patch)
tree7395793fa13be8d08dcf8911293c109002a29d11 /src/commonlib/bsd/include/commonlib/bsd/elog.h
parent470ca5714f523517087099317ba08ef5fe532ddc (diff)
downloadcoreboot-d45e70c124b9904c7a7d13aad32de99206714d7b.tar.gz
coreboot-d45e70c124b9904c7a7d13aad32de99206714d7b.tar.bz2
coreboot-d45e70c124b9904c7a7d13aad32de99206714d7b.zip
Move elog_internal.h to commonlib/bsd/include
Move elog_internal.h to commonlib/bsd/include/bsd/. And rename it from elog_internal.h to elog.h. Since this file will be included from util/ it also converts the "uNN" types into "uintNN_t" types. The two defines that are not used by util/ are moved to drivers/elog/elog.c, the only file that includes them. Move also the function elog_verify_header() from drivers/elog/, to commonlib/bsd/elog.c since this function will be called from util/ as well. The rationale behind moving elog's defines & structs to commonlib/bsd/include is to make them available to util/ tools and/or payloads (should it be needed in the future). The files that are being relicensed to BSD were coded by Duncan Laurie, and he is Ok with the relicense. BUG=b:172210863 Signed-off-by: Ricardo Quesada <ricardoq@google.com> Change-Id: Ia1aefea705ddd417a1d9e978bb18ab6d9a60cad6 Reviewed-on: https://review.coreboot.org/c/coreboot/+/56404 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Diffstat (limited to 'src/commonlib/bsd/include/commonlib/bsd/elog.h')
-rw-r--r--src/commonlib/bsd/include/commonlib/bsd/elog.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/commonlib/bsd/include/commonlib/bsd/elog.h b/src/commonlib/bsd/include/commonlib/bsd/elog.h
new file mode 100644
index 000000000000..6c58557fbef3
--- /dev/null
+++ b/src/commonlib/bsd/include/commonlib/bsd/elog.h
@@ -0,0 +1,39 @@
+/* SPDX-License-Identifier: BSD-3-Clause */
+
+#ifndef _COMMONLIB_BSD_ELOG_H_
+#define _COMMONLIB_BSD_ELOG_H_
+
+#include <inttypes.h>
+
+#include <commonlib/bsd/cb_err.h>
+
+/* ELOG header */
+struct elog_header {
+ uint32_t magic;
+ uint8_t version;
+ uint8_t header_size;
+ uint8_t reserved[2];
+} __packed;
+
+/* ELOG related constants */
+#define ELOG_SIGNATURE 0x474f4c45 /* 'ELOG' */
+#define ELOG_VERSION 1
+
+/* SMBIOS event log header */
+struct event_header {
+ uint8_t type;
+ uint8_t length;
+ uint8_t year;
+ uint8_t month;
+ uint8_t day;
+ uint8_t hour;
+ uint8_t minute;
+ uint8_t second;
+} __packed;
+
+/* SMBIOS Type 15 related constants */
+#define ELOG_HEADER_TYPE_OEM 0x88
+
+enum cb_err elog_verify_header(const struct elog_header *header);
+
+#endif /* _COMMONLIB_BSD_ELOG_H_ */